簡體   English   中英

修改了excel單元格中的文本?

[英]Modified the text in excel cell?

假設excel列中的文本是這樣的

column A
12-98764G1
13-5746FR2
14-123H1

我想把它改成兩列,比如

column B           column C
KK-12-98764        G1
KK-13-05746        FR2
KK-14-00123        H1

請問有什么想法嗎?

謝謝

在單元格B1輸入以下數組公式並使用Ctrl + Shift + Enter 確認

="KK-"&LEFT(A1,3)&TEXT(MID(A1,4,MATCH(1,ISERROR(VALUE(MID(MID(A1,4,99),ROW(OFFSET($A$1,,,LEN(MID(A1,4,99)))),1)))*1,)-1),"00000")

在單元格C1輸入以下數組公式並使用Ctrl + Shift + Enter 確認

=MID(A1,MATCH(1,ISERROR(VALUE(MID(MID(A1,4,99),ROW(OFFSET($A$1,,,LEN(MID(A1,4,99)))),1)))*1,)+3,99)

輸入這些公式后,根據需要向下復制。 為此,您需要在粘貼之前選擇第二行及以下。

編輯

要在 Excel for Mac 上確認數組公式,我相信鍵盤順序是:

CONTROL + U然后按 + RETURN

.

這是公式的工作原理

兩列公式的核心是一個子公式,它報告 A1 中第一個非數字字符的位置:

MATCH(1,ISERROR(VALUE(MID(A1,ROW(OFFSET($A$1,,,LEN(A1))),1)))*1,)

問題在於它總是會在位置三處找到“破折號”字符。 所以我們修改這個子公式以在“破折號”字符后開始搜索:

MATCH(1,ISERROR(VALUE(MID(MID(A1,4,99),ROW(OFFSET($A$1,,,LEN(MID(A1,4,99)))),1)))*1,)

一旦我們有了這個位置,它只是一個預先掛起的“KK-”和移動位來匹配你的模式的問題。 這很容易。 具有挑戰性的部分是找到第一個非數字字符。

唯一的其他問題是格式化破折號字符后的數字部分,使其始終包含五位數字。 這是通過為 TEXT() 函數提供“00000”格式字符串來完成的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM