查找字符串中的第一个非数字字符

查找字符串中的第一个非数字字符

如果我的单元格中混合有数字和非数字字符,我可以使用以下命令找到第一个数字字符的位置:

=MIN(IF(ISERROR(FIND({1;2;3;4;5;6;7;8;9;0},A1)),"",FIND({1;2;3;4;5;6;7;8;9;0},A1)))

例如:

在此处输入图片描述



我如何找到第一个非数字字符的位置?那么如果A1包含:

1234^H**^G

公式将返回5

答案1

试试这个:(必须用 ++Ctrl作为数组公式输入)ShiftEnter

{=MATCH(TRUE,ISERROR(VALUE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))),0)}

来源

答案2

出于兴趣,我将回答一个(近 10 年)老问题。我在浏览时偶然发现了这个问题,并想添加一个基于 ms365 中新的动态数组功能的替代方案:

=FIND(LEFT(@TEXTSPLIT(A1,ROW(1:10)-1,,1)),A1)

此外,对于那些使用原始答案中给出的构造的人来说;您可以使用非易失性方法删除INDIRECT()并使用:

{=MATCH(TRUE,ISERROR(--MID(A1,ROW(A1:INDEX(A:A,LEN(A1))),1)),0)}

相关内容