Excel中合并单元格且保留全部内容需避免“合并后居中”,推荐用TEXTJOIN函数(如=TEXTJOIN("、",TRUE,A2:C2)),或CONCAT、Power Query、VBA自定义函数等方法。

如果您在Excel中需要将多个单元格合并为一个,同时确保原有内容不丢失,则不能直接使用常规的“合并后居中”功能,因其仅保留左上角单元格内容,其余内容会被清除。以下是几种可完整保留所有单元格内容的实操方法:
一、使用TEXTJOIN函数合并(推荐)
TEXTJOIN函数可在不丢失任何原始数据的前提下,将指定区域内的非空内容按自定义分隔符连接成单一文本字符串,适用于Excel 2016及更高版本。
1、选中目标合并结果所在单元格(例如D2)。
2、输入公式:=TEXTJOIN("、",TRUE,A2:C2),其中“、”为分隔符,TRUE表示忽略空单元格,A2:C2为待合并的连续单元格区域。
3、按Enter确认,结果将显示A2、B2、C2三格内容以顿号连接的完整文本。
4、如需批量处理整列,拖拽填充柄向下复制公式即可。
二、使用CONCAT函数拼接(兼容性更广)
CONCAT函数可将多个单元格或区域中的文本值直接连接,不添加分隔符,适用于Excel 2016及以上版本,且对空单元格无自动过滤机制,需配合IF等函数规避空白干扰。
1、在目标单元格中输入公式:=CONCAT(A2,"、",B2,"、",C2)。
2、按Enter执行,A2、B2、C2内容将以固定顿号连接输出。
3、若存在空单元格导致多余顿号,可改用嵌套IF判断:=TRIM(CONCAT(IF(A2"",A2&"、",""),IF(B2"",B2&"、",""),IF(C2"",C2,"")))。
三、通过Power Query合并多列(适合大批量结构化数据)
Power Query支持对整列进行自定义分隔符合并,并保留原始数据源不变,操作过程非破坏性,便于后续刷新与维护。
1、选中数据区域任意单元格,点击【数据】→【从表格/区域】,勾选“表包含标题”,确定导入Power Query编辑器。
2、按住Ctrl键依次点击需合并的列标题(如“姓名”“部门”“岗位”)。
3、右键所选列 →【合并列】→ 在弹出窗口中选择分隔符(如“-”),输入新列名(如“合并信息”)。
4、点击【关闭并上载】,合并结果将以新列形式写入工作表,原始各列仍完整保留。
四、使用VBA自定义函数实现一键合并(支持任意区域与分隔符)
通过插入自定义VBA函数,可在工作表中像普通函数一样调用,灵活适配不规则选区及动态分隔符,无需逐行编写公式。
1、按Alt+F11打开VBA编辑器,插入 → 模块,在代码窗口中粘贴以下函数:
Function MergeKeep(rng As Range, sep As String) As String
Dim cell As Range
MergeKeep = ""
For Each cell In rng
If cell.Value "" Then
MergeKeep = MergeKeep & cell.Value & sep
End If
Next cell
If Len(MergeKeep) > 0 Then MergeKeep = Left(MergeKeep, Len(MergeKeep) - Len(sep))
End Function
2、返回Excel,在目标单元格输入公式:=MergeKeep(A2:C2,"/"),回车即得A2至C2间以斜杠连接的内容。
3、该函数支持跨行、跨列、非连续区域引用(需调整rng参数为联合区域,如Union(Range("A2:A5"),Range("C2:C5")))。










