请问怎么在EXCEL里统计迟到,早退人员.(每天打卡两次.早上8点上班.晚上:17点下班).附考勤格式.

如题所述

在sheet2中建立

在A2中输入公式:

=INDEX(Sheet1!$F:$F,SMALL(IF(HOUR(Sheet1!$A$2:INDIRECT("Sheet1!$A$"&COUNTA(Sheet1!$A:$A)))>=8,IF(HOUR(Sheet1!$A$2:INDIRECT("Sheet1!$A$"&COUNTA(Sheet1!$A:$A)))<=12,ROW(Sheet1!$A$2:INDIRECT("Sheet1!$A$"&COUNTA(Sheet1!$A:$A))))),ROW()-1))

然后按CTAL+SHIFT+回车

下拉公式


在B2中输入公式:

=INDEX(Sheet1!$F:$F,SMALL(IF(HOUR(Sheet1!$A$2:INDIRECT("Sheet1!$A$"&COUNTA(Sheet1!$A:$A)))>=12,IF(HOUR(Sheet1!$A$2:INDIRECT("Sheet1!$A$"&COUNTA(Sheet1!$A:$A)))<17,ROW(Sheet1!$A$2:INDIRECT("Sheet1!$A$"&COUNTA(Sheet1!$A:$A))))),ROW()-1))  

按CTAL+SHIFT+回车

下拉公式


我设定是打卡时间>8且<=12点为迟到,>12且<17点为早退,这个你可以自己改。


如果要在本表显示也行,用条件格式

先点表左上角选中全部单元格,然后“格式——》条件格式”  选择公式,输入下图所示就行,确实这样更简单

迟到的变红了,早退的变蓝了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-08
Sub test()
    For i = 2 To 5 '5根据情况改。不要筛选
        If CDate(Cells(i, 1) < CDate(Split(Cells(i, 1), " ")(0) & " 12:00:00")) And CDate(Cells(i, 1) > CDate(Split(Cells(i, 1), " ")(0) & " 08:00:00")) Then
            Cells(i, 4) = "迟到"'8到12点之间
        Else
            If CDate(Cells(i, 1) < CDate(Split(Cells(i, 1), " ")(0) & " 17:00:00")) And CDate(Cells(i, 1) > CDate(Split(Cells(i, 1), " ")(0) & " 12:00:00")) Then Cells(i, 4) = "早退"'12到17点之间
        End If
    Next
End Sub

 

相似回答