如何使用VLOOKUP来返回所有匹配的数据

2,485 阅读2分钟

默认情况下,Excel中的VLOOKUP函数会在一个范围内查找一些数值,并且只为第一个匹配项返回相应的数值。

然而,你可以使用下面的语法,在一个范围内查找某个值,并返回所有匹配的对应值:

=FILTER(C2:C11, E2=A2:A11)

这个特殊的公式在C2:C11范围内查找,对于C2:C11中的值等于E2所有行,返回A2:A11范围内的相应值。

下面的例子显示了如何在实践中使用这种语法。

例子:使用VLOOKUP来返回所有的匹配值

假设我们在Excel中有以下数据集,显示了各种篮球队的信息:

假设我们用下面的公式用VLOOKUP查找A列中的球队 "火箭队",并返回C列中相应的分数值:

=VLOOKUP(E2, A2:C11, 3)

下面的屏幕截图显示了如何在实践中使用这个公式:

VLOOKUP函数在 "球队 "列中第一次出现 "火箭队 "时返回 "积分 "列中的数值,但它未能返回 "球队 "列中同样包含火箭队的其他两行的积分值。

为了返回所有在 "球队 "列中包含火箭队的行的积分值,我们可以使用FILTER函数来代替。

下面是我们可以使用的确切公式:

=FILTER(C2:C11, E2=A2:A11)

下面的截图显示了如何在实践中使用这个公式:

请注意,FILTER函数返回了 "球队 "列包含火箭队的三行的所有三个积分值:

相关的: Excel高级过滤器:如何使用 "包含 "一词

其他资源

下面的教程介绍了如何在Excel中执行其他常见的操作:

如何在Excel中使用VLOOKUP比较两个列表
如何在Excel中从多列中寻找唯一值
如何在Excel中过滤多列