Lookup函数最经典的公式,99%人却不懂1和0的用法

Lookup函数是最牛的Excel查找函数,特别是lookup(1,0/)模式横扫无数查找难题,比如反向查找、多条件查找、查找最后一个等 。但,绝大多数用户只会套用,却不懂其中的原理 。
搜遍百度,也没有找到一个能明白的教程,所以必须要写一个详细的教程了 。
首先,先看一下lookup函数的一个查找特性:
【Lookup函数最经典的公式,99%人却不懂1和0的用法】给一个足够大的数(比范围内所有数都大),必定返回最后一个值 。(原理是二分法查找,这里不再细 )

Lookup函数最经典的公式,99%人却不懂1和0的用法

文章插图
无论你添加什么类型数值,只要小于给定的值,都会返回最后一个
Lookup函数最经典的公式,99%人却不懂1和0的用法

文章插图
如果有错误值,直接忽略
Lookup函数最经典的公式,99%人却不懂1和0的用法

文章插图
这个忽略错误值的特征非常重要,因为当根据条件查找时,只需要把不符合条件的全变成错误值,就可以用lookup查找后最后符合条件的 。
不符合条件的怎么变成错误值?任意数字除0就会变成错误值 #Div/0!,下面举一个例子 。
【例】如下图所示,要求根据姓名查找对应的工资
E2公式:
=LOOKUP(1,0/(A2:A8=D2),B2:B8)
Lookup函数最经典的公式,99%人却不懂1和0的用法

文章插图
A2:A8=D2 是用A列的姓名和D2的姓名进行逐一对比,结果只有两个:相同返回True,不同返回False 。按F9键可以查看 。
Lookup函数最经典的公式,99%人却不懂1和0的用法

文章插图
在四则运算时,True相当于数字1,False相当于数字0,所以不符合条件的值变成了错误值,符合条件变成了0 。
Lookup函数最经典的公式,99%人却不懂1和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函数最经典的公式,99%人却不懂1和0的用法

文章插图
说:每次分享lookup函数公式,总会有人提问1,0的含义 。现在你明白了吗?你身边肯定有99%的同事不理解,就帮把本文分享出去吧 。

    推荐阅读