lookup逻辑值判断?(案例2)
(2022-04-16 15:37:50)分类: excel函数 |
1、=LOOKUP(9E+307,{FALSE;20;FALSE;40;FALSE;60;FALSE;FALSE;FALSE})
返回 60?
2、=LOOKUP(9E+307,{0;20;0;40;0;60;0;0;0}) 返回0
为什么与上面结果不一样呀?
答:第一组数据:{FALSE;20;FALSE;40;FALSE;60;FALSE;FALSE;FALSE}
在二分法之下,第一次分法,在false处,false做为逻辑值,被忽略,直接看40与60,60>40,且小于9E+307,向下查找,第二次分法在{60;false;false;false}中进行,又是false,逻辑值忽略,所以结果为60
第二组数据:{0;20;0;40;0;60;0;0;0}
此组数据与第一组数据的区别就在于把逻辑值变成了数值
同样的二分法,第一次分法,在0处,0<40<60,在lookup眼里,这组数据已经进行过升序排列,找到这个0之后,向上得到的结果是false,向下结果还是false,就不会再进行继续分了,所以结果就是0
后一篇:lookup二分法查找特性!