来源:Excel成长学院

院长大大丨图文

教程基于Excel 2016


都说VLOOKUP是Excel中的大众情人,那你知道,你情人都有些什么优点,又有些什么缺点吗?

VLOOKUP在数据查找引用函数中脱颖而出,是因为她的语法相对简单,容易理解,而且效率还不错。

VLOOKUP能轻松解决常用的数据查找场景,这或许就是为什么她能成为众多小伙伴挚爱的原因吧!

但情人也是有缺点的,多条件查找、最后一条数据查找,VLOOKUP都强差人意。

好吧,说了那么多,一起来看看她的优缺点吧!以后不要再勉强你情人做些不愿意的事了。

使用场景

1. 常规查找

根据工号,查找出姓名和手机号码,我们可以通过VLOOKUP函数实现。

4832c92e22ed55bc2ed3e38ea0988125.gif

简单介绍一下函数的语法,用通俗一点的话来说,VLOOKUP函数的四个参数分别是:(要找谁,要在哪里找,要找它的哪一列内容,要精确的还是模糊的)。

在单元格B10输入公式【=VLOOKUP(A10,A1:G6,2,0)】;在单元格C10输入公式【=VLOOKUP(A10,A1:G6,6,0)】,查找出工号A003对应的姓名和手机号码。

2. 区间查找

根据提成比例规则,计算出每个订单的提成金额。

6e3560798460d6dc4756af672d8b8b36.gif

提成比例规则中,下限、上限金额两列均为升序排列,满足查找要求,使用VLOOKUP函数模糊查找,找出对应的提成比例。

在单元格G2输入公式【=VLOOKUP(F2,$A$1:$C$7,3,1)】,第二个参数中的区域是绝对引用,复制公式时,所选区域不变;最后一个参数是1,使用模糊查找。

常见错误

1. 区域引用

这是使用VLOOKUP函数最常见的错误。为什么第一个值对了,在查找第二、第三……到最后,就会出现错误。

我们以提成比例查找作为案例。在选择A1:C7区域过程中,如果没有使用绝对引用,在公式复制时,选择的区域会随之变化,导致没有查找出对应的数据。

87de19ef82c5f49aa5cca1ad80b80df8.gif

从案例中,我们可以看出,单号A010,提成比例G11计算公式【=VLOOKUP(F11,A10:C16,3,1)】,选择的区间为红色部分,空白区域。

26d9456b2562879227093d78dfd73500.jpg

这就是绝大多数小伙伴没有注意到的错误,没有把查找区域固定,造成公式复制过程中出错。

(在选取时按F4可以快速切换绝对引用)

2. 不在首列

刚入门VLOOKUP,还有一个经常遇到的坑,刚遇上查询值不在首列,VLOOKUP也会报错,这时,我们需要实现反向查找。

我们以员工信息查找为案例,假设我们需要通过员工姓名,查找对应的工号,是否能实现呢?

461a45ba3201c1c4bdf604d47342dc99.gif

我们的查询值【姓名】,在查找区域的第二列,而非首列。此时,VLOOKUP查找结果报错。

我们需要增加嵌套IF函数进行数组计算,对A、B列重构,实现反向查找。单元格B13输入公式【=VLOOKUP(A13,IF({1,0},B1:B6,A1:A6),2,0)】

ccf894e056b741f23c243137547f158e.gif

 
强差人意

1. 多条件查找

当VLOOKUP遇上多条件查找时,其写法十分复杂,需要嵌套IF函数,还需要使用数组计算,写法和效率都强差人意。

在遇上多条件查找时,我们可以使用LOOKUP函数替代,其易用性强于VLOOKUP函数。

通过工号和姓名两个条件查找出该员工的职务,使用LOOKUP实现。输入公式【=LOOKUP(1,1/(A2:A6=A13)*(B2:B6=B13),G2:G6)】

3ef45699f2ddeb1cb5519c9f7e7d8597.gif

公式中【A2:A6=A13】和【B2:B6=B13】,相等为1,不相等为0,即返回两组1和0的数组,用【*】相乘。然后,用1除,即可得到1和#DIV/0!的数组。

LOOKUP函数查找的值是1,查找结果为第3行,对应G列查找出G4,职务为【助手】。

2. 最新数据查找

遇上最后一行数据查找,VLOOKUP函数基本没办法实现,你就忘了她吧!遇上这种查找场景,推荐你使用LOOKUP函数。

根据库存流水表,通过产品名称,找出最新库存数量。

输入公式【=LOOKUP(1,0/($B$2:$B$11=E2),$C$2:$C$11)】

258ca49bce70ec232713f56c816acdb9.gif

公式中【B2:B11=E2】,相等为1,不相等为0,即返回1和0的数组,然后,用0除,即可得到0和#DIV/0!的数组。

LOOKUP函数查找的值是1,由于返回值中没有1,则查找0和#DIV/0!的数组中小于1的值,根据函数特性,返回最后一个0值的位置。

VLOOKUP函数,你知道怎么爱惜她了吧!


源地址:https://mp.weixin.qq.com/s/AgolderdOGFgfEkSwO6GTA


本文被阅读了:262次

作者头像
关于  Ailitonia

正因站在了巨人的肩膀上,才越发觉得自己渺小。不求成为巨人,但求与其同行。 把自己所见所闻,记录下来。

→查看所有由Ailitonia发布的文章