对过滤数据进行 Subtotal 和 Countif 合并

对过滤数据进行 Subtotal 和 Countif 合并

是否可以对过滤后的数据进行计算?在这种情况下,按年份过滤数据并计算“入住前 x 天内的预订数量”,其中 x = D4,例如 100

我使用的是 365。按 F6(入住年份)过滤数据。在 C4 中显示小于 D4 值的预订数量

例子

我对 F6“入住年份”上的数据进行排序,这些工作。在 B2 中,我有=SUBTOTAL(103,A7:A240) 在 F2 中,我有=SUBTOTAL(109,D7:D240)/B2

我试过=COUNTIF(D7:D240,"<10")=SUBTOTAL(3,D7:D240)<10,但我对 SubTotal 和 Count 的了解恐怕有限。希望有人知道。

答案1

警告

此解决方案基于上述 OP 发布的信息。

我假设你的数据集是A7:F15您可以对此进行相应调整。

  • 您的第一个要求是 D4 中的 COUNT 预订量低于基准。

这可以使用 COUNIF 或 SUMPRODUCT 来计算。

=COUNTIF(D7:D15,"<"&D4)

=SUMPRODUCT(--(D7:D15<D4))

  • 如果您想过滤其他数据,请使用以下命令:

    =FILTER(A7:F15,D7:D15<D4,"")

  • 这将过滤掉天数少于 D4 的所有记录。

另一个是,

=FILTER(A7:F15,(D7:D15<D4)*(F7:F15=2019),"")

  • 这将过滤掉所有天数小于 D4 且年份为 2019 或其他年份的记录。

如果您想要摘要,请尝试这个。

答案 20: =UNIQUE(F7:F15)

  • 然后在相邻的单元格中。

    B20:=SUMPRODUCT(--(D7:D15<$D$4)*(F7:F15=A20))

注意: 根据需要调整单元格引用。

答案2

谢谢 Rajesh。正确答案是

=SUMPRODUCT(SUBTOTAL(3,OFFSET(D7:D16,ROW(D7:D16)-MIN(ROW(D7:D16)),,1))*(D7:D16>=D4))

我在 YouTube 上找到了“如何使用 COUNTIF 仅分析过滤数据集中的可见行?”

再次感谢。

相关内容