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

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)

相关推荐

  • Excel如何屏蔽表格数据的匹配错误

    在VLOOKUP函数的使用过程中,如果数据匹配不成功就会报错,前面的技巧中也碰到过这样的问题.本技巧将具体讲解IFERROR函数到底应该怎么使用.如图3-108所示,VLOOKUP函数匹配不成功就会报 ...

  • Excel表格为什么那么慢以及怎么解决(三)查找公式的效率分析

    我们对Excel的直观感受就是公式一多,Excel计算速度就会很慢.但是实际上并不是这样的.Excel中很多公式并不必然导致计算速度变慢,让计算速度变慢的原因是你对公式的选择以及公式的写法. 上一篇我 ...

  • VLOOKUP技巧-使用近似匹配如何找到真的匹配结果

    使用VLOOKUP函数的近似匹配时会遇到返回的结果不正确(不是错误值!),你可以用下面的技巧解决这个问题! 前言 VLOOKUP函数的近似匹配一般用于数值类型的分段查找,我们以前介绍过.不过在一些特殊 ...

  • Excel WPS的vlookup函数应用

    需求:如图所示,要把图1的对应内容输入到图2中,图1在sheet1,图2在sheet2. 图1 图2 用vlookup函数的解决方案: 在图2的B2单元格输入"=vlookup(" ...

  • Excel公式技巧73:获取一列中长度最大的数据值

    excelperfect 在<Excel公式技巧72:获取一列中单元格内容的最大长度>中,我们使用一个简单的数组公式: =MAX(LEN(B3:B12)) 获取一列中单元格内容最长的文本长 ...

  • Excel公式技巧93:查找某行中第一个非零值所在的列标题

    excelperfect 有时候,一行数据中前面的数据值都是0,从某列开始就是大于0的数值,我们需要知道首先出现大于0的数值所在的单元格.例如下图1所示,每行数据中非零值出现的位置不同,我们想知道非零 ...

  • Excel公式技巧82:查找指定值所在的单元格

    excelperfect 通常,我们会根据指定的位置查找值,例如使用VLOOKUP函数查找指定行列单元格中的值.然而,如果我们知道了某个值,需要查找这个值所在的单元格,这如何使用公式呢? 例如,下图1 ...

  • Excel公式技巧83:使用VLOOKUP进行二分查找

    excelperfect VLOOKUP函数是我们非常熟悉也很常用的一个函数.下面是其语法: VLOOKUP(lookup_value,table_array, col_index_num,[rang ...

  • Excel公式技巧94:在不同的工作表中查找数据

    excelperfect 很多时候,我们都需要从工作簿中的各工作表中提取数据信息.如果你在给工作表命名时遵循一定的规则,那么可以将VLOOKUP函数与INDIRECT函数结合使用,以从不同的工作表中提 ...

  • Excel公式技巧96:区分大小写查找

    有时候,我们需要执行区分大小写的查找.如下图1所示,由字母a.t.l.a和s的不同大小写组成的字符串,现在要查找字符串"AtLaS"对应的数量. 图1 可以使用下面的数组公式: = ...

  • Excel公式技巧97:多条件查找

    excelperfect 有时候,我们需要根据多个条件在数据表中查找值,此时,就需要使用一些公式技巧了.本文的示例使用INDEX函数/MATCH函数组合的数组公式来实现多条件查找. 示例1:满足两个条 ...

  • Excel公式技巧101:使用COUNTIFS来验证VLOOKUP查找结果

    excelperfect 大家知道,使用VLOOKUP函数进行查找时,如果找到多个匹配的值,将只返回第一个找到的值.如下图1所示,工作表Data中的数据. 图1 在工作表Vlookup中,列C中是要查 ...

  • Excel公式技巧104:查找任意月的最后一天

    excelperfect 下面是计算任何月份的最后一天的一个方便的技巧. 假设y和m分别是想要查找的最后一天的日期中的年和月,那么: =DATE(y,m+1,0) 使用0作为日参数值,返回前一个月的最 ...