2014-01-23 215 views

回答

1

你應該試試這個,如果你不想使用VBA:

我assumming你的數據在A柱,所以下面公式應保持在C色譜柱, 拖動此公式直到你的數據是否有列A

=+SUMPRODUCT(MID(0&A1,LARGE(INDEX(ISNUMBER(--MID(A1,ROW($1:$25),1))*ROW($1:$25),0),ROW($1:$25))+1,1)*10^ROW($1:$25)/10) 

THEN

請使用列B中的以下公式並將其拖至最後。

=LEFT(A1,SEARCH(C1,A1)-1) 

希望這有助於

附上截圖,供大家參考。

enter image description here

一些警告:

1) - 在列中的輸入字符串中的必須短於25個字符

2) - 必須有至多14個數字中輸入字符串。 (任何後面的數字將顯示爲零)。

但是對於你問的問題應該工作得很好。

0

有很多的網站提供的例子..

咱們說u必須在頭一列數據..

下面的工作拆分在C列在B列文字,數字

Sub Seperate() 
Dim r As Range, rC As Range 
Dim v As Variant 

Set r = Range("A2", Range("A2").End(xlDown)) 
With CreateObject("VBScript.RegExp") 
    .Pattern = "(\d+|\D+)" 
    .Global = True 
    For Each rC In r 
     v = Split(Mid(.Replace(rC.Value, "|$1"), 2), "|") 
     rC.Offset(, 1).Resize(, UBound(v) + 1).Value = v 
    Next rC 
End With 
End Sub 
0

複製並粘貼到Word作爲未格式化的文本。使用通配符查找內容:([A-z])([0-9])並用全部替換替換爲:\1 \2。將結果複製回Excel,並以空格作爲分隔符將文本應用於列。

0

文本編輯器Vi或Vim可以完成這項工作。

1號線:age231

2號線:open432

3號線:bit042

在命令模式下的命令1,3s/\(\D\)\(\d\)/\1\t\2/g可以做你想做的。