在昨天的教程里为大家介绍了LOOKUP常用的几个套路,收到最多的问题就是套路中的1和0到底是什么意思?该如何理解呢?
今天就来解释一下这个问题……
以这个单条件精确查找的套路为例:
在这个套路中,逻辑值起到了至关重要的作用,可以使用F9功能键来理解这个套路的原理。
比较运算$B$2:$B$18=G2会得到一组逻辑值,只有与要找的姓名一致的位置会得到TRUE,其他位置都是FALSE,结果如图所示。
进而使用0/($B$2:$B$18=G2)可以将这些逻辑值变成一组包含错误值和0的数据,因为0/FALSE会得到错误值,0/TRUE得到0,结果如图所示。
此时的公式实际上就变成了=LOOKUP(查找值,查找范围,结果范围)的套路,只不过这个查找范围是一个数组。
LOOKUP的特性就是在查找范围中找不到查找值时,就会与查找范围中小于或等于查找值的最大值进行匹配。在本例中查找值为1,查找范围中只有一个数字0(错误值直接被无视了),所以最终得到的结果就是结果范围中与这个0位置相同的数据。
明白了这一点就可以理解1和0的作用。
实际上=LOOKUP(1,1/($B$2:$B$18=G2),$E$2:$E$18)也可以得到同样的结果:
也就是说,只要第一个数字不小于第二个数字,结果都是对的。
=LOOKUP(9,8/($B$2:$B$18=G2),$E$2:$E$18)
=LOOKUP(5,2/($B$2:$B$18=G2),$E$2:$E$18)
……………………………………
随便你怎么改!
之所以用1和0,或许习惯所致,明天道理以后也就不那么神秘了。
联系客服