帮我解释一下Excel数组公式{=MATCH(,0/FIND(B2,A$1:A$100),

问题描述:

帮我解释一下Excel数组公式{=MATCH(,0/FIND(B2,A$1:A$100),
{=MATCH(,0/FIND(B2,A$1:A$100),)} 这是excel数组公式,实现在a1:a100区域查找包含B2的单元格,返回该单元格的行号.能正常实现目的,只是我不明白为什么这样可以算出来,同样的公式表达式如果不是数组公式又会出错,而且match的函数的第1、3个参数都省略了,只有第二个参数0/FIND(B2,A$1:A$100),这个参数也跟平时的公式不太一样的,呵呵,实在是搞不明白,)
1个回答 分类:综合 2014-10-03

问题解答:

我来补答
两个省略的参数,EXCEL会认为是0,公式实际上是
=MATCH(0,0/FIND(B2,A$1:A$100),0)
FIND(B2,A$1:A$100)中,是在A1:A100搜索B2的值,有匹配值的返回TRUE,找不到的返回FALSE.结果为由TRUE、FALSE组成的数组.
0/数组,即0分别除以数组中的每一个元素,0/TRUE返回0,0/FALSE返回错误值.
MATCH在0和错误值组成的数组中,搜索0值,忽略错误值,返回第一个0值的位置,从而达到返回第一个符合条件的数据位置.
再问: 有点明白了,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个时,可以显示)
 
 
展开全文阅读
剩余:2000
上一页:解不等式