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)

相关推荐