分享

Excel一对多查询,Vlookup公式过时,Filter或Textjoin秒杀

 若小安h54u7cle 2023-07-11 发布于福建

举一个工作中的一对多查询案例,比如左边是各个不同部门的员工名单,现在我们需要根据部门名称,把所有员工列出来,这就是典型的一对多查询

Excel一对多查询,Vlookup公式过时,Filter或Textjoin秒杀

1、传统VLOOKUP公式

首先要建立辅助项,输入公式得到累计计数的结果和原数据连接起来

=COUNTIFS($B$2:B2,B2)&B2

Excel一对多查询,Vlookup公式过时,Filter或Textjoin秒杀

然后我们需要使用公式:

=IFERROR(VLOOKUP(COLUMN(A1)&$E2,$A:$C,3,0),'')

向右填充,向下填充,得到结果

相当而言较为复杂

Excel一对多查询,Vlookup公式过时,Filter或Textjoin秒杀

2、新公式Filter

这是高版本的Excel里面才有的函数公式,其用法是:

=Filter(筛选区域,筛选条件,无结果时返回值)

所以这里,我们对市场部员工进行筛选,我们输入公式:

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

它会一次性的把所有姓名筛选出来,通过新版本自带的数据溢出,它会竖向的陈列结果

Excel一对多查询,Vlookup公式过时,Filter或Textjoin秒杀

那我们需要使用转置公式进行调整,输入的公式是:

=TRANSPOSE(FILTER(B:B,A:A=D2))

Excel一对多查询,Vlookup公式过时,Filter或Textjoin秒杀

3、Textjoin公式

如果说我们需要把所有的结果放在一个单元格里面,然后用逗号连接,

那使用TEXTJOIN公式是不二之选,它由三个参数组成,例如,当我们输入公式:

=TEXTJOIN('、',TRUE,B2:B3)

第1个参数是连接符,第2个参数表示是否忽略空白,第3个参数是要连接的文本

它会把B2:B3单元格的内容,忽略空白,用顿号连接起来

Excel一对多查询,Vlookup公式过时,Filter或Textjoin秒杀

所以如果我们需要根据部门一对多查询,就可以使用公式:

=TEXTJOIN('、',TRUE,IF(A:A=D2,B:B,''))

Excel一对多查询,Vlookup公式过时,Filter或Textjoin秒杀

是不是非常简单快捷,你学会了么?动手试试吧!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多