如果我的单元格中混合有数字和非数字字符,我可以使用以下命令找到第一个数字字符的位置:
=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)}