我需要创建一个模块,该模块将计算具有其他条件的指定日期范围内的值量。
例如,我在C列中有一个产品列表(产品A,B,C,D),在G列中有它们的销售日期。 我需要计算1998年1月1日之前售出的所有产品A。然后,我需要计算在1998年1月1日到2005年1月1日之间出售的产品A。
我需要能够针对所有类型的产品运行此程序,并将产品分组在一起。
例如计算1998年1月1日之前售出的所有产品A和B。
必须每周对新工作簿执行一次,因此理想情况下每周必须能够为新工作簿运行。标签名称始终保持不变。
任何有关入门的帮助将不胜感激
答案 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执行类似于数组的操作,因此请避免使用完整的列引用,并尝试将其限制为需要检查的数据。否则,您可能会注意到系统中的速度变慢,因为正在执行多个多余的计算。