使用 MOD 和时间值来确定过渡午夜的时差

Using MOD with Time values to determine time differences that transition midnight

我创建了一个 Excel 电子表格,其中包含轮班期间的总时间,即 8:30-17:30。

然后我创建了这个公式

=(MOD([@[Supposed Shift End]]-[@[Supposed Shift Start]],1))*24 

使用格式单元格 -> 数字小数点后 2 位。这给了我 [Total Supposed Shift Hours]

给我需要涵盖的班次持续时间。

现在我还为轮班涵盖的实际时间创建了另一个列

=(MOD([@[Actual Time End]]-[@[Actual Time Start]],1))*24

这给了我 [总实际时间]

对于实际时间结束和实际时间开始当员工没有出现时,我们为具有相同单元格格式数字的两个单元格输入 0 -> 2 位小数

问题:

这是我写的用来减去这 2 列的公式

=(MOD([@[Total Supposed Shift Hours]]-[@[Total Actual Time Hours]],1))*24

为什么当我减去 [总假定班次小时数] 9.00 - [总实际时间小时数] 0.00 = 24.00 ???

9 - 0 = 9 而不是 24.... 叹息

如果使用MOD公式,时间从前一天晚上21:00变为8:00,公式会受到影响吗?

示例数据(按要求)
注意:命名法与上述描述不同:Open = SupposedCovered = Actual

Service Date Open Post Start Open Post End Total Hrs Missing Covered Post Start Covered Post End Total Hrs Covered Category Hours Not Covered
02/06/2021 16:00 00:00 8 16:00 03:00 11 A 0
04/06/2021 16:00 00:00 8 00:00 00:00 0 A 0
10/21/2021 10:30 00:00 13.5 18:00 19:30 1.5 B 0

初始答案
首先是一个小问题:您不需要将 MOD 函数括在方括号中。由于该函数已经产生 *24 的结果。因此以下工作正常:

=MOD([@[Supposed Time End]]-[@[Supposed Time Start]],1)*24

关于您的问题:您的 non-working 公式看起来好像只是想要 SupposedActual 之间的差异(以小时为单位)。如果是这样,只需这样做:

=[@[Total Supposed Shift Hours]]-[@[Total Actual Shift Hours]]

编辑:使用(现已发布)table,我构建了我认为你正在尝试做的事情
参考到下面的 示例结果 图片。

E 列中的公式:=MOD([@[Open Post End]]-[@[Open Post Start]],1)*24
H 列中的公式:=MOD([@[Covered Post End]]-[@[Covered Post Start]],1)*24
J列中的公式:=[@[Total Hours Missing]]-[@[Total Hours Covered]]

样本结果:

现在:如果 J 列(即对您的核心问题的回答)不是您想要的结果,您能告诉我您期望的结果是什么吗(使用每行的实际预期值)。

备注:

  1. 您的 table 列 header Total Hours Missing 有点令人困惑。
    但是,我读到 Post DurationDuration of Shift 用你原来的说法)。
  2. 如果我理解正确的话,“工作中的扳手”是 @P.b 删除 MOD 的建议。如上所示还原 EH 列中的公式。