怎么用excel计算考勤?如:迟到时间、早退时间、加班时间
怎么用excel计算考勤?如:迟到时间、早退时间、加班时间? 展开
2013-09-29
建立辅助列 输入正常上班时间和下班时间
插入一个窗体控件 按钮 输入下方代码
按按钮会自动生成 迟到 早退 和加班的时间 按分钟算的
以后你只需要在A列输入日期 B列输入上班时间 C列输入下班时间
按按钮即可
i = Range("a6000").End(xlUp).Row
i2 = Range("d6000").End(xlUp).Row + 1
For n = i2 To i
If Range("b" & n).Value > Range("i2") Then
Range("d" & n).Value = Round((Range("b" & n).Value - Range("i2").Value) * 24 * 60, 0)
Else
End If
Next
i = Range("a6000").End(xlUp).Row
i2 = Range("e6000").End(xlUp).Row + 1
For n = i2 To i
If Range("c" & n).Value < Range("j2") Then
Range("e" & n).Value = Round((Range("j2").Value - Range("c" & n).Value) * 24 * 60, 0)
Else
End If
Next
i = Range("a6000").End(xlUp).Row
i2 = Range("f6000").End(xlUp).Row + 1
For n = i2 To i
If Range("c" & n).Value > Range("j2") Then
Range("f" & n).Value = Round((Range("c" & n).Value - Range("j2").Value) * 24 * 60, 0)
Else
End If
Next
D2、E2、F2的公式:
=IF(B2>9/24,B2*24-9,"")
=IF(C2<18/24,18-C2*24,"")
=IF(C2>18/24,C2*24-18,"")
下拉填充。
详见附件。。。
早退时间:=IF((C2-"18:00")>0,0,"18:00"-C2)
加班时间:=IF(OR(WEEKDAY(A2,2)=6,WEEKDAY(A2,2)=7),C2-B2,IF((C2-"19:00")<0,0,C2-"19:00"))
不知道是不是你要的效果
E1=if(C1<18/24,18/24-C1,"")
F1=if(C1>18/24,C1-18/24,"")
不对,算不出来,麻烦解释精确点,谢谢
EXCEL里面1天24小时=1
因此9:00就等于9/24
如果你觉得不精确,那就把DEF列的单元格格式设置一下,设置成hh:mm得到的结果就是迟到、早退、加班多少小时多少分。