excel - 使用 Excel 公式计算某个值落在的唯一天数

标签 excel excel-formula

我有以下数据:

enter image description here

我尝试了许多公式,不断返回#Div/0 或#Value,但我得到了一个我认为可以工作的公式,但我不知道如何调整它,我对公式很陌生:

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

据我所知,通过使用 Ctrl + Shift + Enter,它创建了一个数组,在这种情况下返回 1,在这种情况下是正确的,因为“H72”只有 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 个唯一日期

-----更新-----

所以我尝试了另一个公式,利用 SUMPRODUCTCOUNTIF它给出了我正在寻找的结果,除非有重复的日期,然后显示 2.5 而不是显示 3:

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

请问有人可以帮忙吗?

在此先感谢您的帮助。

最佳答案

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

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

support article

此外,此公式确实忽略了空白值。

和之前一样,需要用 CtrlShiftEnter 输入

关于excel - 使用 Excel 公式计算某个值落在的唯一天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48783024/

相关文章:

vba - 将字符串转换为 RGB() 值的 Long

java - JSON 格式到 excel

excel - IFERROR Vlookup 输出 0,如何避免这种情况

excel - 动态更改公式中的单元格引用?

excel - 具有多个 VLOOKUP 的 SUM 行

excel - 防止循环更新所有子字典值

按街道名称排列的 VBA 组属性

excel - 总工作时间计算公式

excel - 返回下一个包含值范围的所有单元格

Phpspreadsheet - 时间单元格检索为 float