excel函数lookup得出这个值的原理

求问
为啥excel函数公式 =LOOKUP(M4,{0,1,2.6,7.6,15;0,1,5,10,20})
当M4为3.6的时候会返回5这个值啊,完全看不懂的神奇!
请问谁能给小白解释一下?
这个公式给出了我想要的结果,但是函数小白完全不知道原理,为什么结构这么简单的函数就能得到我要的值呢。求解释。

=LOOKUP(M4,{0,1,2.6,7.6,15;0,1,5,10,20})

公式中0,1,2.6,7.6,15和0,1,5,10,20是对应的数组,而且0,1,2.6,7.6,15是按升序排序的,当查找条件M4为3.6时,在升序数据0,1,2.6,7.6,15中查找比3.6小的最大值,为第三位的2.6,其对应数列0,1,5,10,20中的第三位是5 。

通过LOOKUP函数在升序数列中查找比查找条件小的最大值所对应的数据。

如果查找和引用区域在J:K列,那么公式中简写为

=LOOKUP(M5,J:K)

详见附图示例

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-12-03
=LOOKUP(M4,{0,1,2.6,7.6,15;0,1,5,10,20})
你这个公式,可简单呢。
第一,LOOKUP函数要求要查找的数据区域必须是升序,不能是降序,也不能是乱序。
例如,你这个公式中0,1,2.6,7.6,15就是这样的,一个比一个大,是按升序来的。
第二,每个数据区间,下界含等于号,上界不含等于号。
例如,你这个公式的意思是,在数据中查找M4的值:
如果M4满足大于等于0小于1,返回0;
如果M4满足大于等于1小于2.6,返回1;
如果M4满足大于等于2.6小于7.6,返回5;
如果M4满足大于等于7.6小于15,返回10;
如果M4满足大于等于15的所有数,返回20;
第2个回答  2018-12-03
你想实现什么?参考这个看看: =INDEX(Sheet1!A:A,SMALL(IF(Sheet1!A$1:A$100="管永羌",ROW($1:$100),4^8),ROW(1:1)))&"" 数组公式,输入后先不要回车,按Ctrl+Shift+Enter结束计算,再向下填充。追问

哦,我的意思是我贴出的这个公式给出了我想要的答案,但是,我看不懂。希望能得到解释。

相似回答