Excel:使用index和match垂直返回多个值
您可以使用以下基本公式结合 INDEX 和 MATCH 在 Excel 中垂直返回多个值:
=IFERROR(INDEX( $B$2:$B$11 ,SMALL(IF( $D$2 = $A$2:$A$11 ,ROW( $A$2:$A$11 )-ROW( $A$2 )+1), ROW( 1:1 )))),"")
此特定公式返回B2:B11范围内的所有值,其中A2:A11范围内的对应值等于单元格D2中的值。
下面的例子展示了如何在实践中使用这个公式。
示例:使用INDEX和MATCH垂直返回多个值
假设我们在 Excel 中有以下数据集,其中显示了各种篮球运动员的姓名和球队:
现在假设我们要返回小牛队中每个球员的姓名。
为此,我们可以在单元格E2中键入以下公式:
=IFERROR(INDEX( $B$2:$B$11 ,SMALL(IF( $D$2 = $A$2:$A$11 ,ROW( $A$2:$A$11 )-ROW( $A$2 )+1), ROW( 1:1 )))),"")
一旦我们按下Enter ,第一个小牛队球员的名字将被返回:
然后,我们可以将此公式拖动并填充到 E 列中的其余单元格,以显示小牛队中每个球员的姓名:
请注意,现在显示了小牛队四名球员的姓名。
请注意,如果您更改单元格D2中的球队名称,则 E 列中显示的球员姓名也会相应更改:
现在篮网队三名球员的名字都显示出来了。
其他资源
以下教程说明如何在 Excel 中执行其他常见任务:
Excel:如何使用两个查找值执行 VLOOKUP
Excel:如何使用 VLOOKUP 返回多列
Excel:如何使用 VLOOKUP 返回所有匹配项