溜溜问答 > 日常办公 > Excel > Excel如何计算周末加班?
高傑西
高傑西
邀请你来回答
149人阅读 2022-01-19

Excel如何计算周末加班?

我要回答
1个回答

假设上班时间在a2,下班时间在b2,加班时间在c2,则在c2里写下如下公式bAI:
=if(and(mod(hour(b2),6)=0,hour(b2)<>0,mod(hour(b2),6)=0,hour(b2)<>0,hour(a2)=hour(b2)),0,hour(b2-a2)+round(minute(b2-a2)/60,2)-(and(hour(a2)<12,hour(b2)>12,hour(b2)<=18)*1+and(hour(a2)<12,hour(b2)>18)*2+and(hour(a2)>=12,hour(a2)<18,hour(b2)>18)*1)-(and(mod(hour(a2),6)=0,hour(a2)<>0)*(1-round(minute(a2)/60,2))+and(mod(hour(b2),6)=0,hour(b2)<>0)*(round(minute(b2)/60,2))))
并设置单元格格式为数字,保留2位小数。
解释:
设上班或下班打卡时间在12点到13点的时间段为“无效点1”,18点到19点的时间段为“无效点2”(自己取的名字)。
如果计算上下班打卡时间均在同一个无效点的情况:
按加班时间为0计算。
公式为:and(mod(hour(b2),6)=0,hour(b2)<>0,mod(hour(b2),6)=0,hour(b2)<>0,hour(a2)=hour(b2))
否则:
加班的时间为:下班时间-上班时间-无效点时间
公式为:hour(b2-a2)+round(minute(b2-a2)/60,2)-无效点时间
然后将要减去的时间分为以下几种情况:
一、计算上下班之间完全经过“无效点”的情况:
1、上班打卡时间<12点,下班打卡时间(>=13点,<19点),完全经过无效点1,减去1小时;
公式为:(and(hour(a2)<12,hour(b2)>12,hour(b2)<=18)*1
2、上班打卡时间(>=12点,<18点),下班打卡时间>=19点,完全经过无效点2,减去1小时;
公式为:and(hour(a2)>=12,hour(a2)<18,hour(b2)>18)*1
3、上班打卡时间<12点,下班打卡时间>19点,完全经过两个无效点,减去2小时;
公式为:and(hour(a2)<12,hour(b2)>18)*2
此时可以发现,以上还没有计算上下班打卡时间部分经过无效点的时间,下面就补上。
二、计算上下班打卡时间部分经过无效点的情况:
1、上班打卡时间经过无效点:减去从打卡时间到该无效点末的分钟数:
公式为:and(mod(hour(a2),6)=0,hour(a2)<>0)*(1-round(minute(a2)/60,2))
2、下班打卡时间经过无效点:减去从该无效点起始到打卡时间的分钟数:
公式为:and(mod(hour(b2),6)=0,hour(b2)<>0)*(round(minute(b2)/60,2)
以上时间均将分钟数换算成小时数计算在内,保留2位小数。
三、其余情况按正常时间加减计算。

查看全部
2022-01-19
回复 采纳
发表成功!
感谢您的分享!
好的