举一个工作中的一对多查询案例,比如左边是各个不同部门的员工名单,现在我们需要根据部门名称,把所有员工列出来,这就是典型的一对多查询
首先要建立辅助项,输入公式得到累计计数的结果和原数据连接起来
=COUNTIFS($B$2:B2,B2)&B2
然后我们需要使用公式:
=IFERROR(VLOOKUP(COLUMN(A1)&$E2,$A:$C,3,0),'')
向右填充,向下填充,得到结果
相当而言较为复杂
这是高版本的Excel里面才有的函数公式,其用法是:
=Filter(筛选区域,筛选条件,无结果时返回值)
所以这里,我们对市场部员工进行筛选,我们输入公式:
=FILTER(B:B,A:A=D2)
它会一次性的把所有姓名筛选出来,通过新版本自带的数据溢出,它会竖向的陈列结果
那我们需要使用转置公式进行调整,输入的公式是:
=TRANSPOSE(FILTER(B:B,A:A=D2))
如果说我们需要把所有的结果放在一个单元格里面,然后用逗号连接,
那使用TEXTJOIN公式是不二之选,它由三个参数组成,例如,当我们输入公式:
=TEXTJOIN('、',TRUE,B2:B3)
第1个参数是连接符,第2个参数表示是否忽略空白,第3个参数是要连接的文本
它会把B2:B3单元格的内容,忽略空白,用顿号连接起来
所以如果我们需要根据部门一对多查询,就可以使用公式:
=TEXTJOIN('、',TRUE,IF(A:A=D2,B:B,''))
是不是非常简单快捷,你学会了么?动手试试吧!
联系客服