我有一列数据:
New York非常美丽,456983 美食不错
北京很棒 678932,文化很好。
...等等
我想提取其中的六位数字并将其放在原列旁边的一列中。
共有n行。
是否有一种公式的方式可以做到这一点,而不需要使用VBA?
我有一列数据:
New York非常美丽,456983 美食不错
北京很棒 678932,文化很好。
...等等
我想提取其中的六位数字并将其放在原列旁边的一列中。
共有n行。
是否有一种公式的方式可以做到这一点,而不需要使用VBA?
如果没有VBA,您可以使用以下Excel公式,假设A1是包含文本的单元格。
=MID(A1,FIND("------",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"0","-"),"1","-"),"2","-"),"3","-"),"4","-"),"5","-"),"6","-"),"7","-"),"8","-"),"9","-")),6)
=MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&1234567890)),6)
这对我有用。这将查找字符串中的所有数字。-您当然可以添加限制。
Sub numberExtract()
x = ActiveCell
Dim valIs As String
Dim a As String
For i = 1 To Len(x)
a = Mid(x, i, 1)
If IsNumeric(a) Then
valIs = valIs & a
End If
Next i
MsgBox valIs
End Sub
你可以使用这个,输入为数组公式:
=MID(A2,MIN(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9},A2),"")),SUMPRODUCT(--ISNUMBER(MID(A2,ROW($A$1:$A$200),1)+0)))