今天就来讲三个文本连接函数:CONCATENATE、CONCAT、TEXTJOIN。这三个函数可以实现添加固定文本、带格式内容、区域合并、固定间隔符合并等各种连接。
CONCATENATE函数
一、函数简介
功能:将两个或多个文本字符串联接为一个字符串。
语法:
CONCATENATE(text1, [text2], ...)
text1(必需):要联接的第一个项目。项目可以是文本值、数字或单元格引用; Text2, ... (可选):要联接的其他文本项目。最多可以有 255 个项目,总共最多支持 8,192 个字符。二、用法举例
CONCATENATE和文本连接符的用法基本一样,所以不再展开讲述,只把结果写到此处,详细介绍可参考昨天的文章。
1、基本用法:
直接合并多个单元格内容,使用公式:
=CONCATENATE(A1,B1,C1,D1,E1,F1)。
如下图:
如果需要连接进固定文本内容,使用公式:
=CONCATENATE("敬请关注:",A3,B3,C3,D3,E3,F3)。
如下图:
2、合并后换行:
公式:
=CONCATENATE("敬请关注:",CHAR(10),A1,B1,C1)
结果如下图:
3、合并带格式的内容:
公式:
=CONCATENATE(A2,TEXT(B2,"e年m月"),$C$1,TEXT(C2,"#,##0.00"),$D$1,TEXT(D2,"0.0%"))
实现“日期”、“千分位分隔符”“百分比”等格式文本的链接。
结果如下图:
4、合并列实现多条件查找:
在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)
因此,新版EXCEL2016出现了可以合并区域的文本连接函数:CONCAT和TEXTJOIN
以上两个麻烦的公式可以简化为:=CONCAT(A1:J1)或=TEXTJOIN("",,A1:J1),是不是简单了许多?
CONCAT函数
一、函数简介
功能:将区域文本(或单个文本)联接为一个字符串。
语法:
CONCAT (文本 1,[文本 2],...)
文本 1 (必需):要合并的文本项。字符串或字符串数组,如单元格的区域中。 [文本 2,...] (可选):要联接的额外的文本项。可以有 253 文本项的文本参数的最大值。二、用法举例
1、合并区域:
同行合并公式:=CONCAT(A1:L1)。
结果如下图:
行列区域合并公式:=CONCAT(A1:L4).
结果如下图:
2、加分隔符合并区域:
公式:=CONCAT(A1:F1&" "),(此处加空白分隔符)
结果如下图:
特别注意:此公式是数组公式,需要按<Ctrl+Shift+Enter>组合键结束。
3、条件筛选区域合并:
CONCAT函数还可以用于符合某些条件的数据合并,不如以下动图,筛选的是各个部门考核优秀的员工名单,而且,如果源数据有变化,结果也会跟着更新:
公式:
{=CONCAT(IF((A2:A16=E2)*(C2:C16="优秀"),B2:B16&",",""))},(按<Ctrl+Shift+Enter>组合键结束)
该公式的含义是:凡是满足条件:部门列中等于E2部门、考核结果列中等于优秀的就合并。
TEXTJOIN函数
CONCAT函数能完成的功能,TEXTJOIN 函数都能完成,并且TEXTJOIN 函数在忽略空白单元格、合理应用分隔符方面更胜一筹。
一、函数简介
功能:将从多个区域和/或字符串文本结合在一起,包括您指定将结合每个文本值之间的分隔符。
语法:
TEXTJOIN (分隔符, 是否忽略空白单元格,文本 1,[文本 2],...)
分隔符(必需):文本字符串,或者为空,或用双引号引起来的一个或多个字符,或对有效文本字符串的引用。如果提供一个数字,则将被视为文本。 是否忽略空白单元格(必需):如果为 TRUE(或1),则忽略空白单元格; 文本1(必需):要联接的文本项。文本字符串或字符串数组,如单元格区域中。 [文本2, ...](可选):要联接的其他文本项。文本项最多可以包含252 个文本参数text1。每个参数可以是一个文本字符串或字符串数组,如单元格区域。二、用法举例
1、合并区域:
同行合并公式:=TEXTJOIN("、",1,A1:F1)。
含义是:忽略空白单元格合并,并用“、’”分隔。
结果如下图:
行列区域合并公式:=TEXTJOIN("",1,A1:L4)。
结果如下图:
2、条件筛选区域合并:
TEXTJOIN函数还可以用于合并满足某一条件的单元格合并,比如下面动图,展示的是同一部门员工的合并,而且,随着员工部门调动,结果也随之改变:
公式:
{=TEXTJOIN("、",1,IF($A$2:$A$16=D2,$B$2:$B$16,""))},(按<Ctrl+Shift+Enter>组合键结束)
该公式的含义是:合并部门列同一部门的员工。
备注
CONCAT和TEXTJOIN函数是EXCEL2016特有的,而且,并不是每一个2016版本都有。