Lookup函数最经典的公式,99%人却不懂1和0的用法
Lookup函数是最牛的Excel查找函数,特别是lookup(1,0/)模式横扫无数查找难题,比如反向查找、多条件查找、查找最后一个等。但,绝大多数用户只会套用,却不懂其中的原理。
搜遍百度,也没有找到一个能明白的教程,所以必须要写一个详细的教程了。
首先,先看一下lookup函数的一个查找特性:
给一个足够大的数(比范围内所有数都大),必定返回最后一个值。(原理是二分法查找,这里不再细 )
无论你添加什么类型数值,只要小于给定的值,都会返回最后一个
如果有错误值,直接忽略
这个忽略错误值的特征非常重要,因为当根据条件查找时,只需要把不符合条件的全变成错误值,就可以用lookup查找后最后符合条件的。
不符合条件的怎么变成错误值?任意数字除0就会变成错误值 #Div/0!,下面举一个例子。
【例】如下图所示,要求根据姓名查找对应的工资
E2公式:
=LOOKUP(1,0/(A2:A8=D2),B2:B8)
A2:A8=D2 是用A列的姓名和D2的姓名进行逐一对比,结果只有两个:相同返回True,不同返回False。按F9键可以查看。
在四则运算时,True相当于数字1,False相当于数字0,所以不符合条件的值变成了错误值,符合条件变成了0。
根据lookup忽略错误值、用足够大的数查找最后一个数字的原理,就可以准时查找到符合符件的值。
=LOOKUP(1,{#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!},B2:B8)
公式中为什么用1和0,其他数字可以吗?当然可以,只要第一个数字大于第二个数字。
如:
=LOOKUP(9999999,9999998/(A2:A8=D2),B2:B8)
用1和0只是看着简便而已,现在明白了吧。
所以利用这个原理,多列判断也可以实现,只是添加对比条件而已。
=LOOKUP(5,3/((A2:A7=E2)*(B2:B7=F2)),C2:C7)
说:每次分享lookup函数公式,总会有人提问1,0的含义。现在你明白了吗?你身边肯定有99%的同事不理解,就帮把本文分享出去吧。
最新推荐
-
Win11定位服务怎么关闭 win11关闭定位服务
Win11定位服务怎么关闭?在使用win11系统的过程中,通过定位服务,用户可以获得更精准的位置信息,可以 […]
-
printspooler服务怎么开启win11 如何启动print spooler服务
printspooler服务怎么开启win11?print spooler服务是关联打印机的系统服务项,实 […]
-
win11定位服务怎么打开 win11定位服务被禁用了
win11定位服务怎么打开?在使用win11系统的过程中,通过定位服务,可以获得更精准的位置信息,可以方便 […]
-
mac磁盘分区怎么分 mac给硬盘分区
mac磁盘分区怎么分?在日常使用电脑的过程中,通过对电脑进行分区规划,可以方便用户查找储存对应的文件数据, […]
-
win7打印机服务怎么开启 开启printspooler服务的步骤
win7打印机服务怎么开启?Print Spooler是打印后台处理服务,如果此服务被禁用,任何依赖于它的 […]
-
windows7怎样设置禁止随便安装软件 win7设置禁止安装软件
windows7怎样设置禁止随便安装软件?很多用户都会在电脑上进行第三方软件应用的安装,但是也带来了不安全 […]
热门文章
Win11定位服务怎么关闭 win11关闭定位服务
2printspooler服务怎么开启win11 如何启动print spooler服务
3win11定位服务怎么打开 win11定位服务被禁用了
4mac磁盘分区怎么分 mac给硬盘分区
5win7打印机服务怎么开启 开启printspooler服务的步骤
6windows7怎样设置禁止随便安装软件 win7设置禁止安装软件
7win7如何设置局域网工作机组 win7局域网共享设置工作组
8win7如何添加自带游戏 win7自带游戏怎么恢复
9win11用户账户控制怎么取消 win11关闭uac方法
10win10怎么查看网口是百兆千兆还是千兆 电脑网口是百兆还是千兆
随机推荐
专题工具排名 更多+