MICROSOFT

EP11. “CONCATENATE 拼接文本”

首页 Microsoft 工具 Excel · Functions · Text · EP11
约 5 分钟· #EP11#Excel#Text
🔒 登录后可标记已读
  • 讲怎么把多个单元格的文字拼在一起
  • 介绍四种方法:CONCATENATE 函数、& 运算符、CONCAT 函数、TEXTJOIN 函数
  • 后两个是 Excel 2016 之后才有的新函数,功能更强
  • 前置知识不需要
  • 学完能处理各种「多列合并成一列」的需求

重点内容


函数速查

函数语法用途例子
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 确认成数组公式。


学完你会

  • ✅ 能用 & 或 CONCATENATE 把多个单元格的文字拼接起来
  • ✅ 能用 TEXTJOIN 指定分隔符,并自动跳过范围里的空单元格
  • ✅ 能在拼接数字前先用 TEXT 格式化,避免千分位/货币符号丢失

常见错误

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

Sources

Blog / Website:

  1. Concatenate