MS Excel 2010 计算具有多个条件和 EDATE 的唯一值

MS Excel 2010 Count unique values with multiple criteria and EDATE

我正在尝试按州和日期范围计算列 A 中列出的所有唯一值的数量,例如截至 2018 年 4 月底的所有记录。

我可以使用以下公式按州(结果为 2)获取唯一值的计数:

{=SUMPRODUCT(1*(FREQUENCY(IF($C:$C=F10,MATCH($A:$A,$A:$A,0)),ROW($A:$A)-ROW($A))>0))}

但我无法让 IF 函数与 EDATE 一起工作。我尝试了以下但结果为 0。结果应该是 1.

{=SUMPRODUCT(1*(FREQUENCY(IF(D2:D14="<"&EDATE(G1,1),IF($C:$C=F10,MATCH($A:$A,$A:$A,0))),ROW($A:$A)-ROW($A))>0))}

我无法使用 Pivot,因为我需要包括日期范围过滤器。有人可以看看我的代码并告诉我我做错了什么吗?我在我的公式中使用 CSE。谢谢!

我设法解决了。 EDATE 不起作用,所以我在 cell:G1 中输入了月份日期,然后在 IF 公式中使用“<=”引用它,例如:IF(D2:D14<=G1).

整个数组公式为:

`{=SUMPRODUCT(1*(FREQUENCY(IF(D2:D14<=G1,IF($C:$C=F10,MATCH($A:$A,$A:$A,0))),ROW($A:$A)-ROW($A))>0))}

我现在收到正确的计数 1,但我必须确保我在 G1 中输入了该月的最后一天。状态在 F10 中引用,唯一值的计数在列 A 中。

我的完整数据集来自多个文档,每个文档超过 5000 行并且每天都在增长,所以我的工作簿计算超过 1000 个数组公式的速度非常慢......但它有效!

如果有人知道更快(可能是非数组)的公式,我将不胜感激!谢谢!