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有一条数据
B放进数组brr的第二行,计数k=k 1将其行号写入字典,d('B')=k---->d('B')=2,此时数组brr有两条数据
C放进数组brr的第三行,计数k=k 1将其行号写入字典,d('C')=k---->d('C')=3,此时数组brr有三条数据
D放进数组brr的第四行,计数k=k 1将其行号写入字典,d('D')=k---->d('D')=4,此时数组brr有四条数据
当遍历到第5条数据时,A重复了,因为已经将A作为关键字写入了字典,此时通过r=d('A')读取A在字典中的item,就是1。将数值1、2、3分别相加,
925 714; 311 309; 892 810 ,相加后的和仍然放在brr中的原来的位置,并用最新的值取代原来的值。
每当遇到重复数据的时候,都是如此操作,完成累加。
如遇到重复的B
这样就相当于依次完成了按条件求和。
每个条件都重复如此的操作完成累加。
参考代码如下:
例子2,多条件多列求和,原理一样。将多个条件用 & 合并成一个key即可。
参考代码:
希望大家写写这两个代码,常常用来求和。
赞 (0)