如何提取单元格字符串中的六位数字?
How to extract the six digit number in a cell string?
我有一列数据:
纽约真好,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(A2,MIN(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9},A2),"")),SUMPRODUCT(--ISNUMBER(MID(A2,ROW($A:$A0),1)+0)))
这对我有用。这将查找字符串中的所有数字。 - 您当然可以添加限制。
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(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&1234567890)),6)
我有一列数据:
纽约真好,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(A2,MIN(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9},A2),"")),SUMPRODUCT(--ISNUMBER(MID(A2,ROW($A:$A0),1)+0)))
这对我有用。这将查找字符串中的所有数字。 - 您当然可以添加限制。
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(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&1234567890)),6)