=A2&" "&B2 把 A2 中的名和 B2 中的姓用一个空格连接起来。& 运算符把文本粘在一起,引号中的空格就是你在中间加入的文本。
| A | B | C | |
|---|---|---|---|
| 1 | First | Last | Full name |
| 2 | Ana | Silva | Ana Silva |
| 3 | Ben | Okafor | Ben Okafor |
| 4 | Chen | Wu | Chen Wu |
| 5 | Dara | Kelly | Dara Kelly |
| 6 | Eli | Novak | Eli Novak |
点击 C2 查看公式,然后修改 A 列中的某个名:全名会跟着变。公式只在 C2 中写了一次,然后向下填充,所以 C3 读取 A3 和 B3,C4 读取 A4 和 B4,以此类推。在你自己的表格中填充时,双击填充柄,也就是 C2 右下角的小方块。
CONCATENATE、CONCAT 和 & 运算符
Excel 有三种连接文本的方式,对单个单元格来说结果相同:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | First | Last | Method | Result | |
| 2 | Ana | Silva | & | Ana Silva | |
| 3 | CONCATENATE | Ana Silva | |||
| 4 | CONCAT | Ana 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)。
| A | B | C | |
|---|---|---|---|
| 1 | Part | Code | |
| 2 | AX | AX42B7 | |
| 3 | 42 | AX42B7 | |
| 4 | B | AX42B7-2026 | |
| 5 | 7 | ||
| 6 | 2026 |
CONCAT 不会在各部分之间加任何东西。如果需要在每个单元格后面加分隔符(例如逗号和空格),请使用 TEXTJOIN,它只需指定一次分隔符,还能跳过空单元格。
连接文本和数字
数字连接时用的是它的原始值,不带你在单元格中看到的格式。显示为 $1,250.50 的价格会连接成 1250.5,显示为 2026-03-15 的日期会连接成 46096,也就是 Excel 为这个日期存储的序列号。用 TEXT 加上格式代码把数字包起来,就能保持易读:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Item | Price | Due | Label |
| 2 | Desk | $1,250.50 | 2026-03-15 | Price: 1250.5 |
| 3 | Price: $1,250.50 | |||
| 4 | Due 46096 | |||
| 5 | Due Mar 15, 2026 |
D2 和 D4 显示的是原始值;D3 和 D5 使用了 TEXT,显示效果和单元格中一样。格式代码放在引号中,和“设置单元格格式”中的代码相同:"0.00"、"#,##0"、"0%"、"yyyy-mm-dd"。
| A | B | C | |
|---|---|---|---|
| 1 | Item | Price | Label |
| 2 | Desk | 1250.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可以跳过空单元格。
| A | B | C | |
|---|---|---|---|
| 1 | First | Last | Directory name |
| 2 | Ana | Silva |
轮到你了: 在 C2 中,把名字写成 Silva, Ana:先写姓,接一个逗号和空格,再写名。
合并两列而不丢失数据
“合并后居中”不适合做这件事:合并 A2 和 B2 时,它只保留 A2 中的值,删掉另一个。应该用公式连接这两列;如果你想要不再依赖 A 列和 B 列的纯文本,再这样做:
- 选中公式所在的列并复制(Ctrl+C,Mac 上按 Cmd+C)。
- 开始 > 粘贴 > 粘贴值。公式会变成它们的结果。
- 现在可以删除原来的两列了。
如果只是一次性的工作,“快速填充”也可以:在 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 并向下填充。“合并后居中”只保留左上角的值,所以会丢掉第二列。如果想保留结果而去掉公式,复制这一列,然后使用“开始 > 粘贴 > 粘贴值”。