龙空技术网

VBA简单入门40:用字典进行多列求和

套路Excel 1851

前言:

现在咱们对“vba多条件求和”大概比较珍视,你们都需要知道一些“vba多条件求和”的相关资讯。那么小编在网上收集了一些对于“vba多条件求和””的相关知识,希望同学们能喜欢,看官们一起来学习一下吧!

要求:按条件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即可。

参考代码:

希望大家写写这两个代码,常常用来求和。

标签: #vba多条件求和 #vba去重复接条件汇总数据代码 #vba按条件累加