MS Excel:MIN 和 FIND/SEARCH

MS Excel:MIN 和 FIND/SEARCH

我正在尝试弄清楚 Excel 使用这两个函数到底做什么。

我在一列中有多行字符串。我想提取这些字符串中的第一个数字。第一个数字可以是 0、1、2、3...、9,字符串的总长度各不相同。我想找到第一个数字并返回它以及它之后的所有内容。我在谷歌上搜索如何找到字符串中的第一个数字时找到了以下代码,但我不明白它是如何工作的。我所做的唯一更改是在 IF 语句中添加了一个失败操作。

=MIN(IF(ISNUMBER(FIND({1,2,3,4,5,6,7,8,9,0},A1))=TRUE,FIND({1,2,3,4,5,6,7,8,9,0},A1),"N/A"))

当我读到它时,它说的是:在{1,2,3,4,5,6,7,8,9,0}我的字符串中找到数组中的任何数字吗?如果有,ISNUMBER() = TRUE则将通过,代码将执行第二个FIND()函数。然后它将第二个函数的结果FIND()(即字符串中所有数字的位置)传递给MIN()取最小值(即第一个位置)的函数。

可以正常工作,但我不明白的是,如果我不使用 IF 语句,它会出错#VALUE。换句话说,如果我这样做

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

我进入了#VALUE输出单元格。为什么?我只是把我能看到的 IF 语句去掉了。

有人能解释一下我这里遗漏了什么吗?这是 Excel 从函数传递信息的方式吗IF()

答案1

Min为您提供字符串中的最小数字A1,因此如果A1包含字母和数字(例如123text0Find而不包含If和,isnumeric()#value代替字符,并用数字代替数字。

MIN(IF(ISNUMBER(FIND({1,2,3,4,5,6,7,8,9,0},A1))=TRUE,FIND({1,2,3,4,5,6,7,8,9,0},A1),"N/A"))正在N/A代替#value并且Min将忽略文本N/A但不能忽略错误#value

If()正在测试Find()是否是数字,所以如果isnumeric是,true它会写入数字,如果不是,它会写入N/A Min(1,2,3,"N/A","N/A"..)=1,但是当你删除IfMin(1,2,3,#value,#value..)=#value

相关内容