首页 文章

Excel计算时间块的时间

提问于
浏览
0

如何计算2日期之间的时差,但在“日”和“夜”时间分割 .

示例:“日”时间定义在07:00和21:00(14h)之间“夜晚”时间定义在21:01和06:59(10h)之间

我现在关注预期结果的开始/结束时间:

20.04 10:00 / 20.04 14:00 => day 4h / night 0h 20.04 20:00 / 20.04 22:00 => day 1h / night 1h 20.04 22:00 / 21.04 05:00 => day 0h / night 7h 19.04 00:00 / 21.04 24:00 =>第42天/晚30小时

如何计算呢?

2 回答

  • 1

    这是一个相对平凡的解决方案 .

    首先,您可能知道Excel中的日期时间是一个数字,整数是代表中午的数字 . 但如果你没有,那么下面的事情就没有意义了,所以我确定了 .

    我们将首先计算工作时间,然后从那里获得夜间工作时间,因为工作时间更加直观 . 我们将通过获得包含“完全覆盖的天数”的间隔来做到这一点 - 然后每一天这样做一天贡献21 - 7 = 14小时 . 然后我们将添加因第一个“迟到”日和最后一个“早退”而丢失的小时数 .

    请注意,如果参数间隔在一天的中间(就像您的第一个示例),这将是“覆盖”天的“反转”间隔 . 这不是一个真正的错误,虽然它可能有点混乱 - 最终结果是正确的 .

    无论如何,假设您将参数间隔 endpoints 存储在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不希望由于某种原因公开显示日期作为日期 . 再次考虑下载电子表格(并根据需要进行病毒检查) .

  • 0

    我认为您需要将时间值转换为数字值,然后使用辅助列为您的“目标”时间IE 21:01,06:59然后执行计数并且大于小于公式 .

    很抱歉有点模糊,但很难准确上述数据 - 你能分享文件吗?

相关问题