我有关于特定服务的持续时间的以下数据。
A B C D
Usage Start (Local time) Start Time Usage Until (Local time) End Time
03.03.2018 10:00 12:00:00 AM 03.03.2018 00:00 1:00:00 AM
03.03.2018 00:00 1:00:00 AM 03.03.2018 00:00 2:00:00 AM
03.03.2018 16:30 1:00:00 AM 03.03.2018 00:00 3:00:00 AM
我想计算时间在一定范围内的次数(例如00:00 - 01:00)
Start End Counts
00:00 01:00 1
01:00 02:00 2
02:00 03:00 1
03:00 04:00
04:00 05:00
05:00 06:00
我应该使用什么配方以及如何应用它?
我试过这个
=COUNTIFS($B$2:$B$566,">="&A2,$D$2:$D$566,"<"&B2)
这个
=SUMPRODUCT(($B$2:$B$566>= A2)*($D$2:$D$566< B2))
但它不超过24小时(Eg.3 / 3/20188 1:00 PM - 4/3/2018 2:00 PM,25小时)
答案 0 :(得分:0)
比我想象的要复杂一点,但我让它发挥作用。
虽然在我们开始之前,您需要稍微格式化一下表格。 您 不能在同一个单元格中有日期和时间(因为excel有问题 识别在1个单元格中存储两种格式。) 而是格式化您的表格 像这样:
接下来我们应该创建一些隐藏的行(从技术上讲,你可以坚持我在1个巨型公式中要做的事情,但为了清楚起见,我更喜欢隐藏的行)
首先,我们关注以小时为单位的时差。创建以下两列
另外,请确保在这些新添加的行中设置格式 数。从技术上讲,它可以在没有它的情况下工作,但它会看起来 困惑于人眼
在时间干扰中,我们使用以下公式
=ABS(F2-C2) * 24
在一夜之间列中:
=IF(C2>F2, 24-G2, G2)
利用我们适当计算过渡日期(例如23:00 1/1/18 - > 01:00 2/1/18),我们不想添加额外的24在这种情况下,小时数。
那将是充分工作的时间,但我们也需要确保 公式有效,当有一个以上的差异时(例如 1/1/18 - &gt; 18年3月1日)
接下来,我们添加这两行
在日期差异列中,如列名所示
=DATEDIF(A2, D2, "d") * 24
最后但并非最不重要的是,隔夜增量基本上与隔夜h相同,但使用日期而非数小时
现在,如果我们隐藏了行,将以下公式添加到结果=H2+I2-J2
,我们就会得到我们追捧的表:
这与预期结果相符! :)
编辑:如果您不想花费数小时进行通知,并且只计算24小时间隔到期的次数,请使用以下公式
=IF(C2>F2, DATEDIF(A2, D2, "d")-1, DATEDIF(A2, D2, "d"))
(在推定c2下,f2,a2,d2在我提供的原始表中的列中)
答案 1 :(得分:0)
您似乎忽略了列A
和C
中的时间部分。假设您的开始/结束时刻箱位于F
和G
列中,下面的公式将为您提供事件通过第一个小时箱的次数(您必须将其作为数组输入)式 - CTRL + 移 + 输入)。填写后续的小时箱。
=SUM(($B$2:$B$4<F2+TIME(0,30,0))+($D$2:$D$4>F2+TIME(0,30,0))+INT($C$2:$C$4)-INT($A$2:$A$4)-1)
如果事件在半小时标记处有效,这将计算一小时箱中的事件。
如果事件需要覆盖整个时间段,请使用此公式(再次使用 ctrl + shift + 输入):
=SUM(($B$2:$B$4<=F2)+IF(G2>F2,($D$2:$D$4>=G2))+INT($C$2:$C$4)-INT($A$2:$A$4)-1)