Sub test()
Dim Arr, xD, xD1, T, TT, i&
Set xD = CreateObject("Scripting.Dictionary")
Set xD1 = CreateObject("Scripting.Dictionary")
Arr = Range("A1:B" & [A65536].End(3).Row)
For i = 2 To UBound(Arr)
T = Arr(i, 2): TT = Arr(i, 1) & T: xD(T & "") = ""
If Not xD1.Exists(TT) Then
xD1(TT & "") = xD1(TT & "") + 1
xD1(T & "") = xD1(T & "") + xD1(TT & "")
End If
Next
Range("E2").Resize(xD.Count) = Application.Transpose(xD.keys)
With Range("D2").Resize(xD.Count, 3)
.Sort key1:=.Item(2), Header:=xlNo
Arr = .Value
For i = 1 To UBound(Arr)
T = Arr(i, 2): Arr(i, 1) = i: Arr(i, 3) = xD1(T & "")
Next
.Value = Arr
End With
End Sub作者: peter460191 時間: 2021-6-29 11:03