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 列中的其余单元格,以显示小牛队中每个球员的姓名:

INDEX和MATCH在Excel中垂直返回多个值

请注意,现在显示了小牛队四名球员的姓名。

请注意,如果您更改单元格D2中的球队名称,则 E 列中显示的球员姓名也会相应更改:

现在篮网队三名球员的名字都显示出来了。

其他资源

以下教程说明如何在 Excel 中执行其他常见任务:

Excel:如何使用两个查找值执行 VLOOKUP
Excel:如何使用 VLOOKUP 返回多列
Excel:如何使用 VLOOKUP 返回所有匹配项

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注