将字符串拆分为字母和数字组件

时间:2014-01-23 04:27:53

标签: excel excel-formula excel-2013

我正在使用Excel 2013.我想修剪Excel中以数字结尾的“单词”,例如:

david22
yuvi1
michell555

导致:

david   22
yuvi    1
michell 555

有人可以帮忙吗?

4 个答案:

答案 0 :(得分:1)

如果你不想使用vba,你应该试试这个:

我假设您的数据位于 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)

,然后

B栏中使用以下公式并将其拖到最后。

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

希望这有帮助

附件是截图供您参考。

enter image description here

一些警告:

1) - A列中的输入字符串必须短于25个字符

2) - 输入字符串中最多必须有14位数字。 (以下任何数字都将显示为零。)

但对于这个问题,你问它应该完全正常。

答案 1 :(得分:0)

网上有很多例子。

假设您在A列中有一个带有标题的数据..

以下工作分割b列中的文本,c列中的数字

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

答案 2 :(得分:0)

将Word作为无格式文本复制并粘贴到Word中。使用通配符查找内容:([A-z])([0-9])并将全部替换为替换为:\1 \2。将结果复制回Excel并将文本应用于以空格作为分隔符的列。

答案 3 :(得分:0)

文本编辑器Vi或Vim可以完成这项工作。

第1行:age231

第2行:open432

第3行:bit042

命令模式中的命令1,3s/\(\D\)\(\d\)/\1\t\2/g可以执行您想要的操作。