ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E文精选 > 操作与技巧 > 如何合并内容相同的相邻单元格呢?

如何合并内容相同的相邻单元格呢?

作者:绿色风 分类: 时间:2022-08-17 浏览:283
楼主
0Mouse
Q:如何合并内容相同的相邻单元格呢?
示例预览:
合并前:

 
合并后:

 
示例附件:
合并内容相同的相邻单元格.rar

A:以下7种解法均可实现预期效果。

解法1:
思路:添加辅助列,借助“定位”-“行内容差异单元格”功能在不同内容单元格交接处插入一个空白行进行分隔,再执行后续合并操作。
操作步骤:
1.单击A列列标选择A列,按下Ctrl+C,单击鼠标右键,选择“插入复制的单元格”;
2.拖拉选取A2:A16,往上拖移一行,使其覆盖A1:A15;
3.单击B2,按住鼠标左键不放,往左下角拖拉至A16,按下F5键,依次单击“定位条件”-“行内容差异单元格”-“确定”(快捷键:Ctrl+\),此时A5、A7、A10、A16单元格被选中;
4.按下Ctrl+Shift+=,在弹出的“插入”对话框中选择“整行”,确定;
5.拖拉选取A1:A18,按下F5键,依次单击“定位条件”-“常量”-“确定”;
6.按下Del键,单击“开始”选项卡“对齐方式”组的“合并后居中”按钮;
7.拖拉选取B1:B20,按下F5键,依次单击“定位条件”-“空值”-“确定”;
8.按下Ctrl+-(减号键),在弹出的“删除”对话框中选择“整行”,确定;
9.拖拉选取A1:A15,单击“开始”选项卡“剪贴板”组的“格式刷”按钮,单击B2;
10.单击A列列标选择A列,按下Ctrl+-(减号键),完毕。
注:如果内容相同的相邻单元格个数只有1个,则此法无效。
动画演示:

 
2楼
0Mouse
解法2:
思路:添加辅助列,借助公式+查找+定位在不同内容单元格交接处插入一个空白行进行分隔,再执行后续合并操作。
操作步骤:
1.单击A列列标选择A列,按下Ctrl+C,单击鼠标右键,选择“插入复制的单元格”;
2.单击A2,输入公式
  1. =B2=B1
回车,再双击A2右下角;
3.按下Ctrl+F,在“查找内容”框内输入“F”,单击“选项”按钮,“查找范围”选择“值”选项,单击“查找全部”按钮,按下Ctrl+A,再按下Esc键;
4.按下Ctrl+Shift+=,在弹出的“插入”对话框中选择“整行”,确定;
5.拖选A3:A20,按下F5键,依次单击“定位条件”-“公式”-“确定”;
6.按下Del键,单击“开始”选项卡“对齐方式”组的“合并后居中”按钮;
7.拖拉选取B1:B20,按下F5键,依次单击“定位条件”-“空值”-“确定”;
8.按下Ctrl+-(减号键),在弹出的“删除”对话框中选择“整行”,确定;
9.拖拉选取A2:A16,单击“开始”选项卡“剪贴板”组的“格式刷”按钮,单击B2;
10.单击A列列标选择A列,按下Ctrl+-(减号键),完毕。
注:1.如果内容相同的相邻单元格个数只有1个,则此法无效。
动画演示:

 
3楼
0Mouse
解法3:
思路:借助数据透视表的“布局和格式”选项。
操作步骤:
1.单击A1,再单击“插入”选项卡“表格”组的“数据透视表”按钮,确定;
2.单击生成的新工作表标签,再单击数据透视表区域,在“数据透视表字段列表”中勾选“日期”和“货品名称”两个字段;
3.单击“设计”选项卡“布局”组的“报表布局”按钮,在其下拉列表中选择“以表格形式显示”;再单击同组的“分类汇总”按钮,在其下拉列表中选择“不显示分类汇总”;
4.单击“选项”选项卡“显示”组的“+/-按钮”按钮;
5.单击鼠标右键,选择“数据透视表选项”命令,在弹出的对话框中单击“布局和格式”选项卡,勾选“合并且居中排列带标签的单元格”选项,确定;
6.拖拉选取透视表的A4:A18区域,按下Ctrl+C;
7.单击数据源表的A2,按下Ctrl+V;
8.单击“开始”选项卡“字体”组,选择相应的字号大小和填充颜色,完毕。
注:如果需要合并的数据不按升序或降序排列的话,需要先自定义一个序列,这样才能保证数据透视表处理后得到的数据顺序和数据源的一致。
动画演示:

 
4楼
0Mouse
解法4:
思路:借助“分类汇总”功能。
操作步骤:
1.单击A1,单击“数据”选项卡“分级显示”组的“分类汇总”按钮,在弹出的对话框中,“分类字段”选择“日期”,“汇总方式”选择“计数”,“选定汇总项”仅勾选“日期”,再勾选“替换当前分类汇总”和“汇总结果显示在数据下方”选项,确定;
2.拖拉选取B2:B19,单击“开始”选项卡“剪贴板”组的“格式刷”按钮,单击A2;
3.按下F5键,依次单击“定位条件”-“空值”-“确定”,再单击“开始”选项卡“对齐方式”组的“合并后居中”按钮;
4.单击B1,再单击“数据”选项卡“分级显示”组的“分类汇总”按钮,在弹出的对话框中,单击左下角的“全部删除”按钮;
5.单击“开始”选项卡“剪贴板”组的“格式刷”按钮,再单击B2;
6.单击A列列标选择A列,按下Ctrl+-(减号键),完毕。
动画演示:

 
5楼
0Mouse
解法5:
思路:VBA从下往上循环每个单元格进行判断,只要内容相同即将二者合并。
示例代码:
  1. Sub Merge1()
  2. Application.ScreenUpdating = False
  3. Application.DisplayAlerts = False
  4. Dim i%
  5. For i = [A1].CurrentRegion.Rows.Count To 2 Step -1
  6.     If Cells(i, 1) = Cells(i - 1, 1) Then
  7.         Range(Cells(i - 1, 1), Cells(i, 1)).Merge
  8.     End If
  9. Next
  10. Application.DisplayAlerts = True
  11. Application.ScreenUpdating = True
  12. End Sub
