{=MATCH(,0/FIND(B2,A$1:A$100),)} 这是excel数组公式,实现在a1:a100区域查找包含B2的单元格,返回该单元格的行号。能正常实现目的,只是我不明白为什么这样可以算出来,同样的公式表达式如果不是数组公式又会出错,而且match的函数的第1、3个参数都省略了,只有第二个参数0/FIND(B2,A$1:A$100),这个参数也跟平时的公式不太一样的,呵呵,实在是搞不明白,只有拜托各位了:)
有点明白了,FIND(B2,A$1:A$100)是不是这样理解:你说的返回结果是由TRUE、FALSE组成的数组,这里有100个单元格查找,就有100个值,所以我直接显示其结果{=FIND(B2,A$1:A$100)}显示的是#VALUE! 有没有办法把这个数组显示出来?
追答不好意思,上面所说的不对,FIND(B2,A$1:A$100)返回的是数值和错误值组成的数组。
0/数值,返回0;0/错误值,返回错误值。
一个单元格只能显示数组中的一个元素,无法显示整个数组。
在编辑栏中,选中公式的这一部分,按F9,你可以看到数组的值。(数组元素不超过100个时,可以显示)
请问第二个参数0/FIND(B2,A$1:A$100)是什么回事?
追答find(B2,A1:A100)
只会得出两种结果, 实际数值或错误值
0/find(B2,A1:A100)
相当于拿0来除以这个结果
0除以任何数值得0
而0除以任何错误值,仍然是错误值
那么用MATCH查找0的第一个位置就有效了