无论从Excel表格中匹配最早或最晚的n条记录,都只需稍微改下公式

Excel学习世界 2025-03-25 22:09:08

之前教大家通过稍微修改公式的方法,将 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)。

0 阅读:0

Excel学习世界

简介:Excel 学习交流