繁体   English   中英

MS Excel 2010使用多个条件和EDATE计算唯一值

[英]MS Excel 2010 Count unique values with multiple criteria and EDATE

我正在尝试按状态并在日期范围内获取列在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。 谢谢!

我设法解决了。 EDATE无法正常工作,因此我在单元格:G1中输入了月份日期,然后在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个数组公式方面相当慢……但是它可以工作!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM