进行数组公式查找
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 将在公式周围放置 {}
。
我有这样一个数据列表:
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 将在公式周围放置 {}
。