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

deer332025-06-29技术文章29

很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

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