请选择 进入手机版 | 继续访问电脑版
在线投稿 文字标题 文字标题 文字标题 文字标题 文字标题
切换皮肤
谁说LOOKUP只能模糊查询,有了这个万能公式,想怎么查都行
前言
每当说起在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,常规用法,根据姓名查成绩
原始数据如下
?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F0503%2Ff5cda712j00q9r95h005ac000s200l1m.jpg

公式如下
?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F0503%2F9adb522ep00q9r95g000gc000bq007sm.jpg
这是一个不太完美的用法,需要将姓名按照升序排列才能查询出正确的结果;如果不是升序排列就会出错,明白为什么?不明白请重读上面函数解释第二个参数;例2:万能公式(单条件,多条件均适用),记住就搞定90%+查询原始数据表和例1是一样的,只是按照班级排序,这样更符合实际的习惯;
?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F0503%2Fb40da770j00q9r95h004ec000oj00i1m.jpg
公式如下:=LOOKUP(1,0/($F$3F$15=B2),$G$3G$15)公式释义:公式中,比较复杂,就在第二个参数,其中$F$3F$15=B2中是判断$F$3F$15中的单元格值是否等于B2单元格的值,如果相等就返回TRUE,不相等就返回FALSE。但返回的这逻辑值是作为除数,而0作为被除数的,而在算数运算中,TRUE被当成1,FALSE被当成0,作为除数就会出错,所以如果名字相等返回TRUE,0/TRUE结果为0,而0/FALSE的结果是一个错误值 #DIV/0!;所以,执行的结果是只有等于B2单元格姓名的返回结果是0,而其他的都是#DIV/0!而LOOKUP在查询1的时候,会忽略错误值,只有名字对应的结果为0,所以就返回名字所对应行的成绩;
?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F0503%2F43cb52cej00q9r95h000mc000do006wm.jpg
例3,多条件万能公式
原始数据这次为了能表示出多条件,修改了几个姓名,比如两个班级均有兆美公式 =LOOKUP(1,0/(($F$3F$15=B3)*($E$3E$15=A3)),$H$3H$15)
?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F0503%2F7d506033j00q9r95h003ic000kx00fem.jpg
?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F0503%2F2e6e0cc5j00q9r95h0010c000iu007lm.jpg
公式释义:公式和例2是一样的,只是在第二个条件中,多了一个条件,所以采用了括号的形式来写,(($F$3F$15=B3)*($E$3E$15=A3)),即班级相等返回TRUE,否则就是FALSE,姓名也是类似的道理,然后两个括号中的一系列结果相乘,TRUE当成1,FALSE当成0,所以只有在TRUE*TRUE的时候,结果才等于1 ,其余都为0,后续的运算就和例2的一样了
如果有更多的条件,也可以一并写在参数二部分;


回复

使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则


    Archiver|手机版|小黑屋|齐聚无忧 |网站地图

    Powered by Discuz! X3.4  © 2001-2013 Comsenz Inc.