VLOOKUP一对多查询

原创作者 | 李锐

微信公众号 | Excel函数与公式(ID:ExcelLiRui)

个人微信号 | (ID:ExcelLiRui520)

VLOOKUP一对多查询

VLOOKUP是大家常用的查找引用函数,当存在多个满足条件的数据时,它只能返回第一个匹配值,如果想把所有符合条件的数据都返回,应该怎么办呢?

今天就来介绍一下VLOOKUP一对多查询技术。

更多系统课程,点击文末“阅读原文”获取。

问题描述

下图数据源中,左侧AB两列为著作和里面的人物,现在要求根据D2选择的著作,将所有符合条件的数据都返回到E列。

由于每本著作中都包含多个人物,如果使用vlookup直接查询,只能返回第一个人物,如果想要借助Excel公式自动计算将所有该著作人物返回,应该怎么写公式呢?

方案一:使用多函数组合配合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这个公式可以解决问题,但过程太过繁杂。

下面咱们换个思路,继续向下看方案二。

方案二:使用INDEX+SMALL+IF经典组合

在E2单元格输入以下数组公式,按Ctrl+Shift+Enter

=INDEX(B:B,SMALL(IF(A$2:A$11=D$2,ROW($2:$11),4^8),ROW(A1)))&""

推荐使用方案二,同学们可以在工作中直接套用公式,解决一对多查询问题。

如果你觉得有用,就点右上角分享给朋友们看看吧~

(0)

相关推荐