利用Excel检查数据差异
起因:考勤时间数值存在差异
A表中:
数据量:近2w行的数据。
数据值: 18774.62
B表中:
数据量:近2w行的数据。
数据值: 18372.02
差别:由此存在400的差值,所以需要我去帮忙找400的差值。
小技巧:大表定位的方法,右键滚动条进行定位操作。
在这种超过万行的表格中,我们其实很难做到准确的定位。这个时候需要依赖Excel自有的几个粗略定位来满足我们的效率办公的需求。
1.整合
我的想法是既然是不同的两张表的差异,那就首先将两张表整合。
将A表与B表通过移动和复制功能导入同一个新表:C表
整合进一个表,是为了方便后期power query抓取数据是从表本身抓取,这样即使你把表分享给了其他同事,它也不会出现数据源丢失的情况。
2.制表
选择需要制表区域的顶行,然后按住shift,使用边栏的定位功能,我们可以拉到一个制表区域。
然后使用ctrl+T快速制表,(或者使用插入选项卡中的“表格”工具进行制表)
这样我们就完成了一个表格区域的制作。修改对应的字段名称即可。
将A表、B表的表格区域制作出来,接下来就方便导入到Power Query中操作。
3.将表格区域导入power query
1.我们使用“数据”选项卡中的“自表格区域”中导入A表、B表中的数据区域
导入完成后如下图所示:
导入后我们用pwer query工具对数据进行清洗。
观察原本数据,有效的考勤记录是包含姓名的,所以我把姓名这一行的筛选除去了“空值”。
然后将其他数字格式的字段对应设置成“数字”格式即可。这就完成了本表最简单的数据清洗。
之后重复再导入的A表、B表中操作。获得有效的数据。
之后将所有数据导入数据模型
4.power pivot工具形成数据透视表
进入power pivot工具使用数据透视表工具将各个表数据集中形成透视表即可
在透视表中能看到更明显的数据对比:首先利用排序功能将两个表的按姓名排序,得到一个一样得姓名序列,
之后我们需要对比两列中考勤数据得同异:选中需要对比得两列数据,快捷操作ctrl+G使用“定位条件”(或者使用“开始”选项卡中查找与选择“定位条件”)功能
之后我们使用行内容对比即可
对比完成后会将不一样得数据选出,然后我们把它填成黄色即可。
而数值差400得列也是这么弄出来得。得到存在考勤数据错误得员工。
5。接下来要明确是哪一天得数据错误:考研数据透视表得钻取能力
我们通过双击错误数据进行钻取,得到员工A得考勤数据透视,接下来对这两个表进行对比
从最基本的数据行数对比我们都能看到至少查了一天的数据
106行数据 | 107行数据 |
---|---|
那就直接对比日期吧:查明原因为缺少2018\12\31的数据
缺少20181231的数据 | 缺少数据 |
---|---|
之后一个个对比员工数据即可。