需先保留合并单元格左上角值并分发至全部子单元格,再取消合并:一、定位条件+填充法(F5→定位合并单元格→输入公式→Ctrl+Enter→取消合并);二、Power Query法(转表→加载→填充向下→上载);三、VBA宏法(运行UnmergeAndFill宏自动处理)。

如果您在Excel中遇到大量合并单元格,且需要保留原合并区域左上角的值并分发至所有原合并范围内单元格,同时取消合并状态,则需采用特定操作顺序避免内容丢失。以下是实现该目标的多种方法:
一、使用定位条件+填充法
该方法利用Excel“定位条件”快速选中合并单元格的左上角单元格,再通过向下填充方式将值复制到整块区域,最后统一取消合并。此法无需公式,兼容Excel 2010及以上版本。
1、选中包含合并单元格的数据区域(可全选列或按Ctrl+A选定整个数据区)。
2、按下F5键,点击“定位条件”,在弹出窗口中选择“合并单元格”,点击确定——此时仅左上角单元格被选中。
3、在编辑栏中输入公式:=R[-1]C(适用于R1C1引用样式);若为A1样式,改为输入=A1(以当前活动单元格上方/左侧首个非空值为准,实际需根据位置调整),然后按Ctrl+Enter批量填入所有选中单元格。
4、再次选中同一区域,右键选择“设置单元格格式”,切换到“对齐”选项卡,取消勾选“合并单元格”,点击确定。
二、Power Query清洗法
该方法通过Power Query自动识别合并单元格结构,将首行值向下填充至空白行,并展开为独立行,适合处理含多层合并、跨行跨列混排的复杂表格,且全程不修改原始工作表。
1、选中数据区域,按Ctrl+T将其转为表格(确保首行为标题,无空行)。
2、在“数据”选项卡中点击“从表格/区域”,加载至Power Query编辑器。
3、选中需填充的列,右键选择“填充” → “向下”,所有空白单元格将被其上方最近的非空值填充。
4、点击左上角“关闭并上载”,选择“关闭并上载至…”,指定新工作表,完成清洗后数据即具备完整行列结构且无合并。
三、VBA宏一键执行法
该方法编写简短VBA脚本,自动遍历选定区域,对每个合并单元格区域提取值、取消合并、再向全部子单元格写入该值,适用于重复性高、数据量大的场景。
1、按Alt+F11打开VBA编辑器,插入新模块。
2、粘贴以下代码:
Sub UnmergeAndFill()
Dim rng As Range, cell As Range
Set rng = Selection
For Each cell In rng
If cell.MergeCells Then
cell.MergeArea.Value = cell.Value
cell.MergeArea.UnMerge
End If
Next cell
End Sub
3、返回Excel,选中待处理区域,按Alt+F8运行宏“UnmergeAndFill”,执行完毕后所有合并单元格已取消且内容完整填充。










