Excel公式,一对多查找,Vlookup公式也能轻松匹配了

B站影视 港台电影 2025-08-08 20:00 1

摘要:如果我们直接使用Vlookup公式,它得到的结果,只会是第1次出现的结果:

左边是公司的业务服务范围,省份和城市,它是两列展示的

现在我们需要快速查找匹配出省份对应的城市有哪些

因为一个省份,会有多个城市的对应,

如果我们直接使用Vlookup公式,它得到的结果,只会是第1次出现的结果:

=VLOOKUP(E2,A:B,2,0)

小编分享3种方法可以快速的进行一对多的提取

Filter公式的出现,彻底简化了各种一对比查找匹配的问题

它的用法是:=Filter(筛选的条件,包含的条件)

这里的话,我们包含的条件是,在A列里面, 查找E2 单元格的值,返回对应B列的结果

所以可以输入的公式是:

=FILTER(B:B,A:A=E2)

因为它筛选出来4条结果,这个公式也会得到4行结果,会自动溢出到下方的单元格

然后我们只需要将它们拼接起来就可以,使用textjoin公式可以对数据进行拼接

所以,我们使用的公式是:

=TEXTJOIN(",",TRUE,FILTER(B:B,A:A=E2))

第一参数表示拼接字符,这里用的逗号

第二参数填True,表示忽略空白单元格

第三参数,就是需要连接的单元格

向下填充,就得到了所有的结果:

我们输入的公式是:

=TEXTJOIN(",",TRUE,IF(A:A=E2,B:B,""))

首先用If函数判断,它是否等于A列的值,如果等于的话,就返回对应B列的结果,否则返回空白

然后Textjoin的第2参数,True,它可以忽略空白值,进行拼接

得到了所有的结果

假如你对Vlookup仍然保持有情怀,想用它来进行查找匹配

那我们可以搭配Groupby公式来实现

我们输入的公式是:

=VLOOKUP(E2,GROUPBY(A2:A13,B2:B13,ARRAYTOTEXT),2,0)

第1参数查找值E2单元格

第2参数是用Groupby公式构建的一个数据源

第3参数,是查找第2列

第4参数0表示精确查找

所以最难理解的是第2参数构成的数据源,它是一个分组计算的公式

我们单独输入这个公式,看它得到的结果:

=GROUPBY(A2:A13,B2:B13,ARRAYTOTEXT)

它就是对A列进行分组

用B列的数据进行计算

计算的方式是ARRAYTOTEXT,这种计算方式就是用逗号拼接文本

得到了一个类似数据透视表的数据源,我们用Vlookup引用这个数据源,就能查找到结果

关于这个小技巧,你学会了么?动手试试吧!

来源:Excel自学成才一点号

相关推荐