体验零代码搭建

理解VLOOKUP函数第4个参数的真实含义

网友投稿  ·  2023-11-28 10:11  ·  云表格  ·  阅读 954


VLOOKUP函数是大家最喜欢使用的函数之一,能够帮助我们实现很多任务。这里,让我们回过头来从细节处着手,再次深入探究VLOOKUP函数,进一步熟练掌握这个常用的函数。

VLOOKUP函数是大家最喜欢使用的函数之一,能够帮助我们实现很多任务。这里,让我们回过头来从细节处着手,再次深入探究VLOOKUP函数,进一步熟练掌握这个常用的函数。

理解VLOOKUP函数第4个参数的真实含义

VLOOKUP函数有4个参数,其中第4个参数是可选参数,如果我们在公式中省略这个参数,有时会得到错误的结果。如图1所示,在单元格区域A2:B6中查找编号为“2010”的名称,结果是“洗衣机”,很显然是错误的,应该是“冰箱”。

图1

如果将编号排序,就会得到正确的结果“冰箱”,如图2所示。

图2

在VLOOKUP函数中,虽然第4个参数可省略,但省略后其默认为TRUE,即近似匹配,要求所查找的数据必须按升序排列,否则就会得出意想不到的结果,如图1所示。

如果查找的数据列没有按升序排列,则应显式指定第4个参数值为FALSE,即精确匹配,才能得到正确的结果,如图3所示。

图3

因此,当VLOOKUP函数的第4个参数被忽略或者为TRUE时,将执行近似查找,所查找的数据列必须要按升序排列,以获得正确的结果。反之,如果所查找的数据列没有排序,那么VLOOKUP函数的第4个参数应设置为FALSE,执行精确查找。

下面再进一步探究。

如图4是一个收入—税率表。

图4

从图4中可以看出,如果某员工的收入是5000元,那么他要交税的税率为5%。如果另一位员工的收入是18000,他就要交税率为15%的税。

就上述两种情形来说,图4的表中没有一个精确的数字和实际收入相匹配,只能查找到实际收入介于的区间,从而找到相应的税率。这就是VLOOKUP函数第4个参数的真实含义,这也是为什么该参数的英文名为“range_lookup”。

因此,当VLOOKUP函数的第4个参数是TRUE或者被忽略时,告诉Excel去执行一个区间查找。进一步说,就是查找图4列A中的值,该值要等于或者小于但最接近所查找的值。因此,图4中的查找表可以简化为下图5.

图5

此时,使用第4个参数为TRUE或者忽略的VLOOKUP函数查找时,当查找的值大于等于0且小于3000时,返回税率为0;当查找的值大于等于3000且小于8000时,返回税率5%;依此类推。

这也是为什么查找列的数据必须要按照升序排列的原因。

示例1:基本的查找

如图6所示,要求查找收入为10000元的员工要交税的税率,公式为:

=VLOOKUP(A10,A2:B6,2,TRUE)

图6

示例2:查找日期

VLOOKUP函数能够查找最接近的日期,如图7所示。在单元格E2中输入公式:

=VLOOKUP(D2,$A$2:$B$4,2,TRUE)

向下拉至单元格E6。

图7

示例3:单列查找

查找表可以仅有1列,从这1列中查找并返回区间开始点的值。如图8所示,为2018年2月份每周一所在的日期。

图8

现在,在图8所示的查找表中查找指定的日期并返回该日期所在周一的日期,结果如图9所示。

图9

在单元格D2中的公式为:

=VLOOKUP(C2,$A$2:$A$6,1,TRUE)

向下拖至单元格D7。

示例4:比较两个列表

有时,我们需要比较两个列表,确定一个列表中包含另一个列表中的哪些项目。如图10所示,有“库存”表和“用户需求”表,要求根据“用户需求”表中的编号来查找“库存”表中相应编号的价格并将找到的结果输入到“用户需求”表中。

图10

可以使用VLOOKUP函数来完成,如图11所示。

图11

在单元格F3中输入公式:

=VLOOKUP(D3,$A$3:$B$6,2)

下拉至单元格F8。

咋一看,似乎任务完成!但仔细看一下,发现“用户需求”表中的编号1003和1005在“库存”表中不存在,但仍然得到了结果。阅读到这里的读者应该知道,公式中的VLOOKUP函数的第4个参数忽略,告诉Excel执行近似(区间)查找,此时Excel会找到小于但最接近查找值的值并返回相应的结果。但我们的这个示例中,并不需要这样。我们想要的是,如果找到的数据,就返回相应的值,没有找到就算了。

此时,应该将VLOOKUP函数的第4个参数明确设置为FALSE,当没有找到数据时,返回#N/A。如下图12所示。

图12

在单元格F3中的公式为:

=VLOOKUP(D3,$A$3:$B$6,2,FALSE)

现在,我们已经可以清楚地看到哪些编号对应的价格是“库存”表中没有的,因为它们会显示#N/A。

下面,我们稍作改进,让表格更加清楚地呈现结果,如图13所示。

图13

在单元格F3中的公式为:

=IFERROR(VLOOKUP(D3,$A$3:$B$6,2,FALSE),”没有库存”)

结语

在使用VLOOKUP函数时,你不能忽视其第4个参数,如果使用不恰当,会误导得出不正确的结果。然而,如果理解了第4个参数的真实含义并恰当运用,不仅能够更合理地使用VLOOKUP函数,而且可以有趣地使用VLOOKUP函数。


MATCH函数使VLOOKUP函数更灵活高效 << 上一篇
2023-11-28 10:11
MATCH函数的几个使用技巧
2023-11-28 10:11
下一篇 >>

相关推荐