分享

Excel公式技巧62:查找第一个和最后一个匹配的数据

 hercules028 2020-11-03

excelperfect

在使用VLOOKUP函数查找数据时,如果多于一个匹配值,如何获取第一个匹配的值或者最后一个匹配的值。这取决于两个因素:是执行精确匹配查找还是近似匹配查找;数据是否排序。

如下图1所示的工作表。

图1

我们使用公式:

=VLOOKUP(E3,$B$3:$C$9,2,FALSE)

来查找“香蕉”的价格。将VLOOKUP函数的第4个参数的值设置为FALSE,即精确匹配,此时,无论数据是否排序,都将返回第一个找到的匹配值。

如果将数据进行排序,并执行近似匹配查找,将会获取最后一个匹配的值,如下图2所示的工作表。

图2

我们使用公式:

=VLOOKUP(E3,$B$3:$C$9,2)

来查找“脐橙”的价格。将VLOOKUP函数的第4个参数忽略或指定为TRUE,即近似匹配,此时返回最后一个找到的匹配值。因为执行近似匹配查找时,Excel将找到大于查找值的值并返回该值的前一个值。

如果要查找的数据没有排序,执行近似匹配查找,将不会得到正确的结果,如下图3所示。

图3

近似匹配查找的一个典型应用是,确定某范围内的值。例如,根据分数范围确定成绩等级,如下图4所示。

图4

在单元格F3中输入公式:

=VLOOKUP(E3,$B$3:$C$7,2,TRUE)

下拉至F5。

还可以使用INDEX/MATCH函数来查找多个匹配数据中的最后一个,如下图5所示。

图5

在单元格F3中的公式为:

=INDEX($C$3:$C$10,MATCH(E3,$B$3:$B$10,1))

注意,公式中MATCH函数的第3个参数设置为1,执行近似匹配查找。

LOOKUP函数也能用于查找最后一个匹配值。LOOKUP函数总是执行近似匹配,公式也相当简单,如下图6所示。

图6

如果数据没有排序,想要查找最后一个匹配的值,也可以使用LOOKUP函数,如下图7所示。

图7

当然,也可以使用INDEX/MATCH函数组合,但要使用数组公式:

=INDEX($C$3:$C$10,MATCH(2,1/($B$3:$B$10=E3),1))

如下图8所示。

图8

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多