- Sub Macro1()
- Dim arr, brr(1 To 2000, 1 To 4), d, i&, s&, n&
- Set d = CreateObject("scripting.dictionary")
- arr = Range("a1").CurrentRegion
- For i = 2 To UBound(arr)
- If Not d.exists(arr(i, 1)) Then
- s = s + 1
- d(arr(i, 1)) = s
- brr(s, 1) = arr(i, 1)
- brr(s, 2) = 1
- brr(s, 3) = arr(i, 4)
- brr(s, 4) = brr(s, 3) / brr(s, 2)
- Else
- n = d(arr(i, 1))
- brr(n, 2) = brr(n, 2) + 1
- brr(n, 3) = brr(n, 3) + arr(i, 4)
- brr(n, 4) = brr(n, 3) / brr(n, 2)
- End If
- Next
- Sheet2.Activate
- [a1:d1] = Array("班级", "人数", "总分", "平均分")
- Range("a2").Resize(s, 4) = brr
- End Sub
复制代码 |