我是【桃大喵学习记】,欢迎大家关注哟~,每天为你分享职场办公软件使用技巧干货!
——首发于微信号:桃大喵学习记
关于WPS中新函数TEXTJOIN的教程之前有有涉及到,今天就再跟大家分享TEXTJOIN函数的3个进阶用法,TEXTJOIN函数不仅仅是一个强大的文本连接函数,结合其它函数查询匹配也能轻松搞定。
TEXTJOIN函数介绍
功能:TEXTJOIN函数是文本连接函数,使用分隔符连接列表或文本字符串区域。
语法:=TEXTJOIN(分隔符, 忽略空白单元格, 字符串1…)
①分隔符:文本字符串,或者为空,或用双引号引起来的一个或多个字符,或对有效文本字符串的引用。如果提供一个数字,则将被视为文本。
②忽略空白单元格:如果为 TRUE,则忽略空白单元格,如果是False,则不忽略空值。
③字符串1…:为 1 到 253 个要联接的文本项。这些文本项可以是文本字符串或字符串数组,如单元格区域。
进阶用法一:(TEXTJOIN+IF)多条件查询合并数据
如下图所示,左侧是每个学员驾照考试时【科目一】-【科目四】的通过情况,我们根据姓名查找出每个学员通过的科目信息。
在目标单元格中输入公式:
=TEXTJOIN(",",TRUE,IF((A2:A7=G2)*(B2:E7="√"),B1:E1,""))
然后点击回车即可
解读:
①上面公式同样先使用IF函数进行多条件判断,当同时满足(A2:A7=G2)*(B2:E7="√")时,返回对应学员通过的科目信息B1:E1,否则返回空值。
②最后通过TEXTJOIN函数把返回的结果通过","连接起来即可。
进阶用法二:(TEXTJOIN+FILTER+IFERROR)根据数据区间查询合并数据
如下图所示,左侧是不同部门员工基本工资数据,我们要查询工资超过9000元的员工信息合并到一起,并且员工后面要带部门信息。
在目标单元格中输入公式:
=TEXTJOIN("、",TRUE,FILTER(A:A&"("&B:B&")",IFERROR(--C:C>9000,0),""))
然后点击回车即可
解读:
①先使用FILTER函数查询符号条件的数据,返回数据区域我们通过&符号把A列姓名和B列部门连接到一起,并且部门数据用括号()括起来:A:A&"("&B:B&")" 。
查询条件是IFERROR(--C:C>9000,0),因为C列数据有“基本工资”这个表头信息,如果直接用汉字跟9000比较,那么汉字一定是大于任何数字的。所以先用双减号“--”一般定义为减负运算,它可以将文本数字串或逻辑值转换为数值,如果是汉字使用双减符号会返回错误值#VALUE!,这样错误值跟9000比较返回的返回的还是错误值,再使用IFERROR函数当返回错误值时返回0,也就是不符合条件。
②最后,再使用TEXTJOIN函数把查询结果合并大一起,中间用顿号“、”隔开。
进阶用法三:(FILTER+SORT+TAKE+TEXTJOIN),按条件获取指定排名
如下图所示,我们需要根据左侧的员工销售业绩,统计出每个分公司销售冠亚军的员工名称。
在目标单元格中输入公式:
=TEXTJOIN("、",TRUE,TAKE(SORT(FILTER(A:B,E:E=G2),2,-1),2,1))
然后点击回车,下拉填充数据即可。
解读:
①首先使用FILTER函数查询筛选数据
根据按条件查找出“北京分公司”的员工以及对应的销售业绩
=FILTER(A:B,E:E=G2)
其实就是利用FILTER函数进行单条件数据查询
②接着使用SORT函数对数据进行重新排序
=SORT(FILTER(A:B,E:E=G2),2,-1)
利用SORT函数对查询结果,根据第2列数据,降序排列(-1代表降序,1代表升序),就是根据销售业绩从高到低排序。
③再实用TAKE函数获取指定位置的数据
=TAKE(SORT(FILTER(A:B,E:E=G2),2,-1),2,1)
上面公式使用TAKE函数按行获取前2条数据,按列获取第1列数据,这样就获得了销售冠亚军姓名了。
④最后利用TEXTJOIN函数合并查询数据
=TEXTJOIN("、",TRUE,TAKE(SORT(FILTER(A:B,E:E=G2),2,-1),2,1))
利用TEXTJOIN函数把获取的销售冠亚军姓名合并到一个单元格,并且用逗号间隔开。
以上就是【桃大喵学习记】今天的干货分享~觉得内容对你有所帮助,别忘了动动手指点个赞哦~。大家有什么问题欢迎关注留言,期待与你的每一次互动,让我们共同成长!