如何从考勤记录EXCEL表格中筛选出未打卡、迟到、早退记录。

正常的出勤时间为上班8:30,下班17:30,每天需要打上班、下班两次卡,原始数据为图片1,想实现图片2这样的结果,谢谢各位大神了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-10

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

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

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

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

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

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

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

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

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

10、如果上班时间和下班时间一致,则为员工漏打卡,如下图红色框中记录;完成效果图。

本回答被网友采纳
第2个回答  2016-12-02

=IF(SUMPRODUCT(($A$2:$A$1000=A2)*($C$2:$C$1000=C2))=1,IF(D2>1/2,IF(D2<17.5/24,"未打上班卡/早退","未打上班卡"),IF(D2>8.5/24,"迟到/未打下班卡","未打下班卡")),IF(AND(D2>8.5/24,D2<1/2),"迟到",IF(AND(D2>1/2,D2<17.5/24),"早退","")))

本回答被提问者采纳
第3个回答  2016-12-02

你的原始记录表有问题,建议每个人每天都有两个相同日期对应,日期后面的时间可以空,前一个日期对应的时间是上班打卡时间,后一个时间是下班打卡时间,这样就一目了然了,凡是时间空的就是未打卡的,不空的时间在用函数去判断是否迟到或早退。

你的问题用函数实现比较困难,建议用vba去做。把数据发我邮箱[email protected]

看我的动画演示,设计一个小程序,只需点击一下按钮瞬间就统计完成。

第4个回答  2016-12-02
=IF(SUMPRODUCT(($A$2:$A$1000=A2)*($C$2:$C$1000=C2))=1,IF(D2>1/2,IF(D2<17.5/24,"未打上班卡/早退","未打上班卡"),IF(D2>8.5/24,"迟到/未打下班卡","未打下班卡")),IF(AND(D2>8.5/24,D2<1/2),"迟到",IF(AND(D2>1/2,D2<17.5/24),"早退","")))

=IF(COUNTIFS(A:A,A2,C:C,C2)=2,IF(AND(D2-"12:0"<0,D2-"8:30">0),"迟到",IF(AND(D2-"17:30"<0,D2-"12:0">0),"早退","")),IF(D2-"12:0">0,IF(D2-"17:30"<0,"早退并","")&"未打上班卡",IF(D2-"8:30">0,"迟到并","")&"未打下班卡"))

楼上的方法应该都可行。
相似回答