来源:Excel成长学院
院长大大丨图文
教程基于Excel 2016
都说VLOOKUP是Excel中的大众情人,那你知道,你情人都有些什么优点,又有些什么缺点吗?
VLOOKUP在数据查找引用函数中脱颖而出,是因为她的语法相对简单,容易理解,而且效率还不错。
VLOOKUP能轻松解决常用的数据查找场景,这或许就是为什么她能成为众多小伙伴挚爱的原因吧!
但情人也是有缺点的,多条件查找、最后一条数据查找,VLOOKUP都强差人意。
好吧,说了那么多,一起来看看她的优缺点吧!以后不要再勉强你情人做些不愿意的事了。
使用场景
1. 常规查找
根据工号,查找出姓名和手机号码,我们可以通过VLOOKUP函数实现。
简单介绍一下函数的语法,用通俗一点的话来说,VLOOKUP函数的四个参数分别是:(要找谁,要在哪里找,要找它的哪一列内容,要精确的还是模糊的)。
在单元格B10输入公式【=VLOOKUP(A10,A1:G6,2,0)】;在单元格C10输入公式【=VLOOKUP(A10,A1:G6,6,0)】,查找出工号A003对应的姓名和手机号码。
2. 区间查找
根据提成比例规则,计算出每个订单的提成金额。
提成比例规则中,下限、上限金额两列均为升序排列,满足查找要求,使用VLOOKUP函数模糊查找,找出对应的提成比例。
在单元格G2输入公式【=VLOOKUP(F2,$A$1:$C$7,3,1)】,第二个参数中的区域是绝对引用,复制公式时,所选区域不变;最后一个参数是1,使用模糊查找。
常见错误
1. 区域引用
这是使用VLOOKUP函数最常见的错误。为什么第一个值对了,在查找第二、第三……到最后,就会出现错误。
我们以提成比例查找作为案例。在选择A1:C7区域过程中,如果没有使用绝对引用,在公式复制时,选择的区域会随之变化,导致没有查找出对应的数据。
从案例中,我们可以看出,单号A010,提成比例G11计算公式【=VLOOKUP(F11,A10:C16,3,1)】,选择的区间为红色部分,空白区域。
这就是绝大多数小伙伴没有注意到的错误,没有把查找区域固定,造成公式复制过程中出错。
(在选取时按F4可以快速切换绝对引用)
2. 不在首列
刚入门VLOOKUP,还有一个经常遇到的坑,刚遇上查询值不在首列,VLOOKUP也会报错,这时,我们需要实现反向查找。
我们以员工信息查找为案例,假设我们需要通过员工姓名,查找对应的工号,是否能实现呢?
我们的查询值【姓名】,在查找区域的第二列,而非首列。此时,VLOOKUP查找结果报错。
我们需要增加嵌套IF函数进行数组计算,对A、B列重构,实现反向查找。单元格B13输入公式【=VLOOKUP(A13,IF({1,0},B1:B6,A1:A6),2,0)】
强差人意
1. 多条件查找
当VLOOKUP遇上多条件查找时,其写法十分复杂,需要嵌套IF函数,还需要使用数组计算,写法和效率都强差人意。
在遇上多条件查找时,我们可以使用LOOKUP函数替代,其易用性强于VLOOKUP函数。
通过工号和姓名两个条件查找出该员工的职务,使用LOOKUP实现。输入公式【=LOOKUP(1,1/(A2:A6=A13)*(B2:B6=B13),G2:G6)】
公式中【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)】
公式中【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
本文被阅读了:2,276次