解法6:
关键:用字典的项记录每个不同内容的起始行数,再用下一个不同内容的起始行数减1即为上一内容的结束位置。
示例代码:
  1. Sub Merge2()
  2. Application.ScreenUpdating = False
  3. Application.DisplayAlerts = False
  4. Dim arr, brr, d As Object, i%, j%
  5. Set d = CreateObject("Scripting.Dictionary")
  6. arr = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
  7. d("") = 2
  8. For i = 2 To UBound(arr)
  9.     d(arr(i, 1)) = i + 1
  10. Next i
  11. brr = d.items
  12. For j = 0 To UBound(brr) - 1
  13.     Range(Cells(brr(j), 1), Cells(brr(j + 1) - 1, 1)).Merge
  14. Next j
  15. Set d = Nothing
  16. Erase brr: Erase arr
  17. Application.DisplayAlerts = True
  18. Application.ScreenUpdating = True
  19. End Sub
6楼
0Mouse
解法7:
思路:借助Word的“文本转换成表格”与“查找-替换”功能完成。
操作步骤:
1.拖拉选取A2:A16,按下Ctrl+C;
2.新建一个Word文档,依次单击“编辑”-“选择性粘贴”-“无格式文本”,确定;
3.按下Ctrl+H,依次进行如下5次替换操作,设置如各图所示,设置完成后均单击“全部替换”按钮,再按下Esc键退出“替换”对话框。
替换1:

 
替换2:

 
替换3:

 
替换4:

 
替换5:

 
5.选择文档中的4个段落,依次单击“表格”-“转换”-“文本转换成表格”,“列数”输1,“自动调整表格”选择“根据内容调整表格”,“文字分隔位置”选择“段落标记”,确定;
6.按下Ctrl+H,再依次进行如下2次替换操作,设置如各图所示,设置完成后均单击“全部替换”按钮,再按下Esc键退出“替换”对话框。
替换6:

 
替换7:

 
7.选择表格,单击Excel工作薄窗口,单击A2,按下Ctrl+V;
8.单击“开始”选项卡“对齐方式”组的“水平居中对齐”按钮,再在“开始”选项卡“字体”组中设置字号和填充颜色,完毕。
注:此种解法主要用于拓展思路和挖掘Word查找替换的功能,不适合实际工作采用。
7楼
captain
强人啊
8楼
千年一梦遥
学习
9楼
weikang2516
学习了
10楼
焱燚堂(南)
学习了,解法多是拓展思路的好方法,
11楼
绿篱
大神。。两点多都还在奋战中哇。。 话说第7种解法看的很晕乎  留待以后在看嘿   
12楼
大猫
那个操作速度真是神了
13楼
blackbh
这么多方法,还是习惯用VBA~
14楼
lingmo123555
不错哦**!
15楼
船到桥头自然直
16楼
后知
动画太快了  而且 这么多步骤 得多练几次,一遍之后根本记不住啊  
17楼
飞鱼不语
好全面的方法啊,就是动画有些快,我一连看了好多班才看懂!汗!
18楼
0Mouse
谢谢关注!我知错了,下不为例!
19楼
飞鱼不语
呵呵,应该是谢谢您的分享才对,期待能学到您更多的技巧!
20楼
chenguanghui
七种解法,牛啊
21楼
0Mouse
Q:如何合并内容相同的相邻单元格呢?
示例预览:
合并前:

 
合并后:

 
示例附件:
合并内容相同的相邻单元格.rar

