如果不仅要核对两个二维数据表,还要把所有差异项都列出来,用 Power Query 也非常方便。
案例:
核对下图 1 中的两个数据表,将所有的差异项提取出来,放在另一张表中,效果如下图 2 所示。
解决方案:
1. 选中左侧数据表的任意单元格 --> 选择菜单栏的 “数据”-->“从表格”
2. 在弹出的对话框中保留默认设置 --> 点击“确定”
表格已经上传至 Power Query。
3. 选择菜单栏的“主页”-->“关闭并上载”-->“关闭并上载至”
4. 在弹出的对话框中选择“仅创建连接”--> 点击“加载”
5. 选中右侧数据表的任意单元格 --> 选择菜单栏的“数据”-->“从表格”
6. 点击“确定”。
7. 选中“姓名”列 --> 选择菜单栏的“转换”-->“逆透视”-->“逆透视其他列”
8. 选中“查询”中的“表1”--> 重复步骤 7。
9. 选择菜单栏的“主页”-->“合并查询”
10. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
依次选中“姓名”和“属性”列
在下拉菜单中选择“表2”--> 依次选中“姓名”和“属性”列
在“联接种类”中选择“完全外部(两者中的所有行)”
11. 点开“表2”旁边的扩展钮 --> 仅勾选“值”--> 取消勾选“使用原始列名作为前缀”--> 点击“确定”
12. 选择菜单栏的“添加列”-->“自定义列”
13. 在公式区域中将两个值字段相减 --> 点击“确定”
14. 在“自定义”列中取消筛选 0 值 --> 点击“确定”
15. 删除“自定义”列。
16. 选中两个值列 --> 选择菜单栏的“转换”-->“逆透视列”
17. 选择菜单栏的“添加列”-->“索引列”
18. 选中“属性”列 --> 选择菜单栏的“转换”-->“透视列”
19. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
值列:选择“值.2”
点开“高级选项”--> 选择“不要聚合”
20. 将“索引”列按升序排序。
21. 删除“索引”列。
22. 选中“属性.1”列 --> 选择菜单栏的“主页”-->“替换值”
23. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
要查找的值:输入“值”
替换为:输入“表1”
点开“高级选项”--> 勾选“单元格匹配”
24. 再次选择“主页”-->“替换值”
25. 将“值.1”替换为“表2”--> 同样需要勾选“单元格匹配”--> 点击“确定”
26. 将“3季度”拖动到最后一列。
27. 将标题“属性.1”修改为“表格”。
28. 选择菜单栏的“主页”-->“关闭并上载”-->“关闭并上载至”
29. 在弹出对话框中选择“仅创建连接”--> 点击“加载”
30. 现在回到了 Excel,在右侧的“工作簿查询”区域选中“表1”--> 右键单击 --> 在弹出的菜单中选择“加载到”
31. 在弹出的对话框中选择“表”--> 选择“现有工作表”及所需上传至的位置 --> 点击“加载”
最右侧绿色的表格就是提取出来的所有差异项。