![](/img/trans.png)
[英]How i can add to existing cell additional text with modified font options in Microsoft Excel VBA
[英]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.