假设我有10,000行数据,如下所示,H1
= Header1
。
我尝试合并所有相同的列并在最后一列(Header6)中反映出来,即我试图将它们全部添加,折叠重复的行。但是,我面临的困难是这些(包括标题6)是文本而不是数字。最好使用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*
标准是所有字段header1
与header5
必须相同,并将其添加到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*
我尝试了很多方法但无济于事。我真的很感激任何帮助。
答案 0 :(得分:0)
试试这个:
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
来源
目标强>