到底这LOOKUP函数有什么玄机?我看完才懂
发布时间:2023-06-30 05:21:35
LOOKUP函数非常强大,有引用函数之王的称号。要想完全掌握它,必须了解它的5种常见用法和它的二分法查找原理。由于相关知识点比较多,所以教程将分成上下两篇。今天我们首先通过五个例子来了解这个函数的5种常见用法,后续我们再来说说二分法查找原理。
1、常规引用
格式:LOOKUP(查找值,查找区域)
例1:根据姓名查找语文成绩,公式为:
=LOOKUP(H2,C2:D19)
例2:根据姓名查找英语成绩,公式为:
=LOOKUP(H2,C2:F19)
通过这两个例子我们可以发现,LOOKUP在进行查找时公式的结构非常简单,查找值和要找的结果分别位于查找区域的首列和末列。
但是仅仅了解这个用法是远远不够的,如果我们再试一个数据的话,有可能就会发现问题:
当查找姓名变成赵永福的时候,结果就不对了,这是因为LOOKUP函数使用的是二分法查找,也就是模糊匹配,关于这一点,我们将在后续的教程中详细解释。
因此,在使用LOOKUP进行常规查找的时候,有一个非常重要的步骤,就是按照查找内容(姓名所在的C列)升序排序。
当我们排序以后,公式的结果立刻变成了正确的,是不是很神奇!
这又引出了一个新的问题,如果数据不能排序的话,LOOKUP函数还能用吗?
肯定能用啊,下面来看看LOOKUP函数的第二种用法。
2、精确查找的套路
格式:=LOOKUP(1,0/(查找范围=查找值),结果范围)
在I2单元格输入公式:
=LOOKUP(1,0/(C2:C19=H2),D2:D19)回车,可看到正确结果。
关于这个套路的1和0/到底是什么意思,也是提问率最高的问题之一,在未讲解二分法原理之前,简单来说一下公式的意思。1就是要查找的值,但是条件变了,不是直接查找姓名,而是根据姓名得到的一组逻辑值:
注意这里只有一个TRUE,也就是我们要找的姓名。
接下来用0除以这些逻辑值,在进行计算的时候逻辑值TRUE代表1,FALSE代表0,当分母为0也就是FALSE的时候,计算结果是错误值:
因此,LOOKUP的工作就变成了在一组数据中找1。由于这组数据只有一个0,其他都是错误值,二分法使得LOOKUP只能找到不大于查找值的最后一个数字,因此只能找到0,最后根据0的行位置(第2行)得到第三参数对应位置的数据,即D2就是我们需要的结果。
这部分内容算是函数学习中比较有难度的知识点了,初学者可能理解困难,这不要紧,随着学习的深入,当对数组和逻辑值这两大要点掌握比较熟练的时候,这些内容就很好理解了。目前如果不能完全理解,记住这个套路就行:
=LOOKUP(1,0/(查找范围=查找值),结果范围)。同时这个套路还能延伸出多条件精确查找用法:
=LOOKUP(1,0/((查找范围1=查找值1)* (查找范围2=查找值2)* (查找范围3=查找值3)),结果范围)
就是在每个查找范围内找到要找的值,将得到的逻辑值相乘后同时符合多个条件的位置就是1,原理与单条件的一样。
3、反向查找的套路
与我们熟知的VLOOKUP不同,使用LOOKUP函数进行反向查找时非常简单,公式结构为:
=LOOKUP(查找值,查找列,结果列),下面这个例子是按照姓名排序后再反向查找的效果:
如果数据不能排序的话,使用精确查找的套路:
=LOOKUP(1,0/(C2:C19=H8),B2:B19)
4、按区间查找的套路
根据学生的总分给出相应的评语。50分以下的为“很差”,50-100分的为“差”,100-150分的为“一般”,150-200分的为“较好”,200-250分的为“优秀”,250分及以上的为“能手”。
这里用的公式为:
=LOOKUP(G2,{0,50,100,150,200,250;"很差","差","一般","较好","优秀","能手"})
按照评语的要求分成了六个等级,如果用if函数去做就很啰嗦,使用LOOKUP处理这类问题非常方便,公式结构也很简单:
=LOOKUP(分数值,{下限1,下限2……;评语1,评语2……})
在写这个公式的时候注意两点:
1.LOOKUP的第二参数使用了常量数组,这里的大括号是手动输入的,括号内用一个分号分开,左边是每个等级的下限,例如50分以下这个表述里下限就是0,50-100的下限就是50,以此类推,每个数字之间用逗号分开;分号右边是对应的评语,评语应当使用引号,同时用逗号分开(公式里的所有符号都是英文状态下的);
2.数字区间应当遵循升序的排列顺序,否则结果就会错误。
5、关于数据排序的重要性
当我们按照学号查找姓名的时候,发现会出现错误,学号也是按升序排列的啊,怎么会错?
这是一种最常见的错误,这里学号的升序排列只是我们感觉如此而已,实际上升序的效果是这样的:
在使用LOOKUP的时候,如果不使用精确查找的套路,切记一定要排序才能保证公式结果的正确性。
小结
1、今天一共给大家分享了五种LOOKUP的使用套路,分别是常规查找、精确查找、多条件查找,反向查找还有按区间查找,初学者掌握这些套路学会去套用解决问题就可以了;
2、LOOKUP函数的查找原理与我们之前学过的VLOOKUP不同,VLOOKUP函数的查找方式叫做遍历法,找到满足条件的第一个值就会停止查找,而LOOKUP函数使用的是二分法原理进行查找,要找到满足条件的最后一个值才会停止查找,这一点在函数的说明文档里也提到了;
我们可以通过一个简单的测试来验证这一点:
3、对数据源按升序排列这一点很重要:
如果不能排序,那么一定要使用这个套路:=LOOKUP(1,0/(查找范围=查找值),结果范围),这也是二分法的特性决定的;
4、LOOKUP这个函数很强大,同时也很难以理解,要想彻底弄清楚这个函数,必须了解二分法原理。在后续的教程中,我们将根据二分法原理做一个详细的解释。
到底这LOOKUP函数有什么玄机?我看完才懂的下载地址:


