从Excel一对多匹配的结果中,查找出日期最晚的那个

Excel学习世界 2024-08-30 11:29:35

如果查找结果有多个匹配值,如何返回日期最晚的那一项?今天教两个公式。

案例:

根据下图 1 中 E 列的姓名,从左侧的数据表中查找出该人员最晚的月份及其对应的业绩。

效果如下图 2 所示。

解决方案 1:

1. 在 F2 单元格中输入以下公式 --> 回车:

=XLOOKUP(E2,A:A,B:C,,,-1)

公式释义:

作为 365 版本中的明星函数,xlookup 函数的用法早已深入人心,语法为 xlookup(要查找的内容,要查找的区域,要返回的区域),除了这三个必要参数,其余都是可选的;

此处我们使用了第 6 个可选参数,当它为 -1 时,表示在数据区域中从最后一项往第一项反向搜索,从而找出姓名最后一次出现时的记录

但是这个公式也有一个弊端:一旦排序的顺序变了,结果就可能不正确。因为它查找的是最后一个位置,而不是案例所要求的月份最大。

比如,我们将“业绩”倒序排序一下,查找出来的结果就变了。

下面这种办法,就能补足这个短板。

解决方案 2:

1. 在 F2 单元格中输入以下公式: 

=MAXIFS(B2:B28,A2:A28,E2)

公式释义:

在 B2:B28 区域中查找出符合以下条件的最大值:A2:A28 区域中的值为 E2

2. 在 G2 单元格中输入以下公式:

=MAXIFS(C2:C28,A2:A28,E2,B2:B28,LARGE(B2:B28,1))

公式释义:

在 C2:C28 区域中查找出同时符合以下条件的最大值:

A2:A28 区域的值等于 E2,且

LARGE(B2:B28,1):B2:B28 区域中的值最大

即使改变排序 ,也不会影响公式结果。

0 阅读:19

Excel学习世界

简介:Excel 学习交流