
我们经常会看到lookup(1,0/****)这样的公式,本文来介绍lookup函数的这种套路用法。我们先看结论:0/的目的就是把符合条件的变成0,其他的变成错误值,利用lookup查找忽略错误值的特征查找到符合条件的值。
【例】在G2中设置公式,根据年级和班级的值,从左表中查找对应的班级人数。
G2公式:
=LOOKUP(1,0/((A2:A6=E2)*(B2:B6=F2)),C2:C6)
Lookup函数的查找原理是二分法。按二分法原理,lookup函数会在在二分位处查找,要想准确查找到,lookup要求第二参数按升序排列,但是(A2:A6=E2)*(B2:B6=F2)的结果是不符合要求的。
于是大神们想出了用0除的方法,把结果由1和0变成了由1和错误值构成的一组值。唯一符合条件的值为0,其他的均为错误值#DIV/0!
Lookup函数还有一个特征,查找时忽略错误值,这样一组数值忽略后只剩下一个值0,那么这时只需要使用任一个大于等于0的值查找即可。如果剩下多个0,那么lookup会找到倒数第一个0的位置。
=LOOKUP(1,0/((A2:A6=E2)*(B2:B6=F2)),C2:C6)
所以结论就是:0/的目的就是把符合条件的变成0,其他的变成错误值,利用lookup查找忽略错误值的特征查找到符合条件的值。