excel同一列中连续相同项,如何自动合并?
2015-05-09 16:35阅读:
数据有将近8000行,现在希望能够把品牌那一列,连续相同的数据合并成一个单元格,“数量”那列,在合并后,为该品牌的合计数。见原始图,要成为效果图那样。

(原始图)

(效果图)
有2种方法:
一、分类汇总+格式刷
对“品牌”列进行分类汇总,插入A列,选择A列(从A2开始,不要选A1)。见下图。
F5定位,选择空格,点击“开始”中“合并后居中”按钮(excel2007),然后删除全部汇总,结果见下图。

然后复制A列的格式,粘贴到B列上,删除A列,“品牌”列效果就成了上图“效果图
“的样子了。
对于”数量“的合计,在E列利用函数=COUNTIF($A$2:$E$7205,A2)。
最后,复制A列的格式,粘贴到E列,即可 。
二、VBA
先在
E列利用函数=COUNTIF($A$2:$E$7205,A2),计算出同一个品牌的数量,再将E列数据转化成数值(复制》选择性粘贴》数值),效果见下图。

然后,建立VBA函数,对A列进行同内容合并:
Sub Mergerng()
Dim IntRow As Integer
Dim i As Integer
Application.DisplayAlerts = False
With Sheet1
IntRow =
.Range('A65536').End(xlUp).Row
For i = IntRow To 2 Step -1
If .Cells(i,
1).Value = .Cells(i - 1, 1).Value Then
.Range(.Cells(i - 1, 1), .Cells(i, 1)).Merge
End If
Next
End With
Application.DisplayAlerts = True
End Sub
(上面代码中,cells(i,1)代表第一列,cells(i,2)代表第二列。)
效果见下图:

最后复制A列的格式到E列即可。
更多文章,可扫描、关注以下二维码:
