前言
每当说起在Excel中的查询函数,必提的就是VLOOKUP,虽然功能强大,但是限制是比较死板的,要查询的数据必须位于区域的第一列,而且是单条件查询,在有特殊需求的时候,肯定就会使用到函数嵌套了,显得比较麻烦……,而替代方案,无外乎就两种了,(1)升级版本,换功能强大的软件;(2)找其他的替代函数;如果想升级软件版本的话,office365就是一个不错的选择,在里面有新增加的xLOOKUP函数,想怎么查询都可以的。但是office365必须安装在win10系统中,而且买新软件都要再付费,对于单位里面的资本家来说,旧版本还能用,才不会舍得花钱再升级呢。另外一种方法,就是找替代函数了,其中LOOKUP函数,看形式上,和前面的VLOOKUP函数非常相似,可以认为能实现VLOOKUP,HLOOKUP几乎所有的功能,而且他们是同根同族,用法都是差不多的,学习门槛低,只要会一个,其他都基本上学会了;还有就是index math被称为查询的万精油函数,想怎么查都可以(下篇文章介绍)。
想学习更多函数,请点击下方专栏(视频版,带字幕哦,目前还可以领优惠券)
函数结构
函数语法:LOOKUP(查询值, 查询的行或列,[返回结果行或列])
LOOKUP 有两种使用方式:向量形式和数组形式,其中使用最多的就是向量形式;而数组形式是为了和其他的软件兼容的,这种形式微软的官方都不推荐,所以我们就学向量形式就可以满足工作作用的需要了;第一个参数,查询值,可以是文本,数字,逻辑值,或者是某单元格的引用;
第二个参数,查询的行或列,单行或者是单列,但是要求其值必须按升序排列,升序排列,升序排列(重要事情说三次,这是默认规定的):什么是升序呢,也就是说:……, -2, -1, 0, 1, 2, ……, A-Z, FALSE, TRUE;如果不是升序,LOOKUP 可能无法返回正确的值,而 文本不区分大小写。
第三个参数,可选的,也就是说,可以不输入,如果输入的话,就输入单行行或单列,而且必须与第二个参数的行数或者列数相同。
第四个参数,其实LOOKUP函数要比VLOOKUP函数少一个参数,所以根本就没有第四个参数;但是若VLOOKUP函数不输入第四个参数,默认为TRUE,也就是实现模糊匹配,所以和LOOKUP函数功能一样
典型用法:
例1,常规用法,根据姓名查成绩
原始数据如下
公式如下
这是一个不太完美的用法,需要将姓名按照升序排列才能查询出正确的结果;如果不是升序排列就会出错,明白为什么?不明白请重读上面函数解释第二个参数;例2:万能公式(单条件,多条件均适用),记住就搞定90% 查询原始数据表
和例1是一样的,只是按照班级排序,这样更符合实际的习惯;
公式如下:=LOOKUP(1,0/($F$3:$F$15=B2),$G$3:$G$15)
公式释义:公式中,比较复杂,就在第二个参数,其中$F$3:$F$15=B2中是判断$F$3:$F$15中的单元格值是否等于B2单元格的值,如果相等就返回TRUE,不相等就返回FALSE。但返回的这逻辑值是作为除数,而0作为被除数的,而在算数运算中,TRUE被当成1,FALSE被当成0,作为除数就会出错,所以如果名字相等返回TRUE,0/TRUE结果为0,而0/FALSE的结果是一个错误值 #DIV/0!;所以,执行的结果是只有等于B2单元格姓名的返回结果是0,而其他的都是#DIV/0!而LOOKUP在查询1的时候,会忽略错误值,只有名字对应的结果为0,所以就返回名字所对应行的成绩;
例3,多条件万能公式
原始数据
这次为了能表示出多条件,修改了几个姓名,比如两个班级均有兆美
公式 =LOOKUP(1,0/(($F$3:$F$15=B3)*($E$3:$E$15=A3)),$H$3:$H$15)
公式释义:公式和例2是一样的,只是在第二个条件中,多了一个条件,所以采用了括号的形式来写,(($F$3:$F$15=B3)*($E$3:$E$15=A3)),即班级相等返回TRUE,否则就是FALSE,姓名也是类似的道理,然后两个括号中的一系列结果相乘,TRUE当成1,FALSE当成0,所以只有在TRUE*TRUE的时候,结果才等于1 ,其余都为0,后续的运算就和例2的一样了
如果有更多的条件,也可以一并写在参数二部分;
,