EXCEL如何计算超过某2个时间的加班时间数

2025-04-08 02:48:31
推荐回答(2个)
回答1:

按您所说 加班时间要从19:00开始计算了,所以用车在19:00之前的都不是加班。那么首先要做的是判断加班是否成立,其次才是计算加班时间。所以要在某个单元格比如K5单元格输入19:00,然后在H3中输入=IF(H3>$K$5,(H3-$K$5)*24*60,"") 就可以计算出时间了 然后向下填充 至于您所说的连班我不太明白什么意思。。。。。
那问题就麻烦了 , 会用VBA么?如果可以的话将表格发过来一份845338079@qq.com 我给你做个宏,单纯用函数比较难,涉及到if嵌套 不容易做。

回答2:

H2输入:=IF((G2-(MAX((MIN(TIME(12,,),F2)-MAX(D2,TIME(8,30,))),0)+MAX((MIN(TIME(18,,),F2)-MAX(D2,TIME(13,30,))),0))*60*24)>60,G2-(MAX((MIN(TIME(12,,),F2)-MAX(D2,TIME(8,30,))),0)+MAX((MIN(TIME(18,,),F2)-MAX(D2,TIME(13,30,))),0))*60*24,0),下拉;
单元格格式貌似要设置成常规格式。

思路:总用车时长减去正常上班期间的时长,与60分钟比较,大于为加班时间,小于或等于不算加班。如果等于1小时也算加班的话,把上面的公式中的>60改为>=60