Excel批量合并单元格技巧分享
时间:2026-01-08 21:13:00 336浏览 收藏
哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《Excel批量合并相同内容单元格教程》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!
可采用Kutools插件或VBA宏批量合并连续相同单元格:前者通过“合并相同单元格”功能自动识别并保留首值;后者用代码遍历单列区域,对连续重复值执行Merge操作,均避免数据丢失且支持居中显示。

如果您在Excel中需要将连续的相同内容单元格合并为一个单元格并居中显示,但又不希望使用常规“合并后居中”导致数据丢失或公式异常,则需采用符合数据结构逻辑的批量处理方式。以下是实现该目标的多种操作方法:
一、使用“合并相同单元格”辅助工具(第三方加载项)
部分Excel增强插件(如Kutools for Excel)提供专用于合并连续相同内容单元格的功能,可自动识别相邻行/列中重复值并执行合并,同时保留首单元格内容,避免覆盖。
1、确保已安装Kutools for Excel并启用加载项。
2、选中目标数据区域(例如A1:A100),注意该区域应为单列或单行且内容连续排列。
3、点击Kutools选项卡 → 选择“范围”组 → 点击“合并相同单元格”按钮。
4、在弹出窗口中勾选“仅合并连续相同值”,取消勾选“清除空单元格”以防误删。
5、点击“确定”,Excel将自动合并所有纵向连续的相同文本单元格,并使内容在合并区域中垂直水平居中。
二、通过VBA宏代码批量合并(原生Excel方案)
该方法不依赖外部插件,利用VBA遍历选定区域,对连续相同值进行Range.Merge操作,适用于Excel桌面版(启用宏的工作簿)。
1、按Alt+F11打开VBA编辑器,插入新模块。
2、粘贴以下代码:
Sub MergeSameCells()
Dim rng As Range, cell As Range
Dim startRow As Long, endRow As Long, i As Long
Set rng = Selection
If rng.Columns.Count > 1 Then MsgBox "请仅选择单列区域": Exit Sub
startRow = rng.Row
endRow = rng.Row + rng.Rows.Count - 1
i = startRow
Do While i
If Cells(i, rng.Column).Value = Cells(i + 1, rng.Column).Value And Not IsEmpty(Cells(i, rng.Column)) Then
startRow = i
Do While Cells(i, rng.Column).Value = Cells(i + 1, rng.Column).Value And i
i = i + 1
Loop
Range(Cells(startRow, rng.Column), Cells(i, rng.Column)).Merge
Range(Cells(startRow, rng.Column), Cells(i, rng.Column)).VerticalAlignment = xlCenter
Range(Cells(startRow, rng.Column), Cells(i, rng.Column)).HorizontalAlignment = xlCenter
Else
i = i + 1
End If
Loop
End Sub
3、返回Excel界面,按Alt+F8调出宏列表,选择“MergeSameCells”并运行。
4、在工作表中先选中单列数据区域(如A2:A50),再执行宏,程序将自动跳过空白行并仅合并有值的连续相同项。
三、借助数据透视表实现逻辑“合并显示”(无真实合并)
此方法不实际合并单元格,而是通过透视表结构天然聚合相同项,在报表视图中呈现分组效果,规避合并单元格引发的排序、筛选、公式引用等兼容性问题。
1、确认源数据区域具备规范表结构:首行为字段名,无空行空列,每列数据类型一致。
2、选中任意数据单元格,按Ctrl+T将区域转为智能表格(推荐命名表名为“Table1”)。
3、插入 → 数据透视表 → 选择“Table1”为数据源,放置于新工作表。
4、将需“合并显示”的字段(如“部门”)拖入“行”区域,其他指标字段(如“销售额”)拖入“值”区域。
5、右键透视表任意行标签 → 选择“字段设置” → 勾选“以表格形式显示”及“重复所有项目标签”,此时相同部门名称仅在首行显示,下方留空,视觉上形成层级合并效果。
四、使用条件格式+手动调整对齐模拟合并效果
当仅需视觉对齐而无需真正合并时,可通过统一字体、边框与对齐方式,使相同内容在连续行中呈现整齐排布,避免破坏单元格结构。
1、选中目标列(如B2:B100),设置字体为“微软雅黑”,字号10,加粗关闭。
2、开始选项卡 → 对齐方式组 → 点击“垂直居中”和“水平居中”按钮,确保所有单元格对齐方式一致。
3、选中同一区域 → 开始 → 条件格式 → 新建规则 → 使用公式确定要设置格式的单元格。
4、输入公式:=B2=B1,设置格式为字体颜色设为白色、背景色设为与单元格同色,使重复值文字不可见。
5、再次选中区域 → 设置所有单元格顶部边框为细线,底部边框为空白,仅在首个相同值所在行显示下边框,形成区块分隔感。
今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
408 收藏
-
194 收藏
-
117 收藏
-
241 收藏
-
287 收藏
-
322 收藏
-
175 收藏
-
190 收藏
-
433 收藏
-
414 收藏
-
158 收藏
-
142 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习