如何计算/合并相同的数据行并将其添加到列中

比方说,我有10,000行数据,下面显示的示例,其中H1 = Header1

我试图合并所有相同的列,并反映在最后一列(Header6),即我试图将它们全部添加,折叠重复的行。 然而,我面临的困难是这些(包括header6)是文本而不是数字。 最好使用excel VBA(数据必须在excel中)

  H1 H2 H3 H4 H5 H6 AA BB EE HH KK 1* AA CC EE GG KK 1* AA CC EE GG KK 1* AA CC EE GG KK 1* AA DD FF HH KK 1* AA DD FF HH KK 1* 

标准是所有字段, header1header5必须是相同的,并将其添加到header6 。 这种情况的结果应该如下:

  H1 H2 H3 H4 H5 H6 AA BB EE HH KK 1* AA CC EE GG KK 3* AA DD FF HH KK 2* 

我尝试了很多方法,但无济于事。 我真的很感激任何帮助。

尝试这个:

 Sub TEST() Dim Dic As Object, Cl As Range, i&, s$, key As Variant Set Dic = CreateObject("Scripting.Dictionary") Dic.comparemode = vbTextCompare i = Cells(Rows.Count, "A").End(xlUp).Row For Each Cl In Range("A2:A" & i) s = Cl & "|" & _ Cl.Offset(, 1) & "|" & _ Cl.Offset(, 2) & "|" & _ Cl.Offset(, 3) & "|" & _ Cl.Offset(, 4) & "|" & _ Cl.Offset(, 5) If Not Dic.exists(s) Then Dic.Add s, 1 Else Dic(s) = CLng(Dic(s)) + 1 End If Next Cl Worksheets.Add i = 2 [A1:F1].Value = Split("H1|H2|H3|H4|H5|H6", "|") For Each key In Dic Range(Cells(i, "A"), Cells(i, "E")).Value = Split(key, "|") Cells(i, "F") = Dic(key) i = i + 1 Next key End Sub 

资源

在这里输入图像说明

目的地

在这里输入图像说明