VBA代碼如下(註:附件中有樣本文件,以供測試。另,妳可能需要安裝微軟的OFFICE並啟用宏——以提供運行VBA的環境)
Sub?test()Dim?mAry,?i?As?Long,?j?As?Long,?arr,?brr,?tmp1,?tmp2
Dim?d?As?Object
Set?d?=?CreateObject("scripting.dictionary")
mAry?=?[a1].CurrentRegion
For?i?=?2?To?UBound(mAry,?1)
d(mAry(i,?2))?=?d(mAry(i,?2))?+?mAry(i,?3)
Next
arr?=?d.keys:?brr?=?d.items
tmp1?=?"":?tmp2?=?0
For?i?=?0?To?UBound(arr)?-?1
For?j?=?i?To?UBound(arr)
If?brr(j)?>?brr(i)?Then
tmp1?=?arr(i):?tmp2?=?brr(i)
arr(i)?=?arr(j):?brr(i)?=?brr(j)
arr(j)?=?tmp1:?brr(j)?=?tmp2
End?If
Next
Next
[E2].Resize(d.Count,?2)?=?Application.Transpose(Array(arr,?brr))
End?Sub