excel 统计加班时长

 天天加班,每月还要写工作计量表和上下班时间,顺便统计下每天和每月的加班时长。

 公司规定上班时间8:30  ,下班时间17:00; 17:00 -20:00 不算加班。

开始使用的公式:(比较复杂,无法使用sum 统计)
=TEXT(IF(AND(TEXT(J14,"HH:MM")>"20:00",TEXT(J14,"HH:MM")<"24:00"),TEXT(J14,"HH:MM")-"20:00",IF(TEXT(J14,"HH:MM")="00:00","00:00",IF(AND(TEXT(J14,"HH:MM")<"08:00",TEXT(J14,"HH:MM")>"00:00"),"04:00"+TEXT(J14,"HH:MM"),0))),"HH:MM")
	
优化后的公式:(需要设置单元格格式为自定义:[h]:m)	
=IF(J14<>"",IF(AND(J14<=TIME(23,59,59),J14>TIME(20,0,0)),J14-TIME(20,0,0),if(and(J14>=TIME(0,0,0),J14<TIME(8,30,0)),time(23,59,59)-time(20,0,0)+j14,TIME(0,0,0))),TIME(0,0,0))

发现周六日加班不能全天算加班时,在优化一版,周六日单独算加班时长
=IF(J14<>"",IF(OR(WEEKDAY($C$9&-A14,2)=6,WEEKDAY($C$9&-A14,2)=7),J14-I14,IF(AND(J14<=TIME(23,59,59),J14>TIME(20,0,0)),J14-TIME(20,0,0),IF(AND(J14>=TIME(0,0,0),J14<TIME(8,30,0)),TIME(23,59,59)-TIME(20,0,0)+J14,TIME(0,0,0)))),TIME(0,0,0))

兼顾周六日超过零晨
=IF(J14<>"",IF(OR(WEEKDAY($C$9&-A14,2)=6,WEEKDAY($C$9&-A14,2)=7),IF(AND(J14>=TIME(0,0,0),J14<TIME(8,30,0)),TIME(23,59,59)-I14+J14,J14-I14),IF(AND(J14<=TIME(23,59,59),J14>TIME(20,0,0)),J14-TIME(20,0,0),IF(AND(J14>=TIME(0,0,0),J14<TIME(8,30,0)),TIME(23,59,59)-TIME(20,0,0)+J14,TIME(0,0,0)))),TIME(0,0,0))

=MINUTE(TIMEVALUE(TEXT(P20,"h:mm")))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值