Excle怎么使用vlookup?

LOOKUP是一个充满了套路的函数,同时也是一个很强大很实用的函数,之前涉及到这个函数的教程估计能有几十篇 。但是,关于这个函数,有一个提问率很高的问题始终没有说的太明白,就是LOOKUP(1,0/……)这个套路中的1和0/到底该怎么理解 。例如这个公式=LOOKUP(1,0/((F2=$A$2:$A$13)*(G2=$B$2:$B$13)),$C$2:$C$13)中就有(1,0/……),今天单独来解释这个问题 。
其实公式中的1就表示数字1,0就表示数字0,仅此而已 。
这和VLOOKUP(A1,IF({1,0},B:B,A:A),2,0)中的1和0完全不同(想了解vlookup中的1和0是怎么回事可以留言,咱们下次解释) 。
LOOKUP(1,0/……)中的关键部分是0/……这部分,咱们结合示例来看 。

Excle怎么使用vlookup?


这个例子是一个多条件匹配的问题,按照姓名和品名匹配对应的销售数量 。
注意0/后面是两个比较运算相乘,(F2=$A$2:$A$13)*(G2=$B$2:$B$13)中左边的部分是以姓名作为判断条件,右边的部分是以品名作为判断条件 。
F2=$A$2:$A$13的结果是一组由FALSE和TRUE构成的数组 。$A$2:$A$13中只有两个姓名与F2(侯启龙)一致,显示为TRUE,其他的都是FALSE 。
Excle怎么使用vlookup?


G2=$B$2:$B$13的结果同样,与G2(空调)对应的都是TRUE,其他的都是FALSE 。
Excle怎么使用vlookup?


两组逻辑值相乘的时候,TRUE=1,FALSE=0,按照这个规则得到的结果是一组1和0 。
Excle怎么使用vlookup?


为了让大家看明白这个结果,我把两组逻辑值并排列出来,只有上下同时为TRUE的,结果才是1,否则都是0,这个大家应该都明白 。
{FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE}
{TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE}
不难看出,只有第二个位置上满足条件,至此,我们解释了0/后面的这一堆{0;1;0;0;0;0;0;0;0;0;0;0}是怎么来的 。
这一连串的计算只是做了将条件转为逻辑值,再将逻辑值转为数字的过程 。接下来再说0/,这里面的/就是除法,其实不用0/也行,用1/,2/,3/,0.5/都行,只是得到的结果不同 。
0/得到一组包含错误值的数据,其中只有一个数字0 。
Excle怎么使用vlookup?


用其他的数字也是一样的道理,比如我们用3/,得到的就是这样的结果 。
Excle怎么使用vlookup?


搞清楚了数字的作用,再来看/ 。至于/能不能用别的,还是建议用除法,因为分母是一组由1和0构成的数组,其中的1对应的是满足我们设定条件的结果,0都是不需要的,只有分母为0才能得到错误值,因此这里推荐用/ 。
再来梳理一下,先通过比较运算把条件转换成逻辑值,再利用逻辑值计算把条件变成数字,最后用除法把不需要的内容变成错误值,需要的内容变成一个数字,这个数字的具体表示取决于分母,用0只是一种约定俗成的习惯,这就是0/((条件1=条件区域1)*(条件2=条件区域2))这个套路的原理 。如果还有其他条件,增加分母的比较运算就可以了,只是要注意括号别放错位置 。
最后就剩这个1是什么意思了,开头就说了,1就是数字1 。如果用的0/,那么就可以用1,如果用的1/,数字1就要换成不小于1的数,例如2 。
Excle怎么使用vlookup?


也就是说,LOOKUP(1,0/……)中的1和0,都是可以换成其他数字的,只要前面的数字不小于分母的数字即可,如果你用LOOKUP(1,2/……)的话,就会得出错误值 。

猜你喜欢