excel vlookup函数的反向查找、模糊查找、多条件查找
- 2022-03-15
- 来源/作者: 菜鸟图库/ 菜鸟图库
- 914 次浏览
第一部分:excel vlookup函数使用介绍
Excel中vlookup函数怎么用呢,VLOOKUP函数几乎是大家学习查找引用函数最先接触到的一个函数。
excel vlookup函数的写法可以套用这个结构:
VLOOKUP(查找值,查询区域,返回列,查找方式:精确或模糊查找)。
excel vlookup函数的写法:VLOOKUP(查找值,查询区域,返回列,0),最后一个参数0是什么意思呢?其实这个0表示FALSE的意思,也就是我们想让VLOOKUP函数实现精确查找,其实我们现实中很多用到的都是这个精确查找,那最后个参数不为0会是什么效果呢?如果此参数不为0,就是说最后一个参数为TRUE,此时VLOOKUP函数实现的是模糊查找,也就是说如果VLOOKUP查不到我们想要找的那个值,就返回小于这个查找值中的最大的那个值。
第二部分:excel vlookup函数实例介绍
1、excel vlookup函数等级查询
excel vlookup函数在等级、折扣等这些方面有着很大的用处,下面是一个excel vlookup函数模糊查找的例子。
上图中,A1:B5是一个等级对应表,我们根据此等级,使用excel vlookup函数完成D8:D12区域的级别查找。在D8输入公式:=VLOOKUP(C8,$A$1:$B$5,2,TRUE),下拉复制即可完成。
分析:上面的公式,vlookup函数第四参数为TRUE,使用的是模糊查找。根据excel vlookup函数的帮助说明,当最后一个参数为TRUE,此时VLOOKUP函数实现的是模糊查找,也就是说如果VLOOKUP查不到我们想要找的那个值(77),就返回小于这个查找值中的最大的那个值(A3的70)对应的级别就是“中”。
说明:VLOOKUP函数的模糊查找,仅限于首列为升序排列。
2、excel vlookup函数反向查找实例:根据员工姓名返回员工号
excel vlookup函数的反向查找也是非常常见的。Excel中VLOOKUP函数通常只能从左往右的垂直方向有序查找。如果需要用到逆序,反向查找就需要使用IF或CHOOSE其中一个函数嵌套使用。IF函数在VLOOKUP函数的使用通常是这样的形式:IF({1,0},查找内容的列,返回内容的列)。
比如上图所示,B4单元格,我们输入公式:=VLOOKUP(B3,IF({1,0},E2:E10,D2:D10),2,)。
也可以使用此公式:=VLOOKUP(B3,CHOOSE({1,2},E2:E10,D2:D10),2,)
就是将vlookup函数的第二参数IF改为choose。因为IF{1,0}函数只能用到2个条件,使用有一定局限性。借助CHOOSE函数同样能做到,而且CHOOSE比IF更灵活。比如choose可以有三个甚至更多的条件:=VLOOKUP(B3,CHOOSE({1,2,3},E2:E10,D2:D10,F2:F10),2,)。
3、IF({1,0})在vlookup函数中的使用解释
IF(条件,返回值1,返回值2),首先弄懂这个函数,如果条件为真,函数的结果为"返回值1",如果条件为假,函数的结果是"返回值2"。比如:
if(true,10,100)=10
if(1,"A","B")="A"
if(false,20,30)=30
if(0,"你","我")="我"
{1,2,3,4}是一个数组,一个数组能存储多个数值,数组的表示方式是{}。
{1,0}是个水平数组,它有两个值,一个是1,另一个是0。
该公式通过IF函数改变了列顺序,利用常量数组{1,0}重新构建了一个新的二维内存数组,再提供给VLOOKUP作为查找范围使用。
那么IF({1,0}这个怎么解释,IF({1,0}中的1用其它数代替也可以,如:IF({2,0}、IF({0.8,0}、IF({-1,0},但0只能用FALSE代替。因此,也可以这样理解:0等于FALSE,非0数值则等于TRUE。
在公式的中IF({1,0}只是公式中一部分if(a,b,c),if函数有三个参数,a为true执行b,a为false执行c。那么IF({1,0},E2:E10,D2:D10)这样的公式,简单的理解就是其中的参数a为{1,0},实际上{1,0}是一个水平数组,他有两种情况一个是1一个是0,1表示true,0表示flase,因此两种情况都要执行,整个公式执行后就是把E2:E10和D2:D10两个区域合并了,而vlookup返回值为第2列的值即为D列,这样就达到了反向查询的效果。
excel vlookup函数反向查找总结: vlookup要查找的列必须在第一列,而我们就是利用数组公式的特性配合if公式,给vlookup组建一个满足vlookup要求的表范围,把条件列前面的内容移到后面去,而如果直接在vlookup中选取这个范围是反向的是不能直接选取的。
标签(TAG) vlookup函数