强大的Excel,前段时间,我就是用了Excel做了一些单位新在网上收入的一些统计,就很是头疼,第一次做这个统计,着实费了不少功夫呢,好不容易编辑了一个看似还可以的表格,算是完成了任务。又开始研究了一些加密的方式,不知让不小心碰的数据改变,还学着冻结了窗口,让改隐藏的列都消失不见了!这期间运用着着实还挺开心的!
今天看了这个课程的学习,觉得自己简直是弱爆了,原来还有这种功能,真是受益匪浅,我之前也知道一些函数,但是无非就是算算加减乘除之类,这样的还真没有,这个技能一定要get到,将来好做不备之需。非常感谢!
实际数据如下图所示,从打卡机导出的数据是一个流水,要求:
1、找出每个人最早打卡时间和最晚打卡时间;
2、判断每个人每天的迟到、早退情况、加班情况。
说明:出勤时间标准是8:00-17:30,18点以后为加班时间。
这个表格数据的特点是:每个人的刷卡数据有好几个,分成了几行保存,而且刷卡日期和时间是保存在一个单元格,因此我们首先要把刷卡日期和时间分开,这个工作可使用“分列”工具栏完成,处理结果如下:(话说我还不知道什么事分列呢)
剩下的问题,就是要解决本文前面提出的问题了。这些问题的解决,有很多方法,其中一个最容易掌握、也最简单的方法,是利用简单的几个函数IF、COUNTIFS、INDEX函数进行处理。下面进行具体说明。
在右侧插入一个辅助列,标题为“第几次刷卡”,在单元格F2输入公式 =COUNTIFS($B$2:B2,B2,$D$2:D2,D2),往下复制,就可以统计E列的某个刷卡时间是某人某天的第几次刷卡了。
这一大堆的公式要怎么输入呢,我要尝试一下,那个像英镑一样的字母是这个函数公式就自带的吗?先试一些再说!
再插入两个辅助列,标题分别为“最早刷卡”和“最晚刷卡”。
在单元格G2输入公式 =IF(F2=1,E2,"") ,往下复制,即可得到某个人在某天的最早刷卡时间。
在单元格H2输入公式 =IF(G2<>"",INDEX(E2:E875,COUNTIFS(B:B,B2,D:D,D2)),""),往下复制,即可得到某个人在某天的最晚刷卡时间。
这三个公式的思路、逻辑和原理,这里就不再细说了。
以上的这些公示输入,本人是一个都不知道啊,没用过啊,妄读了这么多年书了!
这样,就得到了如下的处理结果。
将F列至H列的公式,采用选择性粘贴的方法转换为数值,然后筛选出所有空值单元格,予以删除,并删除E列和F列,就得到下面的每个人的刷卡考勤数据,以此数据来做考勤计算:
在此表格的右侧进行迟到、早退、加班的计算,数字1表示迟到或早退,具体的时间表示加班时间,如下表:
其中,各单元格的公式分别如下:
单元格G2:=IF(E2>8/24,1,"")
单元格H2:=IF(F2<17.5/24,1,"")
单元格I2:=IF(F2>18/24,F2-18/24,"")
最后再对这个数据表进行透视汇总分析,就得到每个人这个月的迟到、早退、加班汇总数据,如下:
之前在网课上学习了透视表格的,可是现在却忘记了,怎么回事来着,看来要新get了。
赞同
1
评论
分享
近24小时数据量增长最快的文章可上榜