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社群,进行技术交流和提问,获取更多电子资料。 |
|
来自: hercules028 > 《excel》