这是一个求助案例:关于跨多个数据表的一对多查找匹配。
案例:下图 1 中的上下两个表是有关联的,“姓名”列中凡是显示部门名称的单元格,都有对应的具体成员姓名。请将两张表匹配后,将所有的姓名都列在同一列中。
效果如下图 2 所示。
解决方案:1. 选中上方的数据表的任意单元格 --> 选择菜单栏的“数据”-->“从表格”
2. 在弹出的对话框中保留默认设置 --> 点击“确定”
表格已经上传至 Power Query。
3. 选择菜单栏的“主页”-->“关闭并上载”-->“关闭并上载至”
4. 在弹出的对话框中选择“仅创建连接”--> 点击“加载”
5. 选择下方数据表的任意单元格 --> 选择“数据”-->“从表格”
6. 点击“确定”。
现在两个表都上传到 Power Query 了。
7. 在左侧的“查询”区域选中“表1”--> 选择菜单栏的“主页”-->“合并查询”
8. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
选择“表1”中的“姓名”列
在下拉框中选择“表2”--> 选择“部门”列
9. 选择菜单栏的“添加列”-->“索引列”
10. 点开“表2”旁边的扩展钮 --> 仅勾选“姓名”--> 取消勾选“使用原始列名作为前缀”--> 点击“确定”
11. 删除“索引”列。
12. 选择菜单栏的“添加列”-->“条件列”
13. 按以下方式设置:
列名:选择“姓名.1”
运算符:选择“等于”
值:输入“null”
输出:点击格式旁边的下拉菜单 --> 选择“选择列”
在下拉菜单中选择“姓名”
在 ELSE 的格式菜单中也选择“选择列”--> 选择“姓名.1”--> 点击“确定”
14. 删除“姓名”和“姓名.1”列。
15. 将“自定义”列拖动到第二列,并将其标题修改为“姓名”。
16. 选择菜单栏的“主页”-->“关闭并上载”-->“关闭并上载至”
17. 在弹出的对话框中选择“仅创建连接”--> 点击“加载”
18. 在工作表右侧的“工作簿查询”区域选中“表1”--> 右键单击 --> 在弹出的菜单中选择“加载到”
19. 在弹出的对话框中选择“表”--> 选择“现有工作表”及所需上传至的位置 --> 点击“加载”
右侧绿色的表格就是所需的最终结果。