Menu

Excel 连接文本:用 & 和 CONCAT 合并单元格

=A2&" "&B2 把 A2 和 B2 中的文本用一个空格连接起来。CONCATENATE 和 CONCAT 的作用相同;连接数字和日期时,用 TEXT 让它们保持易读的格式。

本页的每张表格都是实时的:修改数字或公式,就会重新计算。

=A2&" "&B2 把 A2 中的名和 B2 中的姓用一个空格连接起来。& 运算符把文本粘在一起,引号中的空格就是你在中间加入的文本。

合并名和姓
C2
ABC
1FirstLastFull name
2AnaSilvaAna Silva
3BenOkaforBen Okafor
4ChenWuChen Wu
5DaraKellyDara Kelly
6EliNovakEli Novak
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

点击 C2 查看公式,然后修改 A 列中的某个名:全名会跟着变。公式只在 C2 中写了一次,然后向下填充,所以 C3 读取 A3 和 B3,C4 读取 A4 和 B4,以此类推。在你自己的表格中填充时,双击填充柄,也就是 C2 右下角的小方块。

CONCATENATE、CONCAT 和 & 运算符

Excel 有三种连接文本的方式,对单个单元格来说结果相同:

三种方式,同一个结果
E2
ABCDE
1FirstLastMethodResult
2AnaSilva&Ana Silva
3CONCATENATEAna Silva
4CONCATAna Silva
点击单元格查看它的公式。修改数字或公式,表格会重新计算。
  • & 适用于所有版本的 Excel 和 Google Sheets,输入起来最短。
  • CONCATENATE(text1, text2, ...) 是最早的函数。Microsoft 为了兼容性保留了它,最多接受 255 个参数。
  • CONCAT(text1, text2, ...) 在 Excel 2019 和 Microsoft 365 中取代了它。唯一真正的区别是:它接受区域。

如果公式需要在 Excel 2016 或更早的版本中打开,请使用 & 或 CONCATENATE,因为 CONCAT 在那里会显示 #NAME?。

用 CONCAT 连接一个区域

=CONCAT(A2:A5) 按顺序连接区域中的每个单元格。CONCATENATE 做不到这一点:它要求每个单元格作为单独的参数,=CONCATENATE(A2,A3,A4,A5)。

连接一个区域
C2
ABC
1PartCode
2AXAX42B7
342AX42B7
4BAX42B7-2026
57
62026
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

CONCAT 不会在各部分之间加任何东西。如果需要在每个单元格后面加分隔符(例如逗号和空格),请使用 TEXTJOIN,它只需指定一次分隔符,还能跳过空单元格。

连接文本和数字

数字连接时用的是它的原始值,不带你在单元格中看到的格式。显示为 $1,250.50 的价格会连接成 1250.5,显示为 2026-03-15 的日期会连接成 46096,也就是 Excel 为这个日期存储的序列号。用 TEXT 加上格式代码把数字包起来,就能保持易读:

文本与数字和日期
D2
ABCD
1ItemPriceDueLabel
2Desk$1,250.502026-03-15Price: 1250.5
3Price: $1,250.50
4Due 46096
5Due Mar 15, 2026
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

D2 和 D4 显示的是原始值;D3 和 D5 使用了 TEXT,显示效果和单元格中一样。格式代码放在引号中,和“设置单元格格式”中的代码相同:"0.00"、"#,##0"、"0%"、"yyyy-mm-dd"。

生成价格标签
C2
ABC
1ItemPriceLabel
2Desk1250.5
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

轮到你了: 在 C2 中,用 A2 和 B2 生成标签 Desk costs $1,250.50,价格显示为美元和美分。

添加换行、逗号或引号

双引号中的任何内容都会成为结果的一部分,所以 =A2&", "&B2 得到 Ana, Silva。有三种特殊情况:

  • 换行:=A2&CHAR(10)&B2。只有单元格开启了“开始 > 自动换行”,换行才会显示;参见单元格内换行。
  • 双引号:在引号内连写两个。="Say ""hi""" 得到 Say "hi"。
  • 空单元格:它连接后什么也没有,所以 B2 为空时,=A2&" "&B2 末尾会留下一个空格。TEXTJOIN 的第二个参数设为 TRUE 可以跳过空单元格。
姓在前
C2
ABC
1FirstLastDirectory name
2AnaSilva
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

轮到你了: 在 C2 中,把名字写成 Silva, Ana:先写姓,接一个逗号和空格,再写名。

合并两列而不丢失数据

“合并后居中”不适合做这件事:合并 A2 和 B2 时,它只保留 A2 中的值,删掉另一个。应该用公式连接这两列;如果你想要不再依赖 A 列和 B 列的纯文本,再这样做:

  1. 选中公式所在的列并复制(Ctrl+C,Mac 上按 Cmd+C)。
  2. 开始 > 粘贴 > 粘贴值。公式会变成它们的结果。
  3. 现在可以删除原来的两列了。

如果只是一次性的工作,“快速填充”也可以:在 C2 中手动输入第一个全名,然后选中 C3 并按 Ctrl+E,或使用“数据 > 快速填充”,Excel 会照着这个模式填好其余部分。快速填充写入的是值而不是公式,所以名字改变时它不会更新。

常见问题

Excel 中 CONCAT 和 CONCATENATE 有什么区别?

两者都用来连接文本。CONCAT(Excel 2019 及更高版本)还接受区域,所以 =CONCAT(A2:A5) 能连接四个单元格,而 CONCATENATE 需要逐个列出单元格:=CONCATENATE(A2,A3,A4,A5)。保留 CONCATENATE 是为了兼容旧文件。

在 Excel 中连接文本时如何加空格?

在单元格之间放一个用引号括起来的空格:=A2&" "&B2 或 =CONCAT(A2," ",B2)。没有 " " 的话,名字会连在一起,变成 AnaSilva。

为什么连接日期时它变成了数字?

连接时用的是日期背后的值,即 46096 这样的序列号,单元格的格式被丢掉了。用 TEXT 把日期包起来:="Due "&TEXT(C2,"mmm d, yyyy")。

如何在 Excel 中合并两列而不丢失数据?

在第三列中使用公式 =A2&" "&B2 并向下填充。“合并后居中”只保留左上角的值,所以会丢掉第二列。如果想保留结果而去掉公式,复制这一列,然后使用“开始 > 粘贴 > 粘贴值”。

Coddy 编程语言插图

和 Coddy 一起学编程

开始