前段时间在一家银行企业培训结束后,学员小C咨询了工作中的一个问题:“如何在Excel中实现数据的双向匹配?”
在《如何在Excel中批量匹配数据?》一文中我们曾经介绍过如何利用VLOOKUP和COUNTIFS函数如何对比两张表格的数据差异。
比如下图所示的《培训报名人员名单》和《培训签到人员名单》两张数据表,我们可以在左侧的表格中用VLOOKUP或COUNTIFS函数查询出来有哪些人报了名却没有来参加培训的。
但假如在《培训签到人员名单》中有同学没有报名却来参加了培训,我们又必须在右侧的表格中重新再写一次VLOOKUP或COUNTIFS函数来进行比较。
由于比较的结果分别放在两张表中,导致我们无法直观的同时看到两张表的差异。今天我们就来介绍利用Power Query实现数据的双向比较,可以让我们在一个表中就可以观察到两张表的差异,无需编写任何一个函数。
Power Query是一种数据连接技术,可用于发现、连接、合并和优化数据源以满足分析需要,是 Power BI商业智能分析工具的组件之一。在Excel 2016的版本中已经包含了Power Query,如果你使用的是早期版本,可以到微软的官方网站下载对应版本的Power Query。
具体操作步骤如下:
1、光标放在表格中,无需全选数据,点击“数据”选项卡中的“从表格”功能,即可将数据加载到Power Query中。
2、表格加载到Power Query之后,可以在左侧修改一下表名称,以便于后面分析的时候能对应到数据。
3、导入了第一张表格之后,点击顶部的“关闭并上载-关闭并上载至”功能,可以返回到Excel中继续导入第二张表格。
4、导入了要对比的两张表格之后,点击“合并查询-将查询合并为新查询”功能。
5、在弹出来的合并对话框中,选择匹配字段,比如按“工号”合并这两张表,类似于VLOOKUP函数第一个参数的作用。在底部的联结种类中选择“完全外部”,这种联结方式可以涵盖两张表中的全部数据。
6、在合并后的新查询中,点击下图所示的图标,展开第二张表的内容。
7、这样我们就可以看到两张表双向对比的结果了。左侧的两列是报名表中的数据,最后一行null代表空的数据,意味着A010的张三,没有报名却参加了培训。右侧的两列是签到表中的数据,同样为null的数据,意味着报了名却没有来参加培训的人员数据。
8、最后点击“关闭并上载”功能,就可以将数据加载到Excel中了。这样完成的数据对比结果,如果报名表或签到表的数据更新了,我们只需要在查询结果中点击鼠标右键的“刷新”功能,就可以获得最新的结果,一劳永逸。
网友评论