如何使用多个过滤器对数据范围内的值进行计数

时间:2019-01-07 11:01:08

标签: excel excel-formula date-range countif

我需要创建一个模块,该模块将计算具有其他条件的指定日期范围内的值量。

例如,我在C列中有一个产品列表(产品A,B,C,D),在G列中有它们的销售日期。 我需要计算1998年1月1日之前售出的所有产品A。然后,我需要计算在1998年1月1日到2005年1月1日之间出售的产品A。

我需要能够针对所有类型的产品运行此程序,并将产品分组在一起。

例如计算1998年1月1日之前售出的所有产品A和B。

必须每周对新工作簿执行一次,因此理想情况下每周必须能够为新工作簿运行。标签名称始终保持不变。

任何有关入门的帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

此答案将假定您的日期在G列中输入为excel日期,而不是文本。您可以使用公式=ISNUMBER(G3)进行测试,其中G3是您的日期之一。如果返回true,则将正确存储您的日期以供excel公式和此答案使用。

=SUMPRODUCT((($C$1:$C$100="A")+($C$1:$C$100="B"))*($G$1:$G$100<Date(1998,1,1))

这就是如何对其进行硬编码。我个人会建立一张桌子。表格的每一行都是您想知道其计数的产品,该计数的总和将为您提供总计。如果需要多种组合,请重复该表。

在以下示例中,对单个产品进行了计数,然后列出的所有产品的总数为总数。 L3中示例的公式并为每个产品抄写下来的公式是:

=SUMPRODUCT(($C$2:$C$9=$J4)*($G$2:$G$9<K4))

表格底部的总数是一个简单的SUM公式。由于SUMPRODUCT执行类似于数组的操作,因此请避免使用完整的列引用,并尝试将其限制为需要检查的数据。否则,您可能会注意到系统中的速度变慢,因为正在执行多个多余的计算。

POC