打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
查找最后一个匹配值,使用VLOOKUP、LOOKUP、INDEX+MATCH函数的5种方法
当我们使用查找函数VLOOKUP、LOOKUP、INDEX+MATCH进行查找时,如果有多个匹配值,如何才能返回最后一个匹配值呢?
本文介绍使用查找函数查找最后一个匹配值的五种方法。这五种方法分为两大类,第一类先排序再查找,第二类无需排序直接查找。
一、案例
如下图所示,A1:C10为三种产品在不同日期的采购价格表。要求查询“品2”的最后一次采购价格。

二、解决方法
第一类方法:先对查找值所在列按升序排序,再使用函数查找
本例中,查找值所在列为“产品”列,以“产品”列作为排序依据,按升序排序。排序结果如下图所示:
对排序后的数据可使用以下三种方法查找最后一次采购价格。
方法一、VLOOKUP函数
在F2单元格输入公式:=VLOOKUP(E2,$A$2:$C$10,3,TRUE)
VLOOKUP函数的第3个参数“True”代表近似匹配,VLOOKUP会查找到小于等于查找值的最大值。本例中,对“产品”列按照升序排序,当VLOOKUP查找到A5单元格的“品2”时,由于“品2”大于“品1”,VLOOKUP函数会退后一行查找到A4单元格的“品1”,并返回C4单元格的值,也就是“品A”的最后一次采购价格。

方法二、LOOKUP函数
在F2单元格输入公式:=LOOKUP(E2,$A$2:$A$10,$C$2:$C$10)
LOOKUP函数的查找原理和VLOOKUP函数近似查找原理类似。

方法三、INDEX+MATCH函数
在F2单元格输入公式:
=INDEX($C$2:$C$10,MATCH(E2,$A$2:$A$10,1))
本例中,MATCH函数的第三个参数“1”代表近似匹配,MATCH函数会查找到小于等于查找值的最大值,查找值所在列须按升序排序。

第二类方法:无需排序,直接使用函数查找
如果查询时,要求不能改变原始数据,那么我们就不能使用上述先排序再查找的方法。以下将介绍两种无需排序,直接使用函数查找的方法。

方法一、LOOKUP函数
在F2单元格输入公式:
=LOOKUP(2,1/($A$2:$A$10=E2),$C$2:$C$10)
本例中使用1/($A$2:$A$10=E2)构造查找区域,返回结果为
{#DIV/0!;1;#DIV/0!;#DIV/0!;1;#DIV/0!;#DIV/0!;1;#DIV/0!}
LOOKUP函数在“1”和错误值“#DIV/0!”构成的数组中查找值“2”,LOOKUP函数会查找到最后一个“1”所在的位置。

方法二、INDEX+MATCH函数
在F2单元格输入公式:
=INDEX($C$2:$C$10,MATCH(2,1/($A$2:$A$10=E2),1))
这是一个数组公式,按Ctrl+Shift+Enter结束公式输入。
与LOOKUP函数类似,使用1/($A$2:$A$10=E2)构造MATCH函数的查找区域,MATCH函数返回最后一个“1”所在的位置。INDEX函数则返回同一行的C列的值。




END




本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
6个查询函数应用技巧合集,简单易学,收藏备用!
Excel逆向查找匹配不能用vlookup函数,那就学这4种方法!
excel数据查询的五种方法
EXCEL如何满足两个条件查找?
4种方法解决Excel逆向查找问题
八种方式实现多条件匹配
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服