Excel:计算日期时间的不同天数

Excel:计算日期时间的不同天数

我有一列,其中包含不同日期和不同时间的日期时间,我想知道该列中有多少个不同的日期。我让它在英语系统的 OpenOffice 中运行,但它在装有 Microsoft Excel 的意大利语或德语系统上不再运行:

=SUMPRODUCT((IF(FREQUENCY(DATEVALUE(MONTH(A1:A9)&"/"&DAY(A1:A9)&"/"&YEAR(A1:A9)),DATEVALUE(MONTH(A1:A9)&"/"&DAY(A1:A9)&"/"&YEAR(A1:A9))),TRUE())>0)*(MONTH(A1:A9)=6))

这就是我的专栏

2016-06-29 19:50:00
2016-06-29 20:00:00
2016-06-29 11:34:00
2016-06-29 11:34:24
2016-06-29 12:33:29
2016-06-29 20:47:00
2016-06-30 11:46:46
2016-07-01 13:11:55
2016-07-01 13:12:26

对于这些值,我希望公式返回 3,因为有 3 个不同的天。

最后,我想修改公式,以便我可以按月份进行过滤 - 这样我就可以说:“给我六月份的不同日期的数量”,它返回 2。

答案1

我无法使你的公式在 Excel English 中运行。

此公式应该在 Excel 中有效,(您可能需要翻译成正确的语言):

=SUM(--(FREQUENCY(IF(MONTH(A1:A9)=6,MATCH(INT($A$1:$A$9),INT($A$1:$A$9),0)),ROW($A$1:$A$9)-ROW($A$1)+1)>0))

这是一个数组公式,退出编辑模式时需要使用 Ctrl-Shift-Enter 而不是 Enter 进行确认。如果操作正确,Excel 会将{}公式放在一边。

在此处输入图片描述

答案2

这是确定特定条件计数的简单方法。我将您的示例放入工作簿中,并编写了一个公式来计算其中有多少个月份为 6 的事件:

在此处输入图片描述

我使用的公式使用数组引用,这就是它被大括号括起来的原因。输入公式后,按Shift+Enter而不是直接Enter按它。

if 语句表示,如果月份 = 6,则返回 1,如果不是,则返回 0。然后它只是用 sum 函数将总数相加。如果您想将其更改为查找年份,只需更改 MONTH() 公式部分即可。

还请注意,我的公式更加简洁明了,更容易理解

答案3

我使用了一些辅助列来解决如上图所示的问题,您的数据位于 A1 到 A9

在 B1 中使用

=DATE(YEAR(A1),MONTH(A1),DAY(A1))

这会将数据转换为日期(删除时间)

在 C1 中使用此

=IF(COUNTIF($B$1:B1,B1)>1,2,1)

这将在第一次出现日期时将 1 置为其他日期的 2

最后,你可以使用以下方法计算 1

=COUNTIF(C1:C9,1)

问候

在此处输入图片描述

相关内容