夜班员工出勤率(不同日期)

Night shift employee attendance (Different Dates)

我正在尝试计算夜班员工的工作时间。

但是,由于 Check in/out 数据是在两个不同的日期记录的,因此转变的结构和时间安排让我很难弄明白。

例如,

John 是一名夜班员工,他在 19:00 下午(2021 年 11 月 25 日)开始工作,他的班次在第二天上午 2:00(2021 年 11 月 26 日)结束。

假设约翰 26 日没有上班。

考勤机将打卡值(D2)放入C2,约翰27号打卡(考勤机将C3放入D3)也是如此

因此弄乱了数据,以及我用来计算工作时间的公式。 这是

     MOD( $C (X+1) - $D X ,1)

记录的内容sheet

Name Date Clock-in Clock-out Working time
John Smith 25/11/2021 19:00 2:00 (which is the clock out of the 24th of November) =MOD( $C2-$D1,1)
John Smith 26/11/2021 2:00 2:00 =MOD( $C3-$D2,1)
John Smith 27/11/2021 19:00 19:00 =MOD( $C4-$D3,1)

问题是

  1. 有没有更好的方法来计算工作时间(有两个日期),因为在我的新手看来,当前的 mod 公式不是最优的?

此外,即使员工缺勤,它仍在计算员工的工时。

  • 加一天,如果下班D2小于上班C2

  • E2:

    =IF(D2<C2,D2+1,D2)-C2
    
  • 或E1(数组公式):

    ={"Working Time";ARRAY_CONSTRAIN(ARRAYFORMULA(IF(D2:D<C2:C,D2:D+1,D2:D)-C2:C),COUNT(D2:D),1)}
    
Name Date Clock-in Clock-out Working time " ={""Working Time"";ARRAY_CONSTRAIN(ARRAYFORMULA(IF(D2:D<C2:C,D2:D+1,D2:D)-C2:C),COUNT(D2:D),1)}"
John Smith 2021-11-25 19:00 2:00 7:00:00 =IF(D2<C2,D2+1,D2)-C2
John Smith 2021-11-26 2:00 2:00 0:00:00 =IF(D3<C3,D3+1,D3)-C3
John Smith 2021-11-27 19:00 19:00 0:00:00 =IF(D4<C4,D4+1,D4)-C4