2015-09-05 30 views
-1

讓說,在Excel列的文字是這樣修改了excel單元格中的文字?

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

我想將它變成兩個欄,如

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

任何想法嗎?

由於

+0

當你說細胞你是指專欄?顯示你期望的結果而沒有邏輯背後的邏輯不是很有幫助,可以更新你的問題並解釋你想要做什麼? –

+0

感謝您糾正我。是的,它是列而不是單元格。我會修改它。 – pill45

回答

0

在細胞B1輸入以下數組公式,並用Ctrl鍵 + 移確認 + 輸入

="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 + 輸入

=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中爲Mac數組公式,我相信鍵盤順序是:

控制 + ü然後按 + RETURN

下面是如何式WORK

在公式兩列的心臟是一個子式,報告所述第一非數字字符的在A1的位置:

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

問題在於,它總是會在位置3找到'破折號'字符。因此,我們修改該子公式「破折號」字符後開始搜索:

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

一旦我們有了這個位置僅僅是一個事預未決的「KK-」和走動位匹配你的模式。這很容易。具有挑戰性的部分是找到第一個非數字字符。

唯一的其他皺紋是格式化破折號字符後面的數字部分,以便它總是包含五位數字。這是通過提供帶有「00000」格式字符串的TEXT()函數完成的。

+0

對不起,我通過將單元格更改爲列來略微修改了我的問題,以便其他人能夠理解,但我認爲其含義仍然相同。謝謝你的回覆。 – pill45

+0

我將數組公式粘貼到單元格B1和單元格C1中,兩個結果都是#N/A。我正在使用Excel for mac 2011.順便說一句,對於單元格B1中的數組公式,是A1還是A2(原始輸入文本在A1中)?因爲它與C1的數組公式不同,因爲它是A1而不是A2。 – pill45

+0

您需要在Mac上以不同方式確認公式條目。我相信這是:CONTROL + U然後按⌘+ RETURN –