同学们都知道VLOOKUP函数的常规用法下,当有多个查找值满足条件时,只会返回从上往下找到的第一个值,那么如果我们需要VLOOKUP函数一对多查找时,返回查找到的多个值,有办法实现吗?
答案是肯定的。本文结合案例来图文详解使用VLOOKUP函数返回查找到的多个值的方法。
下面表格中左侧是数据源,当右侧D2单元格选择不同的著作时,需要黄色区域返回根据D2查找到的多个值。
在这里,我先给出遇到这种情况最常用的一个数组公式
E2单元格输入以下数组公式,按<Ctrl+Shift+Enter>组合键结束输入。
=INDEX(B:B,SMALL(IF(A$2:A$11=D$2,ROW($2:$11),4^8),ROW(A1)))&""
这是经典的一对多查找时使用的INDEX+SMALL+IF组合。
用VLOOKUP函数的公式,我也给出,E2输入数组公式,按<Ctrl+Shift+Enter>组合键结束输入。
=IF(COUNTIF(A$2:A$11,D$2)<ROW(A1),"",VLOOKUP(D$2&ROW(A1),IF({1,0},A$2:A$11&COUNTIF(INDIRECT("A2:A"&ROW($2:$11)),A$2:A$11),B$2:B$11),2,))
动画演示效果如下
扩展阅读
VLOOKUP函数的使用方法和操作实例
vlookup函数的使用方法_vlookup函数的操作实例