Excel:计算符合条件的范围内唯一/不同行的数量

Excel:计算符合条件的范围内唯一/不同行的数量

我有一张 Excel 表,其中:

  • 在 A 栏:周数
  • 在 B 列:日期(时间表条目)

我需要知道每周的工作天数。因此我需要每周的特定日期条目数。

我找到了可以在固定范围内处理这个问题的公式(数组和非数组),但我希望将结果放在另一列(每周数)。

以下示例数据集的结果将是(冒号只是为了清楚起见):

14: 2 
15: 3 
17: 6 
20: 2 
21: 3 

如果这是源数据:

14: 4/04/2012
14: 4/04/2012
15: 10/04/2012
15: 10/04/2012
15: 11/04/2012
17: 26/04/2012
17: 26/04/2012
17: 26/04/2012
17: 26/04/2012
17: 27/04/2012
17: 27/04/2012
20: 14/05/2012
20: 14/05/2012
21: 23/05/2012
21: 23/05/2012
21: 25/05/2012

答案1

要计算条目数,请=countif(A:B,D1)假设您的周数在单元格 D1 中,并且您的条目列表在 A 列和 B 列中。

另一个选择是创建一个数据透视表,以周数作为行标签,以条目数作为数据。这将提供可以快速更新的良好摘要。

答案2

完全使用公式是可以做到的。它需要一点间接寻址和一个(但为了清楚起见,我将把它变成两个)沿着原始数据的单独工作列,以及结果表中的三个额外列:

我假设实际数据从第 3 行开始,以便显示一些标题。我将使用;参数分隔符,但这不是美国语言环境的默认设置。我不会假设日期是排序的有了这个假设,解决方案就会更简单。

  1. 单元格 H2(输入多少行):=COUNT(A3:A1048576)
  2. 单元格 C3(动态查找范围):无
  3. 单元格 C4:C1000:=ADDRESS(ROW(A$3);COLUMN(A$3)) & ":" & ADDRESS(ROW(A3);COLUMN(A3))
  4. 单元格 D3(唯一):TRUE
  5. 单元格 D4:D1000:=COUNTIF(INDIRECT(C4);A4)=0
  6. 单元格 E3(唯一条目数):1
  7. 单元格 E4:E1000:=IF(D4;E3+1;E3)
  8. 单元格 I2(发现的唯一数):=OFFSET(E3;H2-1;0)
  9. 单元格 J2(工作日范围):=ADDRESS(ROW(A3);COLUMN(A3);4) & ":" & ADDRESS(ROW(A3)-1+$H$2;COLUMN(A3);4)
  10. 单元格 K2(唯一工作日范围编号):=ADDRESS(ROW(E3);COLUMN(E3);4) & ":" & ADDRESS(ROW(E3)-1+$H$2;COLUMN(E3);4)
  11. 单元格 H5(计数器):1
  12. 单元格 H6:H100=H5+1
  13. 单元格 I5:I100 (位置):=MATCH(H5;INDIRECT($K$2);0)
  14. 单元格 J5:J100(星期几):=OFFSET($A$3;I5-1;0)
  15. 单元格 K5:K100(计数):=COUNTIF(INDIRECT($J$2);J5)

最终结果在 K5:K100 范围内。

请注意,虽然我使用的是间接公式,但如果您在任意位置插入一列,或者删除 G:G 的 F:F 列,解决方案仍将有效。您也可以移动单元格,只要您将包含数据的列放在一起即可。

将所有内容保存在一个工作表中非常重要。如果您坚持将表 H4:K100 移到另一个工作表中,则应修改单元格 J2 和 K2 中的地址以包含工作表名称。

在此处输入图片描述

答案3

数据透视表可能是最简单的

例子

相关内容