在Excel里计算两个任意日期之间的工时
发布网友
发布时间:2022-04-22 06:48
我来回答
共4个回答
热心网友
时间:2022-06-16 20:28
C2输入:
=ROUND(24*(IF(WEEKDAY(A2,2)<=5,IF(AND(MOD(A2,1)>=8.5/24,MOD(A2,1)<=16.75/24),IF(MOD(A2,1)<=11.75/24,11.75/24-MOD(A2,1)+16.75/24-13/24,IF(MOD(A2,1)<=13/24,16.75/24-13/24,16.75/24-MOD(A2,1))),0),0))+(NETWORKDAYS(A2,B2)-SUMPRODUCT((WEEKDAY(A2:B2,2)<=5)*1))*7+24*(IF(WEEKDAY(B2,2)<=5,IF(MOD(B2,1)<=16.75/24,IF(MOD(B2,1)<=13/24,IF(MOD(B2,1)<=11.75/24,IF(MOD(B2,1)<8.5/24,0,MOD(B2,1)-8.5/24),11.75/24-8.5/24),MOD(B2,1)-13/24+11.75/24-8.5/24),7/24),0)),2)
下拉即可
热心网友
时间:2022-06-16 20:28
首先你要将日期和时间分开,然后先判断上班和下班日期是否是一天,是一天直接的话直接用下班的时间减去上班的时间,在减去休息时间即可,如果不是同一天就要分别计算每天的时间,这个你直接一个公式比较复杂,建议多用几个辅助的列
热心网友
时间:2022-06-16 20:29
=DAY(B1-A1)*7+HOUR(B1-A1)-1&":"&MINUTE(B1-A1)-15
将上面这段函数粘贴到实际工时的对应单元格里,然后向下复制到下面所有的单元格就可以了。
如果这点粘贴工作你都还觉得麻烦的话,我还可以帮你用VBA做成全自动的。
热心网友
时间:2022-06-16 20:30
留个脚印,等大神回答