把分散的内容拼到一块儿,这个需求在日常工作中经常会碰到。CONCATENATE函数就是专门干这个活的——它名字有点长,念起来像“肯开特内特”,其实就是“连接”的意思。别被它的拼写吓到,功能很简单:把多个文本串连合并成一个文本字符串。
CONCATENATE函数就是一瓶万能胶水。可以把任意数据类型粘在一起,变成一个文本字符串。
一、语法和基本用法
语法:CONCATENATE(文本1, 文本2, 文本3, ...) 最多支持255个参数。
作用:按顺序把所有参数拼接成一个文本字符串。
最简单的例子:
=CONCATENATE("张","三") → 结果:"张三"
=CONCATENATE(A1,B1,C1) → 把三个单元格的内容拼起来
几个参数可以是单元格引用、手动输入的文本(要加英文双引号)、或者数字(数字会自动转成文本)。
二、一个更省事的写法:& 符号
讲CONCATENATE之前先提个醒:大多数情况下,用&符号比写这个长函数名快得多。
上面那两行用&写就是:
="张"&"三"
=A1&B1&C1
&做的事和CONCATENATE完全一样,写法更短。所以很多老Excel用户其实很少直接敲CONCATENATE,而是用&。但既然咱们按函数清单来讲,还是得把CONCATENATE说清楚——你读别人表格里的公式时总会遇到它,而且有些正式模板里确实在用。
三、典型应用场景
●场景1:合并姓名和称谓
假设A列是“张伟”,B列是“经理”,C列想得到“张伟(经理)”。
=CONCATENATE(A1,"(",B1,")")
或者用:=A1&"("&B1&")"
结果:“张伟(经理)”
●场景2:把姓名、地址、邮编、电话合并成一个完整通讯录字段
A列姓名,B列地址,C列邮编,D列电话:
=CONCATENATE(A1,",地址:",B1,",邮编:",C1,",电话:",D1)
生成类似:“李芳,地址:北京市朝阳区xx路18号,邮编:100020,电话:13812345678”
●场景3:拼接带格式符号的编码
有时候你们系统里产品编码是三个字段分开存放的:大类(P)、小类(WD)、流水号(089)。需要拼成“P-WD-089”这样的格式。
=CONCATENATE(A1,"-",B1,"-",C1)
A1="P",B1="WD",C1="089" → 结果:"P-WD-089"
四、和直接写&符号的区别
技术上没有区别。CONCATENATE函数是Excel 2000就引入的老函数,&符号是运算符,两者运算结果相同。CONCATENATE的好处是当你需要拼接很多段内容时,参数列表看起来更整齐一些,不用来回敲&和双引号。
但CONCATENATE有一个明显的缺点:你不能用一个区域范围作为参数。比如你想拼接A1到A10这10个单元格的内容,用CONCATENATE必须写成=CONCATENATE(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10),非常笨拙。而用&同样得写A1&A2&...&A10,也不方便。
所以在Excel 2019及Office 365中,微软引入了两个新函数:CONCAT和TEXTJOIN。CONCAT可以直接接受一个区域,比如=CONCAT(A1:A10)。TEXTJOIN还能指定分隔符,比如=TEXTJOIN(",",TRUE,A1:A10)把A1到A10用逗号拼起来,自动忽略空单元格。但我们按经典函数清单讲,CONCATENATE仍然是很多老版本Excel和兼容性场景下的标准写法。
五、CONCATENATE与&符号选哪个
我的建议是:
短拼接(两三个内容):用&,干净利落。
稍长的拼接(四个以上内容):用CONCATENATE,参数用逗号隔开,可读性稍好。
需要拼接区域范围(比如A1:A20):不要用CONCATENATE(写出来太痛苦),用CONCAT或TEXTJOIN(如果你的Excel版本支持),或者用辅助列逐步拼。
写给别人看的、可能运行在老版本Excel中的公式:用CONCATENATE更稳妥。
实际上,微软在后续版本中已经把CONCATENATE标记为“兼容性函数”,建议用户转向CONCAT。但并不是说它会被删除——微软对老函数向来很宽容,只是不再作为优先推荐。
六、小结
CONCATENATE干的事就是:把几段文字按顺序粘成一段。没有什么高深的技巧,但每天都在用。你真正需要掌握的关键点其实不在函数本身,而在于:
什么时候需要用TEXT转换日期和数字格式。
怎么处理空值和错误值(可以配合IFERROR,后面会讲)。
如何选择是直接用&还是用CONCATENATE。
掌握了这些,文本拼接这一关就彻底过了。下一个要讲的是UPPER、LOWER、PROPER——大小写转换函数,处理英文文本不规范的时候很有用。
夜雨聆风