如何计算2日期之间的时差,但在“日”和“夜”时间分开。
示例:
“日”时间定义在07:00至21:00(14h)之间
“夜晚”时间定义在21:01和06:59(10h)之间
我现在跟随预期结果的开始/结束时间:
- 20.04 10:00 / 20.04 14:00 =>第4天/晚0h
- 20.04 20:00 / 20.04 22:00 =>每天1h /晚1h
- 20.04 22:00 / 21.04 05:00 =>每天0h /晚7h
- 19.04 00:00 / 21.04 24:00 =>第42天/晚30h
如何简单计算?
答案 0 :(得分:1)
这是一个相对平凡的解决方案。
首先,您可能知道Excel中的日期时间是一个数字,整数是代表中午的数字。但如果你没有,那么下面的事情就没有意义了,所以我确定了。
我们将首先计算工作时间,然后从那里获得夜间工作时间,因为工作时间更加直观。我们通过获取包含"完全覆盖的天数的区间来做到这一点" - 然后每天这样的一天贡献21 - 7 = 14小时的结果。然后,我们将添加由于第一个"晚期"白天和最后一天"提前离开"之一。
请注意,如果参数间隔在一天的中间(就像你的第一个例子),这将得到反转"间隔"覆盖"天。这不是一个真正的错误,虽然它可能有点混乱 - 最终结果是正确的。
无论如何,假设您将参数区间端点存储在B1和B2中,并且第一个端点是更早的,那么这里是白天的frankenformula。
=(IF(B2-INT(B2)>21/24,1,0)+INT(B2)-(IF(B1-INT(B1)<7/24,0,1)+INT(B1)))*(21-7)+IF(AND(B1-INT(B1)>7/24,B1-INT(B1)<21/24),24*((21/24)-B1+INT(B1)),0)+IF(AND(B2-INT(B2)>7/24,B2-INT(B2)<21/24),24*(B2-INT(B2)-(7/24)),0)
但我强烈建议你查看它做了什么,here's a version that is easier to analyze(虽然它已被翻译成波兰文,希望它会在你下载并在Excel或其他东西中打开时被翻译回来。)
编辑:由于某种原因,Excel Online不希望将日期公开显示为日期。再次考虑下载电子表格(并根据需要进行病毒检查)。
答案 1 :(得分:0)
我认为您需要将时间值转换为数字值,然后使用辅助列为您的&#34;目标&#34; IE 21:01,06:59然后执行计数并且大于小于公式。
很抱歉有点模糊,但很难准确理解上面的数据 - 你能分享这个文件吗?