在excel VBA中汇总可见的单元格

我正在试图使用以下公式在数据表中总结一组可见的单元格:

=SUMPRODUCT(SUBTOTAL(109,OFFSET(C2:C6,ROW(C2:C6)-MIN(ROW(C2:C6)),,1,1))*(A2:A6="peter")*(B2:B6=201104)) 

由于我的仪表板有一个巨大的后端数据集(170k),当我使用这个公式(我必须在每个我要在前端显示的表上使用这个公式)时,仪表板冻结。

有没有办法来优化这个? 或者使用索引和匹配更快的方法。

如果将数据复制到另一个工作表,它可以很好地工作。 启用包含所有列的新数据透视表。 因此,在数据表中过滤数据时,复制的表格将只包含过滤的值。

数据透视performance在将只获取复制的数据(即过滤的数据)。 一旦完成,您需要在vba中添加一行代码:

 worksheets("Summary").pivottables("summary_view").pivotcache.refresh 

并自动更新数据透视表。 因此,当您使用列表框过滤表单中的数据时,数据透视表会自动更新