- Sub test()
- Set D = CreateObject("scripting.dictionary")
- ARR = Range("A2:F" & Range("A65536").End(3).Row)
- For I = 1 To UBound(ARR)
- If Not D.exists(ARR(I, 1)) Then
- D.Add ARR(I, 1), I
- ARR(D(ARR(I, 1)), 4) = ARR(D(ARR(I, 1)), 3)
- ARR(D(ARR(I, 1)), 6) = 1
- Else
- ARR(D(ARR(I, 1)), 4) = ARR(D(ARR(I, 1)), 4) + ARR(I, 3)
- ARR(D(ARR(I, 1)), 6) = ARR(D(ARR(I, 1)), 6) + 1
- End If
- Next
- For I = 1 To UBound(ARR)
- If ARR(I, 4) <> "" Then
- ARR(I, 4) = ARR(I, 4) / ARR(I, 6)
- ARR(I, 5) = ARR(I, 3) / ARR(I, 4)
- Else
- ARR(I, 5) = ARR(I, 3) / ARR(D(ARR(I, 1)), 4)
- End If
- Next
- Range("A2").Resize(UBound(ARR), 5) = ARR
- End Sub
复制代码
计算平均值.rar
(11.59 KB, 下载次数: 10)
|