如何减少Sumproduct的处理时间?

时间:2018-02-06 14:27:11

标签: vba excel-vba excel

简介:我有一个电子表格,每天根据另一个工作表的值填充。目前,使用SUMPRODUCT公式填充细胞。这是一个更大的过程,我打算使用VBA自动化。

公式示例:

 =SUMPRODUCT(((TEXT(crstage!$W$3:$W$23625,"###")=TEXT(credits!$A4,"###"))*(crstage!$X$3:$X$23625)*(TEXT(B$3,"yymmdd")=LEFT(crstage!$F$3:$F$23625,6))))

问题:SUMPRODUCT公式的处理时间太长,无法满足我目前的需求。前几天的数字可能会有所变化,因此我必须在每个适用的单元格中保留SUMPRODUCT公式。

工作表:我有两个工作表,“学分”和“crstage”。我提供了信用和crstage工作表的模拟版本。工作表要大得多。

积分:某一天的每日总积分。这个工作表每天都会被一组新数据覆盖。这组新数据可以改变前一天的数量。

enter image description here

crstage:累计积分。 enter image description here

问题:利用VBA如何避免冗长的处理时间?

1 个答案:

答案 0 :(得分:1)

你可以让它像我在下面的截图中设置的那样工作吗?请参阅公式栏以获取关键公式。

enter image description here

B3中的公式= DATE(" 20"& LEFT(A3,2),MID(A3,3,2),MID(A3,5,2))

编辑:数据透视表解决方案可以在下图中看到:

enter image description here