猜你喜欢
- 如果在使用影子系统的时候出现了影子系统开机启动的时候出现黑屏的情况,小编觉得可能是因为驱动兼容的问题,或者是因为软件出现问题。解决方法请见下
- 在制作重要文档或者其他东西的时候,需要给里面的公式修改背景色,这样看起来才会更加醒目。下面,来教大家如何设置PowerPoint2007公式
- RAMOS Win7是什么?大意就是在内存中安装Win7系统,在笔者看来,RAMOS Win7的速度非常快,即便用户将操作系统安装在固态硬盘
- excel筛选怎么筛选不出来?在使用excel的筛选功能进行筛选时,很多用户发现无法筛选。此问题通常是由格式问题引起的。当然也有可能是其他原
- 今天凌晨微软推送了最新的Win11版本补丁KB5012643,用户可以通过KB5012643补丁将自己的电脑版本升级至22000.652,此
- 我们在Excel2007中计算一些单元格数据的时候结算结果栏会出现0值的情况。在很多情况下0值并没有太多用处,因此很多人想要取消显示,将零值
- 有些小伙伴为了隐私设置都会将自己的电脑设置上密码,那么问题来了,Win10系统如何设置本地密码呢?还不知道的小伙伴一起和小编来看看设置方法吧
- Excel中经常需要把数据为0的值给设置成不显示,零值具体该如何设置成不显示呢?下面是由小编分享的excel表格设置零不显示的方法,以供大家
- win10是目前使用人数较多的系统,用户可以在电脑上办公,可以在电脑上看视频,可以在电脑下载资源,当你的电脑出现异常问题或者是需要删除数据的
- Excel中countifs函数的功能是多条件计数。Excel2007以上版本,在countif()单条件函数基础上,新添加了多条件统计函数
- win7操作系统增加各种特效与功能,而预览缩略图也是一项比较酷炫、实用的功能,但是有时候我们电脑上的缩略图显示的非常慢,那么怎么解决这一问题
- Acer 掠夺者刀锋300SE是一款娱乐影音笔记本电脑,这款电脑搭载了英特尔第12代酷睿i7处理器以及性能级独立显卡,能够满足用户们日常娱乐
- 工作组可以方便我们传文件,使工作更加高效,那win11工作组如何加入?本文就为大家带来了win11工作组加入方法,需要的朋友赶紧看看吧加入域
- 很多新手朋友都不知道Win8.1如何从微软账户切换为本地账户,下面有个不错的方法,感兴趣的朋友可以参考下1.通过键盘上的快捷键组合windo
- 如何更改wps office表格的图表类型?图表的应用会经常出现在我们的表格中,以方便数据整理和汇报。若我们想更换wps office图形的
- 每次开机系统都会自动加载很多启动项,有些启动项根本没用,而且会导致电脑开机速度变慢,这时候我们就需要修改启动项,不过在更改时发现无法操作,那
- 不少用户发现,Win10系统锁屏界面被换成了《古墓丽影》主角劳拉的图片,虽然这个图片看起来也很美观,但是还是有一部分人不喜欢这样的广告。下面
- 加密EXCEL有几种形式:1、打开权限密码 在工具--选项--安全性--此工作簿的文件加密设置里打开权限密码处输入你设置的密码,确定,重复输
- win10系统应用商店是系统自带的一款应用,安装完win10系统后可以在里面下载自己想要的软件,但最近有用户的电脑却出现了应用商店登录不了的
- 作为一款国内知名的免费系统工具软件,鲁大师不仅可以检测设备的性能,还可以估算出当前设备的大致功耗。那么,在鲁大师中该如何测电脑功耗呢?不清楚