之前教大家通过稍微修改公式的方法,将 PQ 的一对多查询变成查询第一条记录,今天举一反三,如何查找最后一条甚至多条记录呢?
根据下图 1 中 F 列的姓名,分别从左侧数据表中匹配出最后 1 条、最后 2 条和最早 2 条记录,效果如下图 2、3、4 所示。
![]()
![]()
![]()
![]()
1. 选中左侧数据表的任意单元格-- 选择任务栏的“数据”--“从表格”
![]()
2. 在弹出的对话框中保留默认设置-- 点击“确定”
![]()
表格已上传至 Power Query。
![]()
3. 将公式栏中的 datetime 改成 date。
![]()
![]()
![]()
4. 选择任务栏的“主页”--“关闭并上载”--“关闭并上载至”
![]()
5. 在弹出的对话框中选择“仅创建连接”-- 点击“加载”
![]()
6. 用同样的步骤将右侧的数据表也上传至 Power Query。
![]()
![]()
![]()
7. 选择任务栏的“主页”--“合并查询”
![]()
8. 在弹出的对话框中选中“姓名”列-- 在下拉菜单中选择“表1”-- 选中“姓名”列-- 点击“确定”
![]()
![]()
9. 在原有公式的前面和后面分别加上Table.TransformColumns(和 ,{\"表1\",Table.Last})。
![]()
![]()
![]()
![]()
10. 点开“表1”旁边的扩展钮-- 取消勾选“姓名”和“使用原始列名作为前缀”-- 点击“确定”
![]()
![]()
11. 删除“姓名”列。
![]()
![]()
12. 将“日期”列的格式修改为日期。
![]()
![]()
13. 选择“主页”--“关闭并上载”--“关闭并上载至”
![]()
14. 在弹出的对话框中选择“表”-- 选择“现有工作表”和所需上传至的位置-- 点击“加载”
![]()
右侧绿色的表格就是两个人的最后一次匹配记录。
![]()
15. 如果要提取最后两次出现的记录,只需要在步骤 9 中将公式中的Table.Last 修改为 (a)=Table.LastN(a,2)。
![]()
![]()
16. 展开后就像下面这样。
![]()
17. 修改日期格式后上传至空白区域。
![]()
18. 同理,如果要提取最早出现的两次记录,只需在步骤 9 中将公式中的Table.Last 修改为 (a)=Table.FirstN(a,2)。
![]()
![]()