Microsoft Lab
全部软件
Excel文字处理(Text)约 5 分钟

CONCATENATE 拼接文本

重点内容


函数速查

函数语法用途例子
CONCATENATE=CONCATENATE(text1,text2,...)拼接多个文本=CONCATENATE(A1,B1)
&=A1&B1拼接运算符,效果等同 CONCATENATE=A1&" "&B1
CONCAT=CONCAT(range)拼接整个范围(Excel 2016+)=CONCAT(A1:A5)
TEXTJOIN=TEXTJOIN(delimiter, ignore_empty, range)用指定分隔符拼接,可忽略空单元格(Excel 2016+)=TEXTJOIN(", ",TRUE,A1:A5)

拼接方法怎么选

方法适合场景例子
CONCATENATE / &拼接几个固定的单元格=A1&" "&B1
CONCAT一次拼接整个范围=CONCAT(A1:A5)
TEXTJOIN需要指定分隔符、还想跳过空单元格=TEXTJOIN(", ",TRUE,A1:A5)

基础拼接

  1. =CONCATENATE(A1,B1),直接把 A1 和 B1 的内容接在一起,中间没有任何间隔
  2. 加文字连接:=CONCATENATE(A1," and ",B1),三个参数依序拼接,中间插入 " and "
  3. 只加空格:=CONCATENATE(A1," ",B1) 或用 & 写成 =A1&" "&B1,效果一样

CONCAT 拼接整个范围

=CONCAT(A1:A5)

不用像 CONCATENATE 那样一个个单元格列出来,直接给一个范围就能全部拼接。


TEXTJOIN 指定分隔符 + 忽略空单元格

=TEXTJOIN(", ",TRUE,A1:A5)

第一参数是分隔符(这里是逗号+空格),第二参数设 TRUE 表示自动跳过范围内的空单元格,不会拼出多余的分隔符。


拼接数字时先用 TEXT 格式化

数字直接拼接会丢失格式(千分位、小数位等),要先用 TEXT 函数转换(详见 EP10):

=A1&" 元:" &TEXT(B1,"#,##0.00")

拼接后换行

用 CHAR(10) 插入换行符:

=A1&CHAR(10)&B1

⚠️ 要让换行真的显示出来,需要额外给单元格开启"自动换行"(Wrap Text)。


进阶:条件筛选后再拼接

先用 IF 函数筛选出符合条件的内容,再用 TEXTJOIN 把筛选结果用逗号+空格连接起来,是处理"只拼接符合某条件的项目"这类需求的常见组合写法。如果涉及数组处理,旧版本需要按 Ctrl+Shift+Enter 确认成数组公式。


学完你会

常见错误

  • CONCAT/TEXTJOIN 是 Excel 2016 之后才有的函数,在更早的版本里会报错,跨版本共享文件时要注意
  • 数字直接拼接进文本,忘记先用 TEXT 格式化,结果千分位、货币符号全部消失
  • 用 CHAR(10) 插入换行符后,单元格没开启 Wrap Text,导致换行符实际存在但看起来还是挤成一行

Sources

Blog / Website:

  1. Concatenate
只记在你的浏览器里,换设备不会同步。