使用Excel FOrmula计算特定值落入的唯一天数

时间:2018-02-14 08:51:31

标签: excel excel-formula

我有以下数据:

enter image description here

我尝试了许多公式,不断返回#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

所以我尝试了另一个公式,使用SUMPRODUCTCOUNTIF并且它给出了我要查找的结果,除非有重复的日期,然后显示3,它显示2.5 :

enter image description here

=SUMPRODUCT(((A2:A10 <> "")*(B2:B10=C1))/COUNTIF(A2:A10,A2:A10 & ""))

请有人帮忙吗?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

因为日期是数值,所以您不需要使用匹配

=SUM(IF(FREQUENCY(IF(B2:B10=C1,A2:A10),A2:A10)>0,1))

请参阅support article

此公式也会忽略空白值。

和以前一样,需要输入 Ctrl Shift Enter

答案 1 :(得分:1)

试试这个:

C1

注意:

  • H72是您的查找价值,例如{{1}}
  • 必须以数组公式{CTRL + SHIFT + ENTER}
  • 输入公式