佛山小老鼠楼主您还在为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参数的那个值 ![]() 各位亲:看了此帖,觉得不错,记得分享到你们的朋友圈,这样我才有勇气和信心天天写这样的帖子,谢谢! ![]() |
|
来自: 昵称34144632 > 《excel》