我有以下数据:
我尝试了许多公式,不断返回#Div / 0或#Value,但我已经得到了一个我认为可以工作的公式,但我不知道如何适应它,我对公式很新:< / p>
=SUM(IF(FREQUENCY(MATCH(C1,B2:B10,0),MATCH(C1,B2:B10,0))>0,1))
通过使用Ctrl + Shift + Enter,它根据我的理解创建了一个数组,在这种情况下返回1,这在这种情况下是正确的,因为&#34; H72&#34;只有1个唯一值。
如果我将公式更改为:
=SUM(IF(FREQUENCY(MATCH(B2:B10,B2:B10,0),MATCH(B2:B10,B2:B10,0))>0,1))
并按Ctrl + Shift + Enter,我得到一个值3,这也是正确的,因为列表中有3个唯一值(H72,H7,T122)。
但是,我想要做的是从列A中获取唯一日期的数量,其中列B =单元格C1(在本例中为H72),但我不知道如何调整此公式。换句话说,在这种情况下必须返回的值是3,因为H72属于3个不同的日期。但是,如果有重复:
日期|数据
2017-12-01 | H72
2017-12-01 | H72
2017-12-02 | H72
总数应该只有2,因为H72属于2个独特日期
----- ------ UPDATE
所以我尝试了另一个公式,使用SUMPRODUCT
和COUNTIF
并且它给出了我要查找的结果,除非有重复的日期,然后显示3,它显示2.5 :
=SUMPRODUCT(((A2:A10 <> "")*(B2:B10=C1))/COUNTIF(A2:A10,A2:A10 & ""))
请有人帮忙吗?
提前感谢您的帮助。
答案 0 :(得分:3)
因为日期是数值,所以您不需要使用匹配
=SUM(IF(FREQUENCY(IF(B2:B10=C1,A2:A10),A2:A10)>0,1))
此公式也会忽略空白值。
和以前一样,需要输入 Ctrl Shift Enter
答案 1 :(得分:1)
试试这个:
C1
注意:
H72
是您的查找价值,例如{{1}}