提起Vlookup函数,用Excel的企业人员没人不知道的,对于我而言,对Excel的深爱也是从Vlookup这个函数而变得一发不可收拾的。这里,就跟大家一起再来分享和回顾一下Vlookup函数的几种用法。上述案例中如果直接进行文本的联合,联合后会导致有些条件是重复的。这个题你可以把它想成是两个IF函数的结合体。

提起Vlookup函数,用Excel的企业人员没人不知道的,对于我而言,对Excel的深爱也是从Vlookup这个函数而变得一发不可收拾的。
这里,就跟大家一起再来分享和回顾一下Vlookup函数的几种用法。
一、常规用法及理解案例:
根据员工编号得出姓名,这个是VLOOKUP函数的基本功。借着这个题再来重新认识一下每个参数的含义,因为如果要高效工作前提就是理解函数的意义和熟练操作。
1、它总共4个参数,第一个是你查找的条件,也就是说你要根据什么东西去找你要的结果,本题的案例中,都是根据员工编号来查找员工的姓名,也就是说是以员工编号作为查找的条件的;
2、再来看第二个,是一个查找的范围,也就是说你要在什么地方找你要的东西,那这里就有个要求,首先员工编号必须在查找的这个范围中,而且员工编号必须处于这个范围中的第一列;3、接下来是第三个,是查找结果所在范围的列数,对应到题目中,我们要找的结果是姓名,在查找的范围中这个姓名是处于第二列的,因此列数是2;4、最后一个参数可能有点费解,当为0或false的时候,表示的是精确查找,精确查找的意思就是:第一个查找的条件如果能在第二个查找的范围中找到的话,那么一定是一一对应的,当然如果查找的条件在查找的范围中没有,那也就得不到结果;当然,这里的0或false也可以省略不写,但是参数前面的逗号必不可少;
我想说的是,实际工作中用得最多的,也被很多小伙伴掌握的就是这个精确查找,在完全掌握了这个的基础上,再来扩展一下其他的知识。如果是1或true,表示的是模糊查找,模糊查找的字面意思很容易理解,是相对于精确来说,也就是说可以查找的条件在查找的范围中是没有的,但是能找到与查找的条件大概相似的。比如说找的条件是数字5,但是查找范围中没有5,那么系统就会自动找最接近5并且是小于5对应的结果。明白上述这个说法,我们来看一下这个公式的模糊查找。
二、模糊查找
案例:
从黄色区域看来,再结合刚才所说,需要查找的条件在查找的范围中是根本没有对应的值的,因此第四个参数就要使用true或1,而且这个参数必不可少,不能省略。
但是这里有个前提必须要特别注意,查找范围中的第一列数据必须按照升序的顺序排列,对应到上述案例中,就是奖金评定参数必须从小到大进行排列。
按照之前的说法,查找65475这个数值,对应的查找范围中没有这个数值,因此系统找的就是接近65475并且小于65475的数值,这里对应的就是50000,所以得到的奖金比例结果就是1.50%。所以:
对于模糊查找,除了Vlookup之外,Lookup同样也可以有这种玩法,有兴趣的也可以关注参考一下之前发过的视频(LOOKUP时间段匹配)
三、多条件查询
多条件查询,可以有很多种函数进行实现,比如sumproduct和lookup,但是如果大家对Vlookup情有独钟,用它也不是不可以。看案例:
上述是要求根据产品编号和产品型号来找到对应的产品价格,既然是两个条件,我们可以通过建立辅助列的办法先将两个条件进行联合,变成一个条件,最后再通过联合后的条件进行Vlookup的运用就可以轻松得到结果了。这里辅助列的添加也是有技巧的,可以在文本中适当添加一些不常用的符号以示区别。上述案例中如果直接进行文本的联合,联合后会导致有些条件是重复的。
查询的结果列中同样也添加一个辅助列进行运用:
到了这一步,再怎么写函数,想必大家就应该会了吧。
四、创建虚拟数组进行反向查询
上述给大家讲了一条规则说:要使用Vlookup函数进行查询,那么查询的条件必须放在查询范围中的第一列。是不是说如果不想破坏原始数据,但是又想实现反向查询就做不了了呢?案例跟之前的一样:
这次要做的是根据姓名来反向查找员工编号。这里,我们只要将查询范围中的列顺序调换一下就可以了。用office365的小伙伴在进行数组运用的时候结果都很直观,我们使用IF函数将员工编号和姓名列进行换行。
我们直接先找一个空白单元格,输入:=if({1,0},B1:B12,A1:A12),回车后直接看看结果:
是不是转换过来了?!在这个函数中,{}的作用是相当于创建了一个数组,这个数组是包含两列的,这个怎么理解呢?我们可以直接把={1,0}输入到任意空白单元格看看结果。
回车之后自动生成了两列数据。
在IF函数中,我们知道如果条件成立的时候,直接取第一个值,如果条件不成立,就取第二个值;
对于1来说,它其实就是True的意思,也就是说接下来取值就取第一个值,也就是我们B1:B12列中的所有内容,那0自然就是false的意思,所以它就要取第二个值了,也就是A1:A12列中的所有内容。
数组公式理解起来稍微有一点点费劲,后面我会再给大家举例进行一些说明。这个题你可以把它想成是两个IF函数的结合体。
第一列的函数是:=if(true,B1:B12,A1:A12)
第二列的函数是:=if(false,B1:B12,A1:A12)
这两个公式大家也可以在空白单元格中试一下看看结果,通过{1,0}这种方法将上述两个函数取值结果组成了一个新的数组。
五、不用辅助列进行多条件查询
如果理解了上面说的创建虚拟数组的方法,那么同样进行多条件匹配时,也可以不用添加辅助列,而直接利用数组和IF函数就可以实现多条件查询了。
上述条件有三个,我们可以将这三个条件进行组合变成一个,直接使用连接符号&就可以搞定了。也就是说,查询范围中只有两列,第一列是查询的条件,也就是刚才所有条件的组合成为新的一列,第二列就是查询的结果,也就是折扣列。看看公式怎么写吧。
好了,Vlookup的玩法以后碰到了再继续跟大家分享,如果还有不明白的地方,欢迎留言大家一起讨论。
