如何在COUNTIFS函数中使用SUBTOTAL?

时间:2015-09-16 08:56:55

标签: excel function

我使用此功能

=SUM(COUNTIFS(Combined!B:B;Sheet1!B3;Combined!K:K;{"1";"2";"3";"4";"G";"L";"Π"}))

我只需要从工作表中加总可见单元格"合并"。

我也尝试过使用SUBTOTAL:

=SUMPRODUCT((Combined!B:B=Sheet1!B3)*(Combined!K:K={"1";"2";"3";"4";"G";"L";"Π"}‌​);SUBTOTAL(103;OFFSET(Combined!B:B;ROW(Combined!B:B)-MIN(ROW(Combined!B:B));0;1;1‌​)))

我如何得到我的结果?

1 个答案:

答案 0 :(得分:0)

假设您的数据从第2行开始(适当修改):

=SUMPRODUCT((Combined!B2:B100=Sheet1!B3)*(Combined!K2:K100={"1","2","3","4","G","L","Π"})*SUBTOTAL(103,OFFSET(Combined!B2,ROW(Combined!B2:B100)-MIN(ROW(Combined!B2:B100)),)))

请注意,您不应在SUMPRODUCT中使用整个列引用。

使用某些功能,例如COUNTIF(S)/ SUMIF(S),您可以在不损害性能的情况下引用整个列,但不能使用在数组上运行的函数,例如AGGREGATE,SUMPRODUCT和任何需要CSE的构造。

为引用的最后一行选择一个适当低但足够的上限(我在这里选择100),或者更好的是,使您的范围动态化,这样它们会随着您的数据扩展/收缩而自动调整。

此致