教你几分钟搞定的考勤数据!

面对新的统计需求,很多人会一下变懵,不知如何办 。如果涉及的统计有一千多行数据,哭的心思都有了:什么时候才能下班哟!今天老菜鸟通过考勤统计分析表实例分享自己面对新统计需求的解决方法:简化数据、找数据规律、做辅助列 。任何复杂的统计,只要采取这样的方法,大多几分钟就会搞定 。
考勤管理,是企业劳动纪律管理的最基本工作,公司领导要求人力资源每周按部门汇总一份考勤打卡情况通报,格式如下:

教你几分钟搞定的考勤数据!

文章插图
 
练习课件到QQ群:264539405下载
通报表可以更为宏观的看到考勤纪律的执行情况,是非常好的一个管理工具,但是负责制作报表的伙伴却是异常烦恼 。不为别的,就是不知道该如何下手,无奈之下,找到老菜鸟求助 。
我们先来看看从考勤软件导出的数据源吧:
教你几分钟搞定的考勤数据!

文章插图
 
整个表有二十多列,一千多行,如果仅靠手工统计,难度确实不小 。如果是你接到这个任务时,会如何着手开始统计呢?
其实问题并没有看上去那么复杂,关键是找到思路 。思路决定出路,最终完成这个统计表并没有用什么高大上的函数,也不是像有些伙伴猜的那样,用VBA去解决,只是用了几个常用的函数IF、COUNTIF、SUM和SUMIF就搞定了 。是不是很想知道方法呢?
拿到数据,切忌盲目动手,而是首先整理数据 。就当前通报表来说,数据源中对我们有用处的列并不多,只需要保留部门、工号、上下班的打卡结果这四列即可:
教你几分钟搞定的考勤数据!

文章插图
 
看上去清爽了很多吧?删去了无用数据之后,就需要分析具体的统计思路,同时在数据源中寻找可以利用的规律 。很容易看到,每个工号对应的打卡结果都是6行2列(12个单元格)的一个数据区域:
教你几分钟搞定的考勤数据!

文章插图
 
我们需要根据这12个单元格中的信息进行分类统计,按照要求分为正常和异常两类 。其中异常包括了:缺卡、请假、迟到和早退四种情况,只要没有异常即可视为正常 。
根据统计要求添加辅助列 。辅助列的作用就是简化问题的难度系数,在这个问题中我们可以这样设置:
教你几分钟搞定的考勤数据!

文章插图
 
在继续往下前,需要理清楚这里统计的6个数据的关系 。通报表是按人数而非次数统计的,因此可以得出这些结论:
◎同一工号一周内不管缺卡多少次,都算缺卡1人;
◎同一工号一周内不管请假多少次,都算请假1人;
◎迟到、早退规则同上;
◎同一工号,一周内不管缺卡+请假+迟到+早退有多少人,只要大于0,都算异常1人;
◎同一工号,一周内正常人数等于1-异常 。
很多时候我们是不建议使用合并单元格的,因为合并单元格会带来很多不方便 。但是这个例子中,每6行数据(一个工号的数据)统计出一行结果,所以使用合并单元格会更方便 。分别把E2:E7、F2:F7、G2:G7、H2:H7、I2:I7、J2:J7合并,然后在G2中输入公式:
=IF(COUNTIF($C2:$D7,G$1)>0,1,0)
右拉填充公式,4项异常都进行了统计 。
教你几分钟搞定的考勤数据!

文章插图
 
从结果来看,这四项异常数据的统计结果是正确的 。
这个公式的核心是COUNTIF,当区域中符合条件的个数大于0时,得到1,否则得到0 。注意区域和条件的写法,$C2:$D7锁定了列,G$1锁定了行,这样公式在右拉和下拉的时候就不用再去修改了 。

推荐阅读