我有一个这样的电子表格:
Item Category | Customer Category --------------|------------------- A | Z A | Z A | Y B | Y B | Z B | Z etc.. on to > 35K rows.
我正在尝试编写一个VBA模块来计算和合并两列中相同的行,但不断缩短。
我希望输出如下:
Item Category | Customer Category | Count --------------|--------------------|------ A | Z | 2 A | Y | 1 B | Y | 1 B | Z | 2等等......
这听起来很简单,我在这里找到了很多关于排序和计算更复杂的电子表格的例子,但却找不到我的工作。
答案 0 :(得分:0)
使用高级过滤器尝试简单方式。
Sub Test()
Dim rng As Range, lrow As Long
With Sheet1
.Columns("E:G").ClearContents: .Range("G1") = "Count"
Set rng = .Range("A1", .Range("B" & .Rows.Count).End(xlUp))
rng.AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=.Range("E1"), Unique:=True
lrow = .Range("E" & .Rows.Count).End(xlUp).Row
With .Range("G2", "G" & lrow)
.Formula = "=COUNTIFS(A:A,E2,B:B,F2)"
.Value = .Value
End With
End With
End Sub
我认为这对35k来说没问题。因此,每次运行代码时,它都会将 A列和B列中的项目汇总到E到G列。只是为了让您入门。当然,最简单的是由Tim评论的 数据透视表 。 HTH