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

时间:2017-12-22 03:37:28

标签: excel excel-vba excel-formula excel-2007 vba

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

纽约非常好,456983美食

北京很棒678932,文化很好。

....等等

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

有n行...

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

请告诉我一些公式...

我不知道

4 个答案:

答案 0 :(得分: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)

答案 1 :(得分: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)))

答案 2 :(得分:0)

这对我有用。这将查找字符串中的所有数字。你当然可以添加限制     子编号提取()         x = ActiveCell         Dim valIs As String         Dim a As String         对于i = 1到Len(x)             a =中(x,i,1)             如果是IsNumeric(a)那么                 valIs = valIs&一个             结束如果

    Next i
    MsgBox valIs
End Sub

答案 3 :(得分:0)

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

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

相关问题