A:以下7种解法均可实现预期效果。

解法1:
思路:添加辅助列,借助“定位”-“行内容差异单元格”功能在不同内容单元格交接处插入一个空白行进行分隔,再执行后续合并操作。
操作步骤:
1.单击A列列标选择A列,按下Ctrl+C,单击鼠标右键,选择“插入复制的单元格”;
2.拖拉选取A2:A16,往上拖移一行,使其覆盖A1:A15;
3.单击B2,按住鼠标左键不放,往左下角拖拉至A16,按下F5键,依次单击“定位条件”-“行内容差异单元格”-“确定”(快捷键:Ctrl+\),此时A5、A7、A10、A16单元格被选中;
4.按下Ctrl+Shift+=,在弹出的“插入”对话框中选择“整行”,确定;
5.拖拉选取A1:A18,按下F5键,依次单击“定位条件”-“常量”-“确定”;
6.按下Del键,单击“开始”选项卡“对齐方式”组的“合并后居中”按钮;
7.拖拉选取B1:B20,按下F5键,依次单击“定位条件”-“空值”-“确定”;
8.按下Ctrl+-(减号键),在弹出的“删除”对话框中选择“整行”,确定;
9.拖拉选取A1:A15,单击“开始”选项卡“剪贴板”组的“格式刷”按钮,单击B2;
10.单击A列列标选择A列,按下Ctrl+-(减号键),完毕。
注:如果内容相同的相邻单元格个数只有1个,则此法无效。
动画演示:

 
22楼
0Mouse
解法2:
思路:添加辅助列,借助公式+查找+定位在不同内容单元格交接处插入一个空白行进行分隔,再执行后续合并操作。
操作步骤:
1.单击A列列标选择A列,按下Ctrl+C,单击鼠标右键,选择“插入复制的单元格”;
2.单击A2,输入公式
  1. =B2=B1
回车,再双击A2右下角;
3.按下Ctrl+F,在“查找内容”框内输入“F”,单击“选项”按钮,“查找范围”选择“值”选项,单击“查找全部”按钮,按下Ctrl+A,再按下Esc键;
4.按下Ctrl+Shift+=,在弹出的“插入”对话框中选择“整行”,确定;
5.拖选A3:A20,按下F5键,依次单击“定位条件”-“公式”-“确定”;
6.按下Del键,单击“开始”选项卡“对齐方式”组的“合并后居中”按钮;
7.拖拉选取B1:B20,按下F5键,依次单击“定位条件”-“空值”-“确定”;
8.按下Ctrl+-(减号键),在弹出的“删除”对话框中选择“整行”,确定;
9.拖拉选取A2:A16,单击“开始”选项卡“剪贴板”组的“格式刷”按钮,单击B2;
10.单击A列列标选择A列,按下Ctrl+-(减号键),完毕。
注:1.如果内容相同的相邻单元格个数只有1个,则此法无效。
动画演示:

 
23楼
0Mouse
解法3:
思路:借助数据透视表的“布局和格式”选项。
操作步骤:
1.单击A1,再单击“插入”选项卡“表格”组的“数据透视表”按钮,确定;
2.单击生成的新工作表标签,再单击数据透视表区域,在“数据透视表字段列表”中勾选“日期”和“货品名称”两个字段;
3.单击“设计”选项卡“布局”组的“报表布局”按钮,在其下拉列表中选择“以表格形式显示”;再单击同组的“分类汇总”按钮,在其下拉列表中选择“不显示分类汇总”;
4.单击“选项”选项卡“显示”组的“+/-按钮”按钮;
5.单击鼠标右键,选择“数据透视表选项”命令,在弹出的对话框中单击“布局和格式”选项卡,勾选“合并且居中排列带标签的单元格”选项,确定;
6.拖拉选取透视表的A4:A18区域,按下Ctrl+C;
7.单击数据源表的A2,按下Ctrl+V;
8.单击“开始”选项卡“字体”组,选择相应的字号大小和填充颜色,完毕。
注:如果需要合并的数据不按升序或降序排列的话,需要先自定义一个序列,这样才能保证数据透视表处理后得到的数据顺序和数据源的一致。
动画演示:

 
24楼
0Mouse
解法4:
思路:借助“分类汇总”功能。
操作步骤:
1.单击A1,单击“数据”选项卡“分级显示”组的“分类汇总”按钮,在弹出的对话框中,“分类字段”选择“日期”,“汇总方式”选择“计数”,“选定汇总项”仅勾选“日期”,再勾选“替换当前分类汇总”和“汇总结果显示在数据下方”选项,确定;
2.拖拉选取B2:B19,单击“开始”选项卡“剪贴板”组的“格式刷”按钮,单击A2;
3.按下F5键,依次单击“定位条件”-“空值”-“确定”,再单击“开始”选项卡“对齐方式”组的“合并后居中”按钮;
4.单击B1,再单击“数据”选项卡“分级显示”组的“分类汇总”按钮,在弹出的对话框中,单击左下角的“全部删除”按钮;
5.单击“开始”选项卡“剪贴板”组的“格式刷”按钮,再单击B2;
6.单击A列列标选择A列,按下Ctrl+-(减号键),完毕。
动画演示:

 
25楼
0Mouse
解法5:
思路:VBA从下往上循环每个单元格进行判断,只要内容相同即将二者合并。
示例代码:
  1. Sub Merge1()
  2. Application.ScreenUpdating = False
  3. Application.DisplayAlerts = False
  4. Dim i%
  5. For i = [A1].CurrentRegion.Rows.Count To 2 Step -1
  6.     If Cells(i, 1) = Cells(i - 1, 1) Then
  7.         Range(Cells(i - 1, 1), Cells(i, 1)).Merge
  8.     End If
  9. Next
  10. Application.DisplayAlerts = True
  11. Application.ScreenUpdating = True
  12. End Sub
