进行数组公式查找

时间:2016-11-10 21:01:37

标签: arrays excel excel-formula array-formulas

我有一个这样的数据列表:

Name   |    Number
Bob    |   300
Joe    |   200
Jane   |   400
Sisqo  |   450
Jill   |   500

这有大约62行,所有数字都可以不同,有些重复。我的目标是基本上添加一个列,其中包含400或以上的所有人员列表。所以它看起来像这样:

Name  
Jane 
Sisqo 
Jill  

我拥有的是:

{=iferror(INDEX($A$2:$B$6, SMALL(IF($B$2:$B$6 >= 400, $B$2:$B$6,), ROW(1:1)), 1), "")}

我想象的是: 1)小函数在范围b2:b6中查找,并且因为这是一个数组公式,所以查看B2:B6中的每个单元格以查看它是否大于或等于400。 2)我不确切知道如何,但我希望行函数只有在所考虑的单元格中的值大于或等于400时才能找到b2:b6的数组。如果没有找到任何内容,什么都没发生。 3)然后它运行比较小(b2:b6,1)以获得该范围内的最低值。然后当向下复制时,因为我使用的是row()函数,它会很小(b2:b6,2),小(b2:b6,3)等等。

此时应找到400或以下最低编号的行。

那么索引函数应该是

index(a2:b6, 3, 1)

第一个。除了我只是

名称
短发 鲍勃

那么错误在哪里?

1 个答案:

答案 0 :(得分:2)

我更喜欢以数组形式使用MATCH:

=IFERROR(INDEX($A$2:$A$6,MATCH(1,(COUNTIFS($E$1:E1,$A$2:$A$6)=0)*($B$2:$B$6>=400),0)),"")

作为数组公式,必须在退出编辑模式时使用Ctrl-shift-Enter而不是Enter确认。如果操作正确,那么Excel会将{}放在公式周围。

enter image description here