VLOOKUP可谓是Excel各版本中查找函数之王,有多重要呢?反正好多公司在招聘时候把熟练使用VLOOKUP作为硬性指标。例如随便以财务为检索词搜到的一则岗位需求:
但实际上新手在使用VLOOKUP时候往往会出现许多意想不到的错误,因此表哥给大家总结出了下面这些避坑指南。
01
查找值不在查找区域首列
原始数据基础表如下:
如果要查找发票号20200106对应的发货数量:
上图中必须将发票号列放置在查找区域(红色划线部分)的首列。
其实表哥一直给大家强调数据处理的思维观念,如果我们已经养成良好的习惯,在制作基础表时候就应该将具有唯一标识的发票号列设置在基础表的首列。
▎解决办法
调整基础表数据结构,将待查找值所在的列调整至首列。
02
查找区域未绝对引用
有时我们需要查找多行/多列数据,设置好公式后习惯的做法是利用自动填充柄向下拖动填充公式,这个时候忘记设置查找区域绝对引用就会出现下面的问题:
示例中由于table_array查找区域未设置绝对引用,随着公式往下填充,肉眼可见不同行的查找区域发生了明显的变动。这种情况就会导致后面B24行以后查找不到匹配值了。
▎解决办法
VLOOKUP查找区域注意设置绝对引用。
有的朋友喜欢设置查找区域为整列,表哥不建议大家这么操作,因为有可能会造成无效运算。
正确的公式为:
=VLOOKUP($B21,广州省各地级市销量统计基础表!$B$4:$J$14,7,FALSE)
当然,很多初学者会问什么是绝对引用?
请参考这篇文章:
为什么说99乘法表是最好的......教程mp.weixin.qq.com03
查找结果不唯一
很多新手用了几次VLOOKUP后会觉得 噫,这个公式真是方便!于是就开始放心大胆的用起来,殊不知VLOOKUP有个BUG,那就是:
只能查找出首个符合条件的记录
这就要求我们在使用时注意了,如果我们的基础表中存在多个符合条件的记录,则需要格外注意公式的设置。举例如下:
如上面的举例,存在一则查询条件对应多项查找结果的情况,此时VLOOKUP只会返回第一条符合的记录值!这点需要大家格外注意呀~
▎解决办法
使用Excel一对多查询万金油公式
{=IFERROR(INDEX($J$5:$J$14,SMALL(IF($G$5:$G$14=$L$5,ROW(A$5:A$14)-4,2^16),ROW(A1))),"")}注:这是数组公式,需要在输入完公式后同时按Ctrl+Shift+Enter
这个公式由于篇幅所限暂不做详细介绍。
VLOOKUP公式在使用时还会有其他一些"莫名其妙"的错误,诸如查找值是数值,但是查找区域的首列却是文本型数字
或者查找值或查找区域数据存在不可见字符 等等。
大家也可以在下方的留言区评论应用VLOOKUP函数时遇到过的问题和解决办法~
历史文章
[01]
Excel函数怎么快速入门mp.weixin.qq.com[02]
为什么说99乘法表是最好的......教程mp.weixin.qq.com[03]
为什么说聚光灯是练习....最好的教材mp.weixin.qq.com[04]
Excel中如何避免写出又臭又长的公式mp.weixin.qq.com注:本公众号所载原创文章均为作者辛苦创作,转载请联系作者并标明出处。
处处留心皆学问,建议大家可以将这篇推文收藏,以备不时之需。
你点的每个"赞"我都认真当成了喜欢▼