解法6:
关键:用字典的项记录每个不同内容的起始行数,再用下一个不同内容的起始行数减1即为上一内容的结束位置。
示例代码:
  1. Sub Merge2()
  2. Application.ScreenUpdating = False
  3. Application.DisplayAlerts = False
  4. Dim arr, brr, d As Object, i%, j%
  5. Set d = CreateObject("Scripting.Dictionary")
  6. arr = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
  7. d("") = 2
  8. For i = 2 To UBound(arr)
  9.     d(arr(i, 1)) = i + 1
  10. Next i
  11. brr = d.items
  12. For j = 0 To UBound(brr) - 1
  13.     Range(Cells(brr(j), 1), Cells(brr(j + 1) - 1, 1)).Merge
  14. Next j
  15. Set d = Nothing
  16. Erase brr: Erase arr
  17. Application.DisplayAlerts = True
  18. Application.ScreenUpdating = True
  19. End Sub
26楼
0Mouse
解法7:
思路:借助Word的“文本转换成表格”与“查找-替换”功能完成。
操作步骤:
1.拖拉选取A2:A16,按下Ctrl+C;
2.新建一个Word文档,依次单击“编辑”-“选择性粘贴”-“无格式文本”,确定;
3.按下Ctrl+H,依次进行如下5次替换操作,设置如各图所示,设置完成后均单击“全部替换”按钮,再按下Esc键退出“替换”对话框。
替换1:

 
替换2:

 
替换3:

 
替换4:

 
替换5:

 
5.选择文档中的4个段落,依次单击“表格”-“转换”-“文本转换成表格”,“列数”输1,“自动调整表格”选择“根据内容调整表格”,“文字分隔位置”选择“段落标记”,确定;
6.按下Ctrl+H,再依次进行如下2次替换操作,设置如各图所示,设置完成后均单击“全部替换”按钮,再按下Esc键退出“替换”对话框。
替换6:

 
替换7:

 
7.选择表格,单击Excel工作薄窗口,单击A2,按下Ctrl+V;
8.单击“开始”选项卡“对齐方式”组的“水平居中对齐”按钮,再在“开始”选项卡“字体”组中设置字号和填充颜色,完毕。
注:此种解法主要用于拓展思路和挖掘Word查找替换的功能,不适合实际工作采用。
27楼
captain
强人啊
28楼
千年一梦遥
学习
29楼
weikang2516
学习了
30楼
焱燚堂(南)
学习了,解法多是拓展思路的好方法,
31楼
天南地北
基础操作方法对一些只有一行的无需合并的会产生错误!比如插入多行了,比如实例中6月18日只有一次
32楼
小樱桃
33楼
lrlxxqxa
34楼
slg36
学习技巧
35楼
芐雨
36楼
七彩沫儿
看了3次才看懂的人,票桂平

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap