我试图按状态和日期范围计算Col A中列出的所有唯一值,例如截至2018年4月底的所有记录。
我可以通过以下公式获得状态(结果为2)的唯一值计数:
{=SUMPRODUCT(1*(FREQUENCY(IF($C$2:$C$14=F10,MATCH($A$2:$A$14,$A$2:$A$14,0)),ROW($A$2:$A$14)-ROW($A$2))>0))}
但是我无法让IF功能与EDATE一起使用。我试过以下但是结果是0。结果应为1。
{=SUMPRODUCT(1*(FREQUENCY(IF(D2:D14="<"&EDATE(G1,1),IF($C$2:$C$14=F10,MATCH($A$2:$A$14,$A$2:$A$14,0))),ROW($A$2:$A$14)-ROW($A$2))>0))}
我无法使用Pivot,因为我需要包含日期范围过滤器。有人可以看看我的代码并告诉我我做错了什么?我正在使用CSE和我的公式。三江源!
答案 0 :(得分:0)
我设法解决了这个问题。 EDATE没有工作,所以我在单元格中输入了月份日期:G1然后使用“&lt; =”在IF公式中引用它,例如:IF(D2:D14 <= G1)。
整数公式为:
`{=SUMPRODUCT(1*(FREQUENCY(IF(D2:D14<=G1,IF($C$2:$C$14=F10,MATCH($A$2:$A$14,$A$2:$A$14,0))),ROW($A$2:$A$14)-ROW($A$2))>0))}
我现在收到1的正确数,但我必须确保我已经进入G1的月末。状态在F10中引用,唯一值的计数在A列中。
我的完整数据集来自多个文档,每个文档超过5000行,并且每天都在增长,因此我的工作簿计算超过1000个数组公式的速度非常慢......但它确实有效!
如果有人知道更快(可能是非阵列)的公式,我将不胜感激!谢谢!