修正了我的公式以获得正确答案。有点奇怪,但现在可以使用!
=C4+IF(A4-TIME(7,30,0)<0,A4-TIME(7,30,0),0)-IF(B4-TIME(18,0,0)>0,B4-TIME(18,0,0),0)
那我们要计算总时间
如果我们的时间开始于弹性时间开始,我们将开始时间与弹性时间之间的差值加起来,当然这将是负数
如果结束时间晚于弹性时间结束,则我们减去结束时间与弹性时间之差
执行这些操作的标准方法是在两个时间间隔内使用重叠公式
=max(0,min(end1,end2)-max(start1,start2))
所以您的情况应该是
=MAX(0,MIN(C2,TIMEVALUE("18:00"))-MAX(B2,TIMEVALUE("7:30")))
如果您的某些时间单元包含字符串而不是数字,则需要检查它们。一种方法是
=IFERROR(MAX(0,MIN(C2+0,TIMEVALUE("18:00"))-MAX(B2+0,TIMEVALUE("7:30"))),0)
如果您进行了包括午夜在内的夜班,则该公式需要进一步修改。