打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
17一对多查询?VLOOKUP当然也可以!
上期给大家聊了如何使用VLOOKUP进行一对一数据查询与匹配,这期再聊一下一对多查询

所谓一对多查询,顾名思义,就是符合条件的查询结果有多个。

我举个例子。

如下图所示,A:B是数据源。需要在F列查询E列普查员负责的小区代码,如果是负责多个小区,则将不同小区代码按逗号为分隔符合并成一个字符串


这种问题不同的Excel版本可以有不同的解法,但VLOOKUP函数的解法是通用的

步骤1:制作辅助列

C2单元格输入以下公式向下复制填充:

=B2&IFERROR(","& VLOOKUP(A2,A3:C20,3,0),"")

返回结果如下:


解释一下公式的意思。

VLOOKUP(A2,A3:C20,3,0)

VLOOKUP函数采用精确匹配的方式,查找范围是公式所在行的下一行开始到最后一行结束:A3:C20,返回A列数据在C列的对应内容。如果A列数据是唯一值或最后一条记录,VLOOKUP函数将返回错误值。

IFERROR(","& VLOOKUP(A2,A3:C20,3,0),"")

如果返回错误值,则使用IFERROR函数屏蔽为假空,否则返回正常结果。

 =B2&IFERROR(","& VLOOKUP(A2,A3:C20,3,0),"")

最后将B2单元格的小区代码和IFERROR函数返回的结果相连。

由于VLOOKUP具有存在多个匹配结果时,只取首个数据的特点;当公式向下复制填充时,下一层所计算的结果会被上一层公式所获取,最后就达到A列数据第一次出现时,在C列获取多个结果并合并的效果。

这有点儿像多层套娃,底层人民的劳动成果总是被上层人民富豪所掠夺……

步骤2:获取结果

在F2单元格输入以下公式即可获取最终结果:

=VLOOKUP(E2,A:C,3,0)


……

HI,朋友们,是不是对VLOOKUP函数又多了一层认识?

打个响指,如果你所使用的Excel版本是2019/2021或365,也可以不使用辅助列,在F2单元格输入以下公式即可:

=TEXTJOIN(",",1,IF($A$1:$A$20=E2,$B$1:$B$20,""))

……

再打个响指,如果查询的多个结果中包含重复值,需要取重获取唯一值,将辅助列的公式修改为如下即可:

保留唯一值 ▼
=IF(COUNTIFS(A$2:A2,A2,B$2:B2,B2)>1,"",B2)&IFERROR(","&VLOOKUP(A2,A3:C20,3,0),"")

如果不使用辅助列,365版本的Excel可以使用以下公式:

保留唯一值 ▼
=TEXTJOIN(",",1,UNIQUE(FILTER($B$2:$B$20,$A$2:$A$20=E2)))

……

没了,今天给大家分享的内容就这样,有啥问题可以在VIP会员群中提问交流,右下角点个赞,咱们下期再见。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VLOOKUP如何返回多个值?
VLOOKUP函数的7种典型用法详解!
Excel088 | VLOOKUP查找出现错误值,IFERROR函数来帮忙
详述Excel中“一对多”查询的两种方式,孰优孰劣一看便知
你会用VLOOKUP函数吗?集齐12种用法,最后一个83%的人还不会~
比Vlookup好用10倍, Xlookup 快用起来!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服