我需要的是根据FIAP / Medium& amp;的标准来计算TITLE中的唯一值的公式。一年。
这需要首先查看工作表列M /年中的日期,范围 23/03/13 - 01/06/16 。然后,它需要检查列I / FIAP Medium寻找'Digital ',最后计算A / Title中的唯一图像。
这是工作表栏
Title FIAP/Medium Year
Conors Push Digital 3/23/2013
Conors Push Digital 4/1/2013
Flippin Hell Digital 4/1/2013
Narrowing the Gap Digital 4/1/2013
The Perfect Storm Digital 4/8/2013
Conors Push Digital 4/12/2013
Splash and Dash Digital 4/12/2013
Wind Power Digital 4/12/2013
Conors Push - 4/28/2013
Eyes On The Ball - 4/28/2013
Narrowing the Gap - 4/28/2013
The Bunkers Demise - 4/28/2013
A Few Inches More Digital 5/1/2013
Entwined Digital 5/1/2013
Conors Push Digital 5/14/2013
Fosbury Delight Digital 5/14/2013
Narrowing The Gap Digital 5/14/2013
Sprint For The Lin Digital 5/14/2013
我想出了公式
=SUM(--(FREQUENCY(IF(International!M2:M1000>="6/1/2016",IF(International!M2:M1000<="3/23/2013",IF(International!I2:I1000<>"",IF(International!I2:I1000="Digital",MATCH(International!A2:A1000,International!A2:A1000,0))))),ROW(International!A2:A1000)-ROW(International!A2)+1>0)))
但它显示零值。这可能是因为日期条件需要两个条件,一列。
请根据这些条件帮助我使用此公式或任何其他方法进行统计。特别日期
答案 0 :(得分:5)
基于SUMPRODUCT和COUNTIF函数的伪COUNTUNIQUE¹有一种相当常见的方法。
=SUMPRODUCT(1/COUNTIF(A2:A19, A2:A19&""))
但这确实可以弥补条件。要添加条件,您需要更改为COUNTIFS function。此外,除法运算的分子和分母都必须通过条件和条件的倒数进行调整,以便返回真实计数而不会错误地使用#DIV/0!
。
=SUMPRODUCT(((C$2:C$19>=F2)*(C$2:C$19<=G2)*($B$2:$B$19=E2))/
(COUNTIFS(A$2:A$19, A$2:A$19&"", C$2:C$19, ">="&F2, C$2:C$19, "<="&G2, $B$2:$B$19, E2)+
(C$2:C$19<F2)+(C$2:C$19>G2)+($B$2:$B$19<>E2)))
现在该公式难以维持,行数有不断的增加和删除。要创建动态范围,我们可以INDEX每个完整列,并使用MATCH找到最后一个日期作为每列的终结符。
=SUMPRODUCT(((C$2:INDEX(C:C, MATCH(1E+99,C:C ))>=F2)*(C$2:INDEX(C:C, MATCH(1E+99,C:C ))<=G2)*($B$2:INDEX(B:B, MATCH(1E+99,C:C ))=E2))/
(COUNTIFS(A$2:INDEX(A:A, MATCH(1E+99,C:C )), A$2:INDEX(A:A, MATCH(1E+99,C:C ))&"", C$2:INDEX(C:C, MATCH(1E+99,C:C )), ">="&F2, C$2:INDEX(C:C, MATCH(1E+99,C:C )), "<="&G2, B$2:INDEX(B:B, MATCH(1E+99,C:C )), E2)+
(C$2:INDEX(C:C, MATCH(1E+99,C:C ))<F2)+(C$2:INDEX(C:C, MATCH(1E+99,C:C ))>G2)+($B$2:INDEX(B:B, MATCH(1E+99,C:C ))<>E2)))
是的,这看起来像一团糟,但它动态地添加和减去由SUMPRODUCT函数处理的行,以便计算效率非常高。
¹有关其工作原理的说明,请参阅Count Unique with SUMPRODUCT() Breakdown。
答案 1 :(得分:0)
你的公式适用于一些调整:
需要使用DateValue()函数将日期字符串转换为日期值
日期的比较运算符互换(应该是&lt; = 2016 date和&gt; = 2013 date)
与&#34;数字&#34;的比较需要扭转
对于条件失败的情况,最里面的IF语句需要零作为值
我删除了不需要的最外面的括号
以下是适用的修改版本:
=频率(IF(国际M2:M1000&LT = DATEVALUE(&#34 6 /二千〇一十六分之一&#34),IF(国际M2:!M1000&GT; = DATEVALUE(&#34 3/23 / 2013&#34),IF(国际I2:I1000&LT;&GT;&#34;&#34;,IF(国际I2:!I1000&LT;&GT;&#34;数字&#34;,MATCH(国际A2: !A1000,国际A2:A1000,0),0)))),ROW(国际A2:!A1000)-ROW(国际A2)+ 1&0)