如何在Google Sheets中计算跨午夜(下午到凌晨)的加班时长?
跨午夜加班时长计算解决方案
列对应说明
- A列:日期
- B列:Start(开始时间)
- C列:Stop(结束时间)
- D列:Weekend(周末标记)
- E列:Working hours(工作时长)
- F列:Regular hours(常规时长)
- G列:Overtime(加班时长)
批量公式(支持跨午夜场景)
1. 计算工作时长(E列)
直接在E2单元格输入以下公式,自动批量处理整列:=ARRAYFORMULA(IF(A2:A="", "", IF(C2:C<B2:C, C2:C+1-B2:C, C2:C-B2:C)))
逻辑:如果结束时间早于开始时间,判定为跨午夜,加1天(24小时)后再计算时长差;否则直接计算时间差。
2. 计算常规时长(F列)
假设工作日常规时长为8小时,周末无常规时长(可根据实际规则调整数值),在F2单元格输入:=ARRAYFORMULA(IF(A2:A="", "", IF(D2:D="周末", 0, MIN(E2:E, 8/24))))
逻辑:周末常规时长设为0;工作日取「实际工作时长」和「8小时常规时长」的较小值,保证常规时长不超标准。
3. 计算加班时长(G列)
在G2单元格输入以下公式:=ARRAYFORMULA(IF(A2:A="", "", MAX(E2:E-F2:F, 0)))
逻辑:用实际工作时长减去常规时长,结果为负时取0(避免出现负数加班时长)。
内容的提问来源于stack exchange,提问作者Mirena Hristova
相关产品推荐
相关产品推荐

