Excel 2019 批量“合并/取消合并”单元格的技巧

Excel 2019 批量“合并/取消合并”单元格的技巧

平时在Excel中整理数据的时候,我们经常会进行单元格的合并或取消合并的操作。比如为了视觉美观、数据综合等需要合并一些单元格,但是合并的单元格又给数据排序、筛选等操作带来很大的不便,因此有时又需要取消合并单元格。那么该如何快速地“合并/取消合并”单元格呢?下面笔者就以在Excel 2019中的操作为例为你一一道来。

○分类汇总 快速合并单元格

数据整理完毕后,如果不用执行类似排序、筛选等操作,为了让表格看起来视觉效果更好,内容看起来更直观,我们可以借助“分类汇总”的方法快速合并单元格。比如为了方便查看每个部门都有哪些员工,现在需要将A列中的部门合并(图1)。

图1 合并示例

选中A1:B10中的数据,依次点击“数据→分类汇总→确定”,在“选定汇总项”下勾选“部门”(即按部门类别分组),接着点击“确定”完成分组(图2)。

图2 分类汇总

继续选中A2:A13中的数据(即需要合并单元格的部门,不含A1),按F5键打开“定位”窗口,点击“定位条件”,在打开的窗口中点选“空值”,再点击“确定”(图3)。

图3 定位单元格

此时它会将A2:A13数据中的所有空值单元格选中,点击“开始→合并后居中”,即可一次性地将所有空值单元格合并(图4)。

图4 合并单元格

接下来就是将已经合并单元格的格式应用到B列。继续选中A1:A13中的数据,点击鼠标右键并选择“复制”,再选中B1:B13中的数据,依次点击“开始→粘贴→选择性粘贴”,在打开的窗口中选择“格式”,点击“确定”后即可将A列单元格的格式粘贴到B列中,这样B列就自动地完成单元格的合并了(图5)。

图5 粘贴格式

从图中看到它还包含多余的数据单元格,操作同上继续选中B1:B14中的数据,按F5键打开“定位”,点击“定位条件”,依次点选“公式→数字”,即只选中B列中有数字的行,点击“确定”。接着点击鼠标右键并选择“删除→删除整行”,将B列中包含数字的行全部删除,最后再将A列删除即可(图6)。

图6 合并后的效果

通过上述操作可以看到,这里我们先使用“分类汇总”和“定位条件”的方法实现A列数据按照部门自动分类,然后再通过“选择性粘贴/格式”的方法将合并格式自动应用到B列完成操作。它和常规的手动点击“开始→合并后居中”的方法不同,常规方法需要根据每个部门的员工数量依次手动选择单元格进行合并,比如A部门有3个人,B部门有50个人,那么需要先后选择A2:A4和A5:A54进行合并,如果部门更多操作起来不仅费时,而且容易出错,上面介绍的方法则可以更快速、准确地实现合并操作。

火速链接:如果想让合并单元格参与运算,可以参考本刊2016年第19期的《单元格合并 数据照用不误》、2017年第23期的《合并单元格后 如何高效处理已有数据》等文。

○用活VBA 快速取消合并单元格

若取消上述合并单元格,我们可以借助VBA脚本快速地完成。

打开“http://dwz.win/Qrn”链接下载所需的脚本文件(提取码: 85kr),接着在当前文档按“Alt+F11”打开VBA编辑窗口,依次点击“插入→模块”,输入下载到的代码(图7)。

图7 设置代码

代码解释:这里先设置一个单元格变量,然后对当前工作表中的所有单元格进行遍历检查,如果发现有合并单元格则取消合并。

返回Excel窗口,依次点击“开发工具→宏”,在打开的窗口中可以看到一个名为“取消合并单元”的新宏,点击“执行”,即可取消工作表中所有合并的单元格,并且还会自动地填充合并前的数据(图8)。

图8 运行宏

我们可以将其另存为“Excel启用宏的工作簿”格式备用,这样当我们在进行排序、筛选等操作时,如果Excel提示有合并单元格无法完成操作,那么只要将其复制并粘贴到这个文档中,运行上述宏就可以快速地取消合并了。

如上所述,合并单元格会给后续的排序、引用等操作带来不便。在实际工作中,如果确实需要保留合并单元格,那么我们还可以通过变通的方法实现“伪合并”。可以先使用上述介绍的VBA脚本取消合并,接着对需要显示“合并”效果的单元格进行处理。比如对于列的合并(如图9里C1:E1单元格需要合并),先在C1单元格中输入内容,接着选中C1:E1单元格并右击选择“设置单元格格式→对齐→水平对齐→跨列居中”即可。如果要合并的是A3:A4中的内容,则可以先在新建文档中合并任意上下两行的单元格,如G3:G4,同时输入合并显示的内容。右击G3:G4并选择复制,再定位到A3:A4单元格,依次选择“开始→粘贴→→其他粘贴选项→链接的图片”即可。这样既拥有了合并单元格的效果,也不影响计算,因为原来文档中的单元格并没有被合并(图9)。