VBA簡單入門40:用字典進行多列求和

VBA簡單入門40:用字典進行多列求和


VBA簡單入門40:用字典進行多列求和

要求:按條件1進行多列求和。


思路:

1、將單元格數據放進數組arr,定義數組brr,設定和arr一樣大小,用來存儲求和的數據

2、對條件1進行計數,用字典去重複值計數。

依次遍歷數組arr的數據,k=0,對條件1去重複計數,並用字典存儲計數。

A放進數組brr的第一行,計數k=k+1將其行號寫入字典,d("A")=k---->d("A")=1,此時,數組brr有一條數據

VBA簡單入門40:用字典進行多列求和

B放進數組brr的第二行,計數k=k+1將其行號寫入字典,d("B")=k---->d("B")=2,此時數組brr有兩條數據

VBA簡單入門40:用字典進行多列求和

C放進數組brr的第三行,計數k=k+1將其行號寫入字典,d("C")=k---->d("C")=3,此時數組brr有三條數據

VBA簡單入門40:用字典進行多列求和

D放進數組brr的第四行,計數k=k+1將其行號寫入字典,d("D")=k---->d("D")=4,此時數組brr有四條數據

VBA簡單入門40:用字典進行多列求和

當遍歷到第5條數據時,A重複了,因為已經將A作為關鍵字寫入了字典,此時通過r=d("A")讀取A在字典中的item,就是1。將數值1、2、3分別相加,

925+714; 311+309; 892+810 ,相加後的和仍然放在brr中的原來的位置,並用最新的值取代原來的值。

VBA簡單入門40:用字典進行多列求和

每當遇到重複數據的時候,都是如此操作,完成累加。

如遇到重複的B

VBA簡單入門40:用字典進行多列求和

這樣就相當於依次完成了按條件求和。

VBA簡單入門40:用字典進行多列求和

每個條件都重複如此的操作完成累加。

參考代碼如下:

VBA簡單入門40:用字典進行多列求和


例子2,多條件多列求和,原理一樣。將多個條件用 & 合併成一個key即可。

參考代碼:

VBA簡單入門40:用字典進行多列求和

希望大家寫寫這兩個代碼,常常用來求和。


分享到:


相關文章: