1职场实例
小伙伴们大家好,今天我们来讲解一下TEXTJOIN函数处理多条件合并数据的基本技巧。经常阅读小编公众号的朋友想必已经对TEXTJOIN函数有一些基本的认识了,常见的就是无任何条件的合并与单条件合并,至于多条件合并该如何应对呢?下面我们来用一个简单的例子模拟实际的工作场景。
如下图所示:
A1:C7为一份不同地区的的各种水果的销量表。我们想要在E2单元格得到东北地区的销量大于300水果名称,并且不同水果名称之间用逗号合并起来在一个单元格内显示。
2解题思路
TEXTJOIN函数对于这种多条件的数据合并处理,原理也非常的简单,并且在日常职场工作中也有广泛的应用,下面我们就来看一下具体操作方法。
TEXTJOIN函数用来将两个或两个以上的文本字符串合并,并以指定的分隔符分开。如果省略分隔符,直接合并个文本字符串。
函数公式:
=TEXTJOIN(delimiter, ignore_empty, text1, [text2, ...])
Delimiter(必填):分隔符,用英文双引号引用,内容可以为空。
ignore_empty(必填):忽略空文本选项。如果为 TRUE,则忽略空白单元格。
text1(必填):要合并的文本项、文本字符串或字符串数组。
text2(选填):要合并的其他文本项,最多可以包含 252 个文本参数 text,且每个参数可以是一个文本字符串或字符串数组。
比如说:
=TEXTJOIN(",",TRUE, "Excel", "情报局")
结果为:Excel,情报局
下面我们从这个问题由浅入深的方式理解它的运作原理。
如果说我们忽略掉任何条件,只需要将B列的水果名称合并起来,并且用逗号将名称分隔开的话,用TEXTJOIN函数的基本用法很简单:
=TEXTJOIN(",",TRUE,B2:B7)
即用分隔符号逗号“,”,忽略掉空值单元格(TRUE)后,将B2:B7区域内所有单元格的水果名称间隔并合并起来。
如果说我们只需要将东北地区的位于B列的所有水果名称合并起来,并且用逗号将名称分隔开的话,需要对IF函数对TEXTJOIN的第3参数进行加工完善:
=TEXTJOIN(",",TRUE,IF($A$2:$A$7="东北",$B$2:$B$7,""))
即用IF函数对B2:B7区域的返回值加上条件判断,当符合指定的条件时,我们才能返回B2:B7区域内相应的水果名称:
IF($A$2:$A$7="东北",$B$2:$B$7,"")
如果$A$2:$A$7区域内只有等于"东北"的时候,我们才会提取$B$2:$B$7区域内对应的水果名称,否则我们返回空值(“”)。
最后用TEXTJOIN函数,用分隔符号逗号“,”,忽略掉空值单元格(TRUE)后,将IF函数符合条件的单元格的水果名称间隔并合并起来。
如果说我们想要将东北地区的且销量大于300的位于B列的所有水果名称合并起来,并且用逗号将名称分隔开的话,需要对IF函数对TEXTJOIN的第3参数再次进行加工完善:
=TEXTJOIN(",",TRUE,IF(($A$2:$A$7="东北")*($C$2:$C$7>300),$B$2:$B$7,""))
Ctrl+Shift+回车键 结束公式。
在Excel中如果多个条件并列成立,并且以数组之间的关系进行表现时,我们通常用乘号将多个数组条件进行相乘,获取新的并列条件。
即将IF函数:
IF($A$2:$A$7="东北",$B$2:$B$7,"")
中的第1参数用乘号加上并列条件$C$2:$C$7>300,表示既符合地区为东北,又符合销量大于300,我们才能返回B2:B7区域内相应的水果名称:
IF(($A$2:$A$7="东北")*($C$2:$C$7>300),$B$2:$B$7,"")
最后用TEXTJOIN函数,用分隔符号逗号“,”,忽略掉空值单元格(TRUE)后,将IF函数符合条件的单元格的水果名称间隔并合并起来。