Excel 判断考勤状态

怎样判断8:30分前的是上班签到,5:30后是下班签退

    首先,看一下原始数据。一般考勤打卡记录都至少包含姓名、员工号、日期和时间信息。实际可能出现的情况包括漏打卡,也就是某个人一天只有一次打卡记录;重复打卡,也就是一天超过两次打卡记录。下面,通过操作来识别这些情况。

    首先,选中原始数据区域,选择功能区的【插入】-【数据透视表】。

    按照默认设置,点击【确定】按钮在新表中创建数据透视表。

    创建数据透视表,工作表界面是空的数据透视表,右侧是数据透视表各字段及行标签、数值等字段拖动区域。

    将【姓名】字段拖到【行标签】处,将【刷卡时间】拖到【数值】框。

    点击【刷卡时间】字段,选择【值字段设置】。

    更改名称为“上班时间”,下面选择【最小值】。

    同样的方法,再次拖动【刷卡时间】字段到【数值】框,设置字段,更改名称为“下班时间”,下面选择【最大值】。

    选中透视表中的数值区域,鼠标右键选择【设置单元格格式】,选择一个时间格式。

    这样,就生成了一个包含人名和上下班时间的统计表,一目了然。

    下一步可以进行如下操作进一步操作和识别异常情况:

    1)如果上班时间和下班时间一致,则为员工漏打卡,如下图红色框中记录;

    2)通过判断上班时间是否在规定的上班时间之前来识别员工是否迟到;

    3)通过判断下班时间是否在规定的下班时间之后来识别员工是否早退。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-16
在结果栏E1输入函数:
=IF((TEXT(D1,"hh:mm"))<"08:31","上班签到",IF((TEXT(D1,"hh:mm"))>"17:30","下班签退","异常"))

我有一整套公式,就是用于考勤机导出的打卡记录计算出勤的,如有需要把邮箱给我,我发给你,很好用的。

其实这个函数第一行和第二行都应该设置函数,然后再两行同选下拉相对引用,结果会更好。
如:在E1输入函数:=IF((TEXT(D1,"hh:mm"))<"08:31","上班签到",“迟到”))
在E2输入函数:=IF((TEXT(D2,"hh:mm"))>"17:30","下班签退",“早退”))
如此,会自动将08:30后打卡的设为迟到,17:30后打卡的设为早退。追问

好的,我私信给你,谢谢

第2个回答  2014-04-16
E2公式:
=if(D2="","",if(D2<=--"8:30","上班签到",if(D2>=--"17:30","下班签退","异常")))
下拉填充本回答被提问者和网友采纳