|
用VBA做的,结果生成在G1,试试o不o把!{:1712:}
- Sub test()
- Dim d As Object
- Dim ar, br(1 To 10000, 1 To 100)
- Dim i As Long, j As Long, k As Long
- Set d = CreateObject("scripting.dictionary")
- ar = Cells(1, 1).CurrentRegion
- br(1, 1) = ar(1, 1): br(1, 2) = "输出": j = 1
- For i = 2 To UBound(ar)
- If d.exists(ar(i, 1)) Then
- d(ar(i, 1)) = Array(d(ar(i, 1))(0), d(ar(i, 1))(1) + 1)
- If d(ar(i, 1))(1) > k Then k = d(ar(i, 1))(1)
- br(d(ar(i, 1))(0), d(ar(i, 1))(1)) = ar(i, 2)
- Else
- j = j + 1
- d.Add ar(i, 1), Array(j, 2)
- br(j, 1) = ar(i, 1)
- br(j, 2) = ar(i, 2)
- End If
- Next i
- With Cells(1, 7)
- .Resize(Rows.Count, k).ClearContents
- .Resize(j, k) = br
- End With
- End Sub
复制代码
|
|