进行数组公式查找

Doing an array formula lookup

我有这样一个数据列表:

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

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

Name  
Jane 
Sisqo 
Jill  

我有的是:

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

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

此时应找到 400 或以下的最小数字行。

那么索引函数应该是

index(a2:b6, 3, 1)

第一个 one.Except 我只得到

姓名
鲍勃 鲍勃

那么错误在哪里呢?

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

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

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