Vlookup真的不是万能,毕竟都2023年了,新函数层出不穷,今天我们就来解决一个Excel中查找难题,相信很多人都遇到过。也是一个粉丝问到的问题

如下图,我们想要在左侧的表格中找到【1班与2班】对应的所有名字,并且把它们都放在1个单元格中,每个姓名与逗号隔开。

相信很多人的第一反应就是用Vlookup,但是它真的做不了。跟大家分享一个新的函数

一、TEXTJOIN函数

TEXTJOIN:它是一个数据链接函数,作用是使用分隔符将数据链接在一起

语法:=TEXTJOIN(分隔符, ignore_empty, text1, [text2], …)

第一参数:分隔符

第二参数:是否忽略空单元格,true代表忽略空值,false则不忽略空值

第三参数:要链接的本文

第四参数:要链接的文本

以此类推,最多可以设置252个需要链接的文本

用法很简单,如上图,我们想要使用逗号将【你】,【我】这两个字链接在一起

公式:=TEXTJOIN(",",TRUE,C3:D3)

第一参数是连接符逗号,第二参数一般都【TRUE】表示忽略空值,第三参数就是需要链接的数据区域

二、查询

想要实现上文提到的效果,我们还需要借助IF函数,先使用IF函数找到1班或者2班对应的所有名称,然后将其放在TEXTJOIN的第三参数中即可。

公式:=TEXTJOIN(",",TRUE,IF($B$2:$B$16=E6,$C$2:$C$16,""))

在这里关键就是IF函数,它的作用是判断班级是不是等于1班,如果条件成立就返回班级对应的名字,如果条件不成立就返回空值

公式:IF($B$2:$B$16=E6,$C$2:$C$16,"")

以上就是今天分享的全部内容了,这个案例,它有指定的名称:合并同类项,也有人把它称之为【多对多查询】本质都是一样的,解决方法都是这一个

我是Excel从零到一,关注我,持续分享更多Excel技巧!