取消合并单元格并完整保留全部内容有四种方法:一、取消合并后用定位空值+公式填充;二、用辅助列公式提取各行原始内容;三、用power query向下填充后上载;四、用vba宏遍历合并区域并赋值。

如果您在Excel中合并了单元格,但希望取消合并同时保留所有原有内容(而非仅保留左上角单元格的内容),默认的“取消合并单元格”操作会导致其余内容丢失。以下是实现取消合并并完整保留全部内容的多种操作方法:
一、使用“填充”功能补全取消合并后的内容
该方法适用于合并前各单元格内容不同,且需将原合并区域内的每个单元格都填入相同内容(即原左上角值)的场景。通过先取消合并再填充,可避免内容丢失。
1、选中已合并的单元格区域。
2、在“开始”选项卡中,点击“合并后居中”按钮,取消合并。
3、此时仅左上角单元格保留内容,其余为空白;再次选中整个原合并区域。
4、按 Ctrl + G 打开定位窗口,点击“定位条件”。
5、在弹出窗口中选择“空值”,点击“确定”,此时所有空白单元格被选中。
6、在编辑栏中输入 =,然后按方向键 ↑ 选取上方有内容的单元格(即原左上角单元格)。
7、按 Ctrl + Enter,所有空单元格将自动填入该内容。
二、借助辅助列与公式提取全部原始内容
该方法适用于合并前各单元格实际含有不同文本(如A1="张三"、A2="李四"、A3="王五"),但因合并显示为单值,需还原全部原始数据。需提前备份或确认原始数据分布规律。
1、在空白列(如B列)第一行输入公式:=IF(ROW()=1,A1,IF(A1"",A1,OFFSET(A1,-1,0)))。
2、将该公式向下拖拽至覆盖原合并区域行数范围。
3、复制B列生成的结果区域,右键选择“选择性粘贴”→“数值”,覆盖回原列。
4、选中原合并单元格区域,点击“合并后居中”取消合并。
5、此时原位置已按行顺序分布全部内容,无需额外填充。
三、使用Power Query还原多行内容(适用于Excel 2016及以上版本)
该方法可将一个合并单元格反向扩展为多行独立记录,尤其适合合并前内容本就分属不同逻辑行(如表头合并下对应多条明细)的情形。
1、选中包含合并单元格的数据区域(建议连同标题行一并选取)。
2、在“数据”选项卡中点击“从表格/区域”,勾选“表包含标题”,点击“确定”。
3、在Power Query编辑器中,右键点击含合并内容的列标题,选择“填充”→“向下”。
4、点击“关闭并上载”,结果将作为新表格插入工作表。
5、对新表格中该列执行取消合并操作,所有填充后的值均独立保留在各自单元格中。
四、利用VBA代码一次性还原并取消合并
该方法适用于批量处理多个合并区域,且要求严格保留每行原始内容(非重复填充)。运行前请确保已启用宏功能并备份文件。
1、按 Alt + F11 打开VBA编辑器。
2、插入新模块:点击“插入”→“模块”。
3、粘贴以下代码:
Sub UnmergeKeepAllContents()
Dim rng As Range, cell As Range
Set rng = Selection
For Each cell In rng
If cell.MergeCells Then
cell.MergeArea.UnMerge
cell.MergeArea.Value = cell.Value
End If
Next cell
End Sub
4、返回Excel,选中待处理的合并单元格区域。
5、按 F5 运行宏,所有合并区域将被取消,且每个子单元格均写入原合并值。










