Sub 下棋法之多条件多列汇总()
Dim 棋盘(1 To 10000, 1 To 6)
Dim 行数
Dim arr, x As Integer, sr As String, k As Integer
Set d = CreateObject("scripting.dictionary")
arr = Range("a2:h" & Range("H65536").End(xlUp).Row)
For x = 1 To UBound(arr)
sr = arr(x, 8) & "-" & arr(x, 7)
If d.Exists(sr) Then
行数 = d(sr)
棋盘(行数, 3) = 棋盘(行数, 3) + arr(x, 2)
棋盘(行数, 4) = 棋盘(行数, 4) + arr(x, 3)
棋盘(行数, 5) = 棋盘(行数, 5) + arr(x, 4)
棋盘(行数, 6) = 棋盘(行数, 6) + arr(x, 5)
Else
k = k + 1
d(sr) = k
棋盘(k, 1) = arr(x, 8)
棋盘(k, 2) = arr(x, 7)
棋盘(k, 3) = arr(x, 2)
棋盘(k, 4) = arr(x, 3)
棋盘(k, 5) = arr(x, 4)
棋盘(k, 6) = arr(x, 5)
End If
Next x
Range("J16").Resize(k, 6) = 棋盘
End Sub
|