仅5分钟,将数千条打卡记录做成考勤统计表

工作中经常会遇到从几千条记录中提取统计结果报表的需求,如果不掌握点化繁为简的技术,哭都来不及了!

就拿很多企业都有的员工打卡记录来说吧,每个员工会在不同时段打卡,有的人还经常多次重复打卡,你既要按照时段区分出哪些是上班卡,哪些是下班卡,还要进行多次打卡的排重处理,怎么办才能兼顾所有要求搞定问题呢?


一、数千条打卡记录数据源及结果展示

咱们先来看一下6月份的数据源,包含各个员工在每天的多次打卡记录。

每人每天打卡次数不固定,有可能一个时段内多次打卡,也可能某个时段缺卡没有打卡记录,见下图所示。

将上述数千条打卡记录按本文教程所授方法处理,仅需5分钟,即可得到所有员工当月的考勤统计表,如下图所示。

打卡记录转换成考勤表(表格技巧1招教你制作考勤统计表)

二、业务目的及思路构建

处理任何问题,动手之前先构建思路,然后选择最合适的方法,最后才是动手落地执行。

拿这个案例来说,至少分为三步处理:

1、将零散的打卡记录按企业规定,归属到对应的打卡区间,标识出早上打卡、中午打卡、晚上打卡;

2、将整月各员工每天的打卡标识合并同类项,双条件分类汇总统计,一个条件是按打卡区间分类汇总、一个条件是按天分类汇总;

3、将上述中间结果处理为想要的统计结果,比如每天有打卡记录的位置用√标识,缺卡处留空白等。

思路捋顺之后,再选择最合适的方法按思路步步拆解,用到的技术包含函数公式、数据透视表等,具体见下文步骤说明。

三、将打卡时间自动归类到打卡时段

由于数据源中C列的打卡时间很零散,首先要根据企业规定归类。

企业打卡规定如下:

1、一天分为3个打卡区间分别打卡

2、打卡区间划分如下:

(1)早9:30前:早上打卡

(2)午12:00至13:30:中午打卡

(3)晚16:30后:晚上打卡

3、其余时间段打卡无效。

在D列添加辅助列,输入下列公式。

=IF(C2<=VALUE("09:30"),"早上打卡",IF(AND(C2>=VALUE("12:00"),C2<=VALUE("13:30")),"中午打卡",IF(C2>=VALUE("16:30"),"晚上打卡","")))

这样就可以把C列的打卡时间自动归类,对应到早上打卡、中午打卡、晚上打卡,没在指定打卡时段的无效打卡就返回空。如下图所示。

将数据源规范整理好以后,继续下一步,将数据按需求分类汇总统计。

四、多条件合并同类项及分类汇总统计

在规范打卡记录数据源的基础上使用数据透视表批量分类汇总。

透视表布局如下所示。

打卡记录转换成考勤表(表格技巧1招教你制作考勤统计表)

筛选有效打卡区间,设置日期自定义格式为d,将2019/6/1显示为1,取消姓名分类汇总行,效果如下所示。

打卡记录转换成考勤表(表格技巧1招教你制作考勤统计表)

这时每个员工在每天的各时段打卡次数已经统计出来了,还需要进一步转换显示效果。

五、报表显示效果转换及美化方法

在数据透视表中设置数字格式,自定义格式代码如下所示。

[>=1]√;G/通用格式

转换后,数据透视表效果如下所示。

打卡记录转换成考勤表(表格技巧1招教你制作考勤统计表)

为了快捷筛选,可以插入切片器,按姓名或者按打卡区间快速切换报表布局。

打卡记录转换成考勤表(表格技巧1招教你制作考勤统计表)

如果你想重点查看早上打卡情况,可以借助切片器快速使报表仅显示对应数据。

打卡记录转换成考勤表(表格技巧1招教你制作考勤统计表)

这样就将数千条零散的打卡记录做成想要的考勤统计表了,以后每月数据源更新后,刷新透视表即可自动更新结果。


点赞(0) 打赏

相关推荐

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部