首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VLOOKUP函数的使用方法

作者:木禾乔--七禾

VLOOKUP是excel中常用的函数之一,在《VLOOKUP函数的使用方法(入门初级篇)》我们介绍了VLOOKUP函数的基本用法,今天我们来讲讲VLOOKUP函数的进阶篇。

一、不按源表数据顺序查找多列对应值

在初级篇中我们介绍了按源表数据顺序查找,如下:

当时我们设置公式为:

=VLOOKUP($A$16,$A$3:$E$10, COLUMN(D1),0)。

上表中我们查找的数据为三季度四季度,这与源表顺序相一致。但如果我们不按该顺序查找呢?如果我们要按下图的顺序查找又该如果设置公式?很显然COLUMN完全派不上用场。

这时我们需要用到别外一个查找函数MATCH,MATCH函数指返回符合特定值特定顺序的项在数组中的相应位置

函数语法:

=MATCH(条件,包含条件的区域,匹配方式)

我们先来做一个验证,如上图所示,查找“四季度”在 A3:E3区域中的位置,结果为5。这正是我们所需要的。

将公式设置为:

=VLOOKUP($A$20,$A$3:$E$10,MATCH(B19,$A$3:$E$3),0)

最后我们来对比回顾一下:

按源表数据顺序查找多列对应值公式:

=VLOOKUP($A$16,$A$3:$E$10, COLUMN(D1),0)

不按源表数据顺序查找多列对应值公式:

=VLOOKUP($A$20,$A$3:$E$10,MATCH(B19,$A$3:$E$3),0)

二、模糊查找对应值

当给定的条件数据只有部份匹配时我们又该如何设置公式呢?

如下图的数据,我们要查找开头为“福”字的相应数据,

我们发现将条件“福州”必为“福”时,原公式结果为错误,这是因为条件不同造成的,在excel中有两个通配符:

星号(*)代表所有字符,如:“福*”表示开头包含福字的意思。

问号(?)代表一个字符,如:“福 ??”表示开头包含福字的三个字。

将上图公式改为:

=VLOOKUP($A$16&"*",$A$3:$E$10, COLUMN(D1),0)

三、逆向查找数据

查找三季度销售数量为65的销售区域,我们看到在上图中,条件区域在D列,而查找的值在A列,而VLOOKUP函数只能按首列查找,不能逆向查找,既然如此,那就得想办法将非首列的区域转换成首列。怎么转换区域呢,这时IF函数就派上用场。

先来看看我们设置的公式:

=VLOOKUP(A16,IF(,D3:D10,A3:A10),2,0)

IF(,D3:D10,A3:A10这是本公式中最重要的组成部分。在EXCEL函数中使用数组时,返回的结果也会是一个数组。这里1和0不是实际意义上的数字,而是1相关于TRUE,0相当于FALSE,当为1时,它会返回IF的第二个参数(D列),为0时返回第二个参数(A列)。根据数组运算返回数组,所以使用IF后的结果返回一个数组(非单元格区域):{"三季度","区域";"84","南京";"76","广州";"82","宁波"……}。

四、屏蔽错误值

VLOOKUP函数如果查找不到对应值会显示错误值#N/A,这个看起来很不美观。这时我们可以在外面加个容错函数IFERROR:

=IFERROR(VLOOKUP(A16,A3:E10,5,0),"")

函数语法:

=IFERROR(表达式,错误值要显示的结果)

说白了就是将错误值显示成你想要的结果,不是错误值就返回原来的值。

以上就是VLOOKUP函数的几种用法,当然VLOOKUP函数的用法还有很多。函数公式的魅力,在于函数之间的嵌套组合,从而产生无穷变化,将不可能变成可能。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190906A0LNO700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券