取出現次數最多的數據比較麻煩,但是有辦法實現:掃描全表壹次,使用字典對象記錄所有數據出現的次數,代碼框架:
Set?db=CreateObject("Scripting.Dictionary")aarr=Range("A1").CurrentRegion
for?i=1?to?Ubound(arr)
k=arr(i,1)
v=arr(i,2)
if?not?db.Exists(k)?then?db.add?k,?CreateObject("Scripting.Dictionary")
db(k)(v)=db(k)(v)+1
next?i
程序執行後db("張")的數據為{2->2,4->1}
顯示這些數據到套路如下:
i=2?'輸出行j=10'輸出列
for?each?k?in?db.keys
cells(i,j)=k
x=0
for?each?v?in?db(k).keys
if?db(k)(v)>x?then
x=db(k)(v)
y=v'至少執行壹次,x初始為0
end?if
next?v
cells(i,j+1)=y
i=i+1'下壹行
next?k