问题来源
韩老师今天就来讲三个文本连接函数:CONCATENATE、CONCAT、TEXTJOIN。
CONCATENATE函数
函数简介
功能:
将两个或多个文本字符串联接为一个字符串。
语法:
CONCATENATE(text1, [text2], ...)
text1(必需):要联接的第一个项目。项目可以是文本值、数字或单元格引用;
Text2, ... (可选):要联接的其他文本项目。最多可以有 255 个项目,总共最多支持 8,192 个字符。
用法举例
CONCATENATE和文本连接符的用法基本一样,所以不再展开讲述,只把结果写到此处,详细介绍可参考昨天的文章。
一、基本用法:
直接合并多个单元格内容,使用公式:
=CONCATENATE(A1,B1,C1,D1,E1,F1)。
如下图:
如果需要连接进固定文本内容,使用公式:
=CONCATENATE("敬请关注:",A3,B3,C3,D3,E3,F3)。
如下图:
二、合并后换行:
公式:
=CONCATENATE("敬请关注:",CHAR(10),A1,B1,C1)
结果如下图:
三、合并带格式的内容:
公式:
=CONCATENATE(A2,TEXT(B2,"e年m月"),$C$1,TEXT(C2,"#,##0.00"),$D$1,TEXT(D2,"0.0%"))
结果如下图:
四、合并列实现多条件查找:
在G2单元格输入公式:
=SUMPRODUCT((CONCATENATE(A2:A13,B2:B13)=CONCATENATE(E2,F2))*C2:C13)
即可完成查找。
但,在实际多条件查询应用中,一般选择用文本连接符&。
&与CONCATENATE函数的弊端:
不管是文本连接符,还是CONCATENATE函数,在连接数据时,参数都必须是单元格,而不能是区域,所以,如果连接内容较多时,公式会非常长,写起来很麻烦!
比如:
=A2&B2&C2&D2&E2&F2&G2&H2&I2&J2;
=CONCATENATE(A2,B2,C2,D2,E2,F2,G2,H2,I2,J2)
因此:
CONCAT和TEXTJOIN
以上两个麻烦的公式可以简化为:
=CONCAT(A1:J1)
=TEXTJOIN("",,A1:J1)
是不是简单了许多?
CONCAT函数
函数简介
功能:
语法:
文本 1 (必需):要合并的文本项。字符串或字符串数组,如单元格的区域中。
[文本 2,...] (可选):要联接的额外的文本项。可以有 253 文本项的文本参数的最大值。
用法举例
一、合并区域:
同行合并公式:
=CONCAT(A1:L1)。
结果如下图:
行列区域合并公式:
=CONCAT(A1:L4).
结果如下图:
二、加分隔符合并区域:
公式:
=CONCAT(A1:F1&" ")。
(此处加空白分隔符)
结果如下图:
特别注意:
此公式是数组公式,需要按
三、条件筛选区域合并:
CONCAT函数还可以用于符合某些条件的数据合并,不如以下动图,筛选的是各个部门考核优秀的员工名单,而且,如果源数据有变化,结果也会跟着更新:
公式:
{=CONCAT(IF((A2:A16=E2)*(C2:C16="优秀"),B2:B16&",",""))}
(按
该公式的含义是:凡是满足条件:部门列中等于E2部门、考核结果列中等于优秀的就合并。
TEXTJOIN函数
CONCAT函数能完成的功能,TEXTJOIN 函数都能完成,并且TEXTJOIN 函数在忽略空白单元格、合理应用分隔符方面更胜一筹。
函数简介
功能:
将从多个区域和/或字符串文本结合在一起,包括您指定将结合每个文本值之间的分隔符。
语法:
TEXTJOIN (分隔符, 是否忽略空白单元格,文本 1,[文本 2],...)
分隔符 (必需):文本字符串,或者为空,或用双引号引起来的一个或多个字符,或对有效文本字符串的引用。如果提供一个数字,则将被视为文本。
是否忽略空白单元格(必需):如果为 TRUE(或1),则忽略空白单元格;
文本1 (必需):要联接的文本项。文本字符串或字符串数组,如单元格区域中。
[文本2,...] (可选):要联接的其他文本项。文本项最多可以包含252 个文本参数 text1。每个参数可以是一个文本字符串或字符串数组,如单元格区域。
用法举例
一、合并区域:
同行合并公式:
=TEXTJOIN("、",1,A1:F1)。
含义是:忽略空白单元格合并,并用“、’”分隔。
结果如下图:
行列区域合并公式:
=TEXTJOIN("",1,A1:L4)。
结果如下图:
二、条件筛选区域合并:
TEXTJOIN函数还可以用于合并满足某一条件的单元格合并,比如下面动图,展示的是同一部门员工的合并,而且,随着员工部门调动,结果也随之改变:
公式:
{=TEXTJOIN("、",1,IF($A$2:$A$16=D2,$B$2:$B$16,""))}
(按
该公式的含义是:合并部门列同一部门的员工。
这个合并方法是不是比原来韩老师讲过的Excel | 内容合并:同一部门员工合并到同一单元格更方便快捷!
备注
CONCAT和TEXTJOIN函数是EXCEL2016特有的,而且,并不是每一个2016版本都有。
"韩老师讲office"后台,回复office2016,会有更新过的OFFICE2016下载链接提取码。