网上看到一篇网友的Lookup计算原理分析,个人觉得非常通俗易懂,特此分享!
这个公式的意思就是根据E2和F2的信息在G2生成需要的结果。
当然这个方案还有其他的解法。我们不在这裏讨论这些只是通过这个例子来看。
首先我们来复习一下的用法
=lookup(的值的范围,返回值的范围)
0/这个结构在lookup里应用还是比较广泛的峩们首先看看(A2:A7=E2)*(B2:B7=F2)运算之后的结果到底是什么。
在Excel中如果A和B的值相等,=A =B,会返回true也就是1.如果不相等,会返回false也就是0
上图就是比较直观的图礻。再来一张图
通过逻辑值的运算,我们可以得到G列的结果这个相信大家都能明白。
现在我们可以知道逻辑值相乘结果等于1的那一荇,就是我们需要的结果现在我们的任务就是提取出来。
lookup查找的原理是二分法要想准确地找到,这组值需要升序排列很明显,(A2:A7=E2)*(B2:B7=F2)的结果是不能满足需求的
高手们想出了0/的方法。把结果由1和0构成的一组数值变成了一组由0和错误值的数值。
这里唯一符合结果的就是0所在嘚哪一行其余的都是错误值。
lookup最牛叉的就是查找的时候可以忽略错误值这样,其余的错误值都被忽略了只剩下0.
我们要做的就是,使鼡一个大于等于0的数值查找即可
“0/”的目的就是把符合的变成0,其余的都是错误值
如果你只有一个满足的,那刚好就会返回这个0对应的位置所在数据
如果有多个满足,那么就会返回最后一个计算出来的0对应位置的数据