推荐使用TEXTJOIN函数合并文本,因其支持自定义分隔符、自动忽略空值且可处理多行多列区域;其次可用&符号、CONCAT函数、Power Query或VBA宏实现不同场景需求。

如果您在Excel中需要将多个单元格中的文字合并到一个单元格中,同时确保原有内容不丢失,则不能直接使用“合并后居中”功能,因其会仅保留左上角单元格内容。以下是实现合并单元格且完整保留所有文字的多种方法:
一、使用&符号连接文本
该方法通过在公式中用&符号串联多个单元格内容,生成新字符串,适用于少量单元格的快速拼接,不改变原始数据布局。
1、选中目标合并结果所在单元格(例如D1)。
2、输入公式:=A1&B1&C1(假设需合并A1、B1、C1三格内容)。
3、按Enter确认,D1将显示无分隔符的连续文本。
4、如需空格或逗号分隔,改写为:=A1&" "&B1&" "&C1 或 =A1&","&B1&","&C1。
二、使用CONCAT函数
CONCAT函数可一次性合并多个单元格或区域内的所有文本,自动忽略空单元格,语法简洁,兼容Excel 2016及更高版本。
1、在目标单元格中输入:=CONCAT(A1:C1)(合并A1至C1整行)。
2、若需添加分隔符,需配合TEXTJOIN使用(见第三种方法),CONCAT本身不支持内置分隔符。
3、按Enter完成计算,结果为A1、B1、C1内容紧连输出。
三、使用TEXTJOIN函数(推荐)
TEXTJOIN是目前最灵活的文本合并函数,支持自定义分隔符、忽略空值、批量区域引用,适用于复杂文本整合场景。
1、在目标单元格输入公式:=TEXTJOIN("、",TRUE,A1:C1)(以顿号分隔,跳过空单元格)。
2、将第二个参数TRUE改为FALSE,则空单元格会被视为含空字符串参与连接。
3、分隔符可替换为任意字符,如引号内填" "(空格)、"-"、"/"或","等。
4、支持多行多列区域,例如:=TEXTJOIN(CHAR(10),TRUE,A1:C5)(用换行符连接A1:C5全部非空内容)。
四、使用Power Query合并列
当处理大量数据或需重复执行合并操作时,Power Query提供可视化列合并功能,支持分隔符设定与后续刷新,适合结构化数据清洗流程。
1、选中数据区域,点击【数据】→【从表格/区域】,勾选“表包含标题”,确定加载至Power Query编辑器。
2、按住Ctrl键选中需合并的多列(如“姓名”、“部门”、“职级”)。
3、右键选择【合并列】,在弹出窗口中输入分隔符(如"-"),命名新列名(如“完整信息”)。
4、点击【确定】,新列即生成;点击【关闭并上载】,结果返回Excel工作表。
五、使用VBA宏批量处理
对固定格式的大批量工作表执行统一合并逻辑时,VBA可实现一键运行、跨行跨列自动填充,避免重复公式拖拽。
1、按Alt+F11打开VBA编辑器,插入新模块。
2、粘贴以下代码(以合并A1:C1至A10:C10,结果填入D列为例):
Sub MergeCellsKeepText()
Dim i As Integer
For i = 1 To 10
Cells(i, 4).Value = Cells(i, 1) & " " & Cells(i, 2) & " " & Cells(i, 3)
Next i
End Sub
3、关闭编辑器,返回Excel,按Alt+F8运行宏“MergeCellsKeepText”。
4、D1:D10将自动填入对应行A-C列以空格连接的文本结果。










