分享

来自【Excel完美论坛】

 昵称34144632 2016-08-16
正在加载...
头像

佛山小老鼠

2016-7-14 08:25:49

楼主

您还在为Excel里lookup用法烦恼吗?


1.lookup函数的作用 把数或文本,与一行或一列的数据依次进行匹配,匹配成功后,然后把对应的数值查找出来
Lookup函数分为向量型查找和数组型查找
在一列或一行中查找某个值,称为向量型查找
在数列或数行中查找称为数组型查找。



2.lookup函数的参数讲解
向量型查找=lookup(lookup_value,lookup_vector,result_vector) =lookup(查找的值,查找的范围,返回值的范围)
数组型查找= lookup(lookup_value,array) =lookup(查找的值,数组)
备注:第一参数lookup_value表示查找的值——它可以是:数字、文本、逻辑值,单元格引用
第2参数lookup_vector表示查找的范围——只包含一行或一列的区域
第3参数result_vector表示返回值的范围——只包含一行或一列的区域,且其大小必须与lookup_vector(查找的范围)一致





案例讲解1:成绩判断 要求:小于60返回不及格
大于等于60且小于70返回及格
大于等于70且小于80返回良好
大于等于80返回优秀
向量型查找公式 =LOOKUP(B2,$E$1:$E$4,$F$1:$F$4)
数组型查找公式 =LOOKUP(B2,$E$1:$F$4)
备注:要注意的地方,第2参数必须都要升序排序 升序排序规则:-2、-1、0、1、2、...、A-Z、FALSE、TRUE
否则,lookup函数可能会返回错误的结果。








案例讲解2,根据员工编号,查找员姓名
我们在输入员工编号并没有按升序排序
且我们也不想升序排序把原有的输入顺序打乱
又要使用lookup函数 怎么办呢?
可以实现吗,答案是肯定的,可以实现
公式:=LOOKUP(1,0/($D$2:$D$5=A2),$E$2:$E$5)
公式解释,关键是第2参数大家会不明白
还有就是第1参数会纠结,查找会是1,和员工编号又有什么关系?
下面我一一来给大家解释,$D$2:$D$5=A2返回的是一串True与False组成的一维数组
用0来除以它们,0/True=0; 0/False=错误值,这样就构建了一串0与错误值的一维数组
而lookup函数具有忽略错误值,所以我们根据二分法原理
至于二分法原理是什么,我个人认为大家没有必要深入研究
记得我说的一句话“当第1参数查找值,大于第2参数最 大的那个还要大时
就返回第2参数最后一个数据对应着第3参数的那个值







各位亲:看了此帖,觉得不错,记得分享到你们的朋友圈,这样我才有勇气和信心天天写这样的帖子,谢谢!



立即关注
5

全部回复

只看楼主 倒序排列

头像 闾丘凌波 LV2 2楼

老师的干货,谢谢

2016-7-14 08:35:37

头像 Englebert LV2 3楼

谢谢鼠版

2016-7-14 08:36:01

头像 晨风 LV6 4楼

好东西,收藏了,感谢版主分享

2016-7-14 09:59:23

头像 家庭主簿 5楼

谢谢老师的分享!

2016-7-14 10:10:18

正在加载...

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多