考勤机导出的Excel表格,如下图,怎么设置公式自动算出勤天数和加班时间:正常的上班时间是8:00-17:30

如题所述

需要知道更多的规定:比如迟到按照什么算工时?一天只有1个签到信息的怎么算?
是不是只考虑最初签到及最后一个签退的时间?中间11:20这种早退的怎么算?上午下班及下午上班时间没签到的怎么算?追问

迟到先不算,一般30分钟之类可以接受 中午时间早退的不算,因为有的车间吃饭是一部分先吃,一般是11点吃饭,有40分钟吃饭 在一批11点半吃饭

迟到先不算,一般30分钟之类可以接受 中午时间早退的不算,因为有的车间吃饭是一部分先吃,一般是11点吃饭,有40分钟吃饭 在一批11点半吃饭

追答

条件较多,一般使用VBA比较好,直接用公式就写的太长了。
下面把加班的单独计算,给你个思路
=IF(INT((TIMEVALUE(RIGHT(C4,5))-TIME(17,25,0))/TIME(0,30,0))>0,INT((TIMEVALUE(RIGHT(C4,5))-TIME(17,25,0))/TIME(0,30,0))/2,0)

解释:Right函数截取单元格文本中的后面几个字符,这里截取最后的签退时间,TimeValue将文本转为时间序列,Time(小时,分钟,秒)返回时间序列,这里是17:25:00【因为加班时间是否大于25分钟,小于25分钟的会被忽略】,因为加班是按照半个小时最小单位计算的,所以差值除以30分钟;int取整(小数部分忽略)。判断比值是否大于0,小于0的可能是没有加班或加班时间不足25分钟,这时返回0,加班的情况返回加班小时数(0.5的倍数)。

正常考勤也可以类似处理,先从文本串中提取出时间,进行比较,但是条件较多,公式太长,并且有些情况你不规定好,也不好处理。比如只打了一次考勤,这是算半天还是算1天?如果是晚上只打了一次考勤,白天算不算上班?晚上算不算加班?

温馨提示:答案为网友推荐,仅供参考
相似回答