在大数据集上将SUMPRODUCT转换为VBA

我目前有一个大型数据集,该数据集针对使用多个条件得出了摘要。目前,我使用的Sumproduct可以正常工作,但数据量很大,因此使用大量的Sumproduct会导致电子表格运行缓慢。

在VBA中,我尝试了一些操作,在循环中评估Sumproduct并将答案粘贴为值,还尝试了WorksheetFunction SUMIFS,但也非常慢。

我在VBA中看到了数据字典的示例,看起来不错,但不确定我是否可以复制它。

我的数据示例:

StartDate    StartTime  EndDate     EndTime   ID      Quantity
07/10/2019   00:30:00   07/10/2019  01:30:00  ABC123   1000
07/10/2019   00:01:00   08/10/2019  17:30:00  ABC123   15
07/10/2019   03:30:00   09/10/2019  12:00:00  123ABC   2000
07/10/2019   00:01:00   10/10/2019  11:00:00  ABC123   55

摘要表: ID,日期和时间条件已经填充。 VBA将根据“数量”列中的条件输出金额。

ID ABC123

Date         Time      Quantity
07/10/2019   00:00:00  
07/10/2019   00:30:00
07/10/2019   01:00:00
07/10/2019   01:30:00

条件: 如果StartDate =日期,EndTime>时间

,则ID ABC123的总数量

Excel公式示例:

=SUMPRODUCT((StartDate<=$I3)*(StartTime<=$J3)*(EndDate>=$I3)*(EndTime>$J3)*(ID=$J$1)*Quantity)

结果:

ID ABC123

Date         Time      Quantity
07/10/2019   00:00:00   0
07/10/2019   00:30:00   1070
07/10/2019   01:00:00   1070
07/10/2019   01:30:00   70

为强调起见,我在VBA中尝试了SUMIFS和SUMPRODUCT,但摘要输出是一个庞大的时间序列表,其中包含很多行数据,因此确实很麻烦。

希望这很有道理...

avrilwang 回答:在大数据集上将SUMPRODUCT转换为VBA

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3136340.html

大家都在问