【问题标题】:Excel - How to count unique days in a list a duplicated daysExcel - 如何计算列表中的唯一天数和重复天数
【发布时间】:2016-10-11 02:42:59
【问题描述】:

有一个日期列表,例如:

01-giu-16
01-giu-16
01-giu-16
31-mag-16
31-mag-16
31-mag-16
31-mag-16
30-mag-16

我正在寻找一个帮助我计算列表中唯一天数的 Excel 公式(在本例中为 3)

此外,我只需要计算下一列中具有特定 ID 的日期(例如 1565)

【问题讨论】:

  • 第一个问题,日期是否存储为 excel 日期时间序列?当您将单元格格式更改为一般格式时,它们会显示像 4265 这样的数字吗?或者,如果您愿意,=isnumber(A1),其中 A1 是日期之一,它是否返回 true?
  • 您的日期是否总是被分组或排序?
  • 未分组/排序列表,它们是单元格编号
  • 您在示例中显示的对日期进行排序与​​对文本或数字进行排序和计数之间存在很大差异。

标签: excel list date formula days


【解决方案1】:

无需任何附加条件,您可以通过使用来实现唯一性计数

=SUMPRODUCT(1/COUNTIF(A1:A8,A1:A8)),假设您的数据在A1:A8 范围内。

要根据其他标准进行评估(假设它们在 B 列中),请使用

{=SUM(--(FREQUENCY(IF(B1:B8=1565,MATCH(A1:A8,A1:A8,0)),ROW(A1:A8)-ROW(A1)+1)>0))}

这是一个 数组 公式:完成编辑后使用 Ctrl + Shift + Return(不要自己输入花括号)。虽然我个人认为这超出了复杂性的合理阈值:我倾向于对代表输入数据的中间转换的列采用第一种方法。

【讨论】:

    【解决方案2】:

    假设您的数据在 A 列中,并且有一个标题行。所以第一个数据编号实际上会在 A2 中。将此公式放在 B2 中并复制到您的列表旁边。它将从 A 列生成一个唯一单元格编号列表。获得列表后,您只需使用一个函数来计算它的边数。

    =iferror(INDEX($A$2:$A$5,MATCH(0,INDEX(COUNTIF($B$1:B1,$A$2:$A$5),0,0),0)),"")
    

    在 C2 中,您可以使用以下公式获取唯一单元格编号的数量

    =COUNTA(B2:B9)-COUNTIF(B2:B9,"")
    

    在 D2 中,您可以使用以下公式从原始列表中获取每个唯一单元格编号的计数。把它复制到你需要的地方。

    =IF(B5="","",COUNTIF($A$2:$A$9,B5))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 2011-10-11
      • 1970-01-01
      • 2014-05-08
      • 1970-01-01
      • 2013-06-26
      相关资源
      最近更新 更多