1

我正在尝试使用以下公式对数据表中的一组可见单元格求和:

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

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

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

4

1 回答 1

0

如果您将数据复制到另一张工作表,它会完美运行。启用包含所有列的新数据透视表。因此,在数据表中过滤数据时,复制的表将仅包含过滤后的值。

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

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

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

于 2013-08-12T08:00:55.813 回答