excel匹配_查找第一个和最后一个匹配的数据 excel函数公式技巧

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

如下图1所示的工作表。

93c48bf9db4dd422631aa0c0ddd56d98.png

图1

我们使用公式:

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

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

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

5871639323cfac48e5daa4a913c4f136.png

图2

我们使用公式:

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

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

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

dce91ef59c320ce53503cd74c9242433.png

图3

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

9067218509954fcb454aefcac9b08f58.png

图4

在单元格F3中输入公式:

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

下拉至F5。

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

df31f6e3f989840075ca0256421869a4.png

图5

在单元格F3中的公式为:

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

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

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

6b6f714987a7f0cb4cb181926da5833d.png

图6

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

dc36ed03eb38a11d0d69ec2286b48cd4.png

图7

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

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

如下图8所示。

206d171da16dfbf0e4143893394824da.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值