怎么算加班时长

如题所述

第1个回答  2018-11-03
按照你上面的公式(下班签退时间-17:00)+(8:30-上班签到时间)=加班时长。那就是(不用你那么复杂的):
=(MOD(C3,1)-("17:00"))+("8:30"-MOD(C2,1))
再设置单元格格式为时间格式为:h"小时"mm"分钟"

=TEXT((MOD(C3,1)-("17:00"))+("8:30"-MOD(C2,1)),"[h]小时mm分钟")
也行,不用专门设置时间格式。
但其中的“(8:30-上班签到时间)”,上班签到时间是“ 8:40”,减数大于被减数,时间不能=负值的。

2015-05-08 21:30 Stcxj | 十八级

我就在回答里面补充吧:

你要计算加班时长,就是=(MOD(C3,1)-"17:00")+("8:30"-MOD(C2,1))
或=(MOD(C3,1)-MOD(C2,1))-("17:00"-"8:30")
但如果都有迟到早退的,当被减数小于减数时,时长变成负值而显示错误##########。
这不单是你我的公式,就是 XT张丁文 的公式也会显示错误##########。
(你试着把上面的“2015/3/26 18:33”改为“2015/3/26 16:33”便可看出端倪)
你上面的C2~C3时间里面,虽然也有迟到的,但晚退时间大于迟到时间,公式相抵还能成立:
(MOD(C3,1)-"17:00")=+1:33、("8:30"-MOD(C2,1))=-0:10,1:33-0:10=+1:23

碰到迟到早退的时间大于加班时间时要如何处理?建议用IF函数判断正负,把被减数改为减数、而减数改为被减数。得数备注为“迟到早退时长”,不过这样列式会长些了。
相似回答