Excel:如何仅提取单元格字符串中存在的6位数字?

问题描述 投票:-1回答:4

我有一个包含以下数据的列(行方向):

纽约非常好,456983美食

北京很棒678932,文化很好。

......等等

我想只提取原始列中的6位数字,并将其放在按行排列的原始列旁边的另一列中

有n行......

没有VBA,有没有办法做到这一点?

请告诉我一些配方......

我不知道

excel excel-vba excel-formula excel-2007 vba
4个回答
1
投票

如果没有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)

0
投票

你可以使用它,输入数组公式:

=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)))

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&结束如果

    Next i
    MsgBox valIs
End Sub

0
投票

此公式适用于您的两个示例:

=MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&1234567890)),6)

© www.soinside.com 2019 - 2024. All rights reserved.