一对多查询,Vlookup,Filter,Textjoin公式,你喜欢哪种

yumo6666个月前 (05-18)技术文章67

举个工作中的例子,左边的数据是公司员工各部门的名单数据,现在我们需要根据部门,把所有员工姓名查找出来,这就是一对多查询问题

今天我们分享3种方法来解决,分别用到的公式是VLOOKUP,FLITER,TEXTJOIN公式

方法一:使用Vlookup公式

使用vlookup公式前,我们需要建立一个辅助列,我们在部门前插入一列,然后输入的公式是:

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

运用的是累计计数原理,分别连接了各个部门出现的第几次

那我们需要查找出各个部门的员工信息,则需使用公式:

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

Column函数返回单元格值的列标,向右填充时,会自动的变成1,2,3,4

最后我们为了屏蔽错误值,会加上IFNA公式:

=IFNA(VLOOKUP($E2&COLUMN(A1),$A:$C,3,0),"")

方法二:使用FILTER公式

Filter是个筛选函数,类似于筛选的用法,当我们输入公式:

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

表示返回B列的结果,筛选范围是A列,筛选值是D2,通过溢出功能,得到的结果是一个纵向的数组

那我们需要对数组进行转置一下,则输入的公式是:

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

向下填充,得到了所有的结果,无须辅助列,也无需嵌套IFERROR公式就得到了结果

方法三:使用Textjoin公式

以上的员工结果都是在多个单元格中显示的,如果我们想把所有员工在一个单元格中显示,并且用顿号分开,则我们只需要一个公式搞定:

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

第一个参数表示分隔符号,这里我们用的顿号

第二个参数表示,是否忽略空白值,这里用的TRUE,进行忽略

第三个参数表示哪些文本需要连接,因为这里是分部门的,所以我们用IF来判断,保留了对应部门的员工姓名,从而进行了连接

关于上面3个公式,你都学会了么,更喜欢用哪种?

相关文章

Excel公式:行(ROW)、列(COLUMN)及Vlookup函数的使用

一、ROW函数含义:返回引用的行号。即通过ROW函数来获取所在行的行号数据。使用方法:1、ROW() 直接ROW后面加空括号,注意是英文半角字符。 2、ROW(A1) 在空括号中写指定的单元格,如A...

Excel 函数讲解:COLUMNS 函数,批量掌握列数技巧

常用函数系列教学:ExcelCOLUMNS函数讲解(56)。不懂COLUMNS函数,怎么借列数实现高效数据管理?闲话少叙,直接开讲。基本含义:COLUMNS函数用于计算指定数组或单元格区域的列数,如何...

Excel函数之列函数COLUMN和COLUMNS

COLUMN一般用来返回当前的列数就是属于第几列第几列COLUMNS用来返回选中的区域中的列数另外有些函数简单不代表它用途小,主要看你怎么用,先学会再根据函数的特性组合形成新的功能,或者符合你需求的功...

值得收藏的10组Excel公式,可直接套用,快速提高工作效率

Hello,大家好,今天跟大家分享10组日常工作中经常需要用到的Excel公式组合,大家如果遇到类似的问题,更改数据区域,直接套用即可,废话不多说,让我们直接开始吧想要从零学习Excel,可以点击上方...

职场人必备的15个excel函数公式,简单易懂,快速提高工作效率

Hello.大家好,今天跟大家分享15个Excel函数公式,都是我们工作中经常用到的公式,工作中遇到类似的问题,可直接套用,快速提高工作效率,话不多说,下面就让我们来一起学习下吧1. 身份证号码提取出...

老板让我制作五星评定,我不会,同事说用excel三步就能搞定

Hello,大家好,今天跟大家分享下,我们如何在excel制作星级评定,效果如下图,在这里我们是使用条件格式制作的,因为使用条件格式设置这样的效果,我们还可以设置半颗星星的效果,它的操作也并不难,下面...