默认情况下,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中执行其他常见的操作: