vlookup 和 xlookup 查找的结果默认是一对一的,有多条符合条件的记录时会返回第一条匹配记录。需要多对多查询的时候,最方便的就是用 PQ。
现在反过来问,PQ 能否像公式一样,只返回第一条符合的查询结果?
案例:
根据下图 1 中 F 列的姓名从左侧数据表中匹配出第一条结果,效果如下图 2 所示。
解决方案:
1. 选中左侧数据表的任意单元格 --> 选择任务栏的“数据”-->“从表格”
2. 在弹出的对话框中保留默认设置 --> 点击“确定”
表格已上传至 Power Query。
3. 将公式栏中的 datetime 改成 date。
日期后面多余的时间就不再显示了。
4. 选择任务栏的“主页”-->“关闭并上载”-->“关闭并上载至”
5. 在弹出的对话框中选择“仅创建连接”--> 点击“加载”
6. 将右侧的数据表也上传至 Power Query。
7. 选择任务栏的“主页”-->“合并查询”
8. 在弹出的对话框中选中“姓名”列 --> 在下拉菜单中选择“表1”--> 选中“姓名”列 --> 点击“确定”
此时匹配出来的结果是一对多的。如果只要匹配出第一个结果,只需稍微修改一下公式。
如果不用公式,将结果扩展开来,删除重复项当然也是可以的。今天教大家姿势更帅的方法。
9. 在原有公式的前面和后面分别加上 Table.TransformColumns(和 ,{"表1",Table.First})。
10. 点开“表1”旁边的扩展钮 --> 取消勾选“姓名”和“使用原始列名作为前缀”--> 点击“确定”
11. 将“日期”列的格式修改为日期。
12. 删除“姓名”列。
13. 选择“主页”-->“关闭并上载”-->“关闭并上载至”
14. 在弹出的对话框中选择“表”--> 选择“现有工作表”和所需上传至的位置 --> 点击“加载”
右侧绿色的表格就是第一条匹配结果。