lookup公式怎么用
发布时间:2025-05-19 13:15:56 发布人:远客网络
一、lookup公式怎么用
1、look up公式的用法举例:输入公式“=LOOKUP(A15,$B$2:$D$11)”并确认,第一个参数“Lookup_value”:A15,是要查找的值;第二个参数“array”:$B$2:$D$11,是要查找的范围和返回值的范围。再向下填充,即可完成其他单元格值的查找。
2、输入公式“=LOOKUP(A15,B2:B11,D2:D11)”。
3、第一个参数“Lookup_value”:A15,是要查找的值;
4、第二个参数“lookup_vector”:B2:B11,是要查找的范围;
5、第三个参数“Result_vector”:D2:D11,是要获得的值。
6、首先我们要查找的是A15单元格的值(“Lookup_value”),然后在查找的范围“B2:B11”(“lookup_vector”)中我们找到了跟A15一样物料编号的是B2单元格,这时公式就返回B2单元格所对应的D2单元格的值。
7、用鼠标点击“B2:B11”和“D2:D11”,按F4键,使之转化为“$B$2:$B$11”和“$D$2:$D$11”,再点击“√”。加上“$”,是因为,对于不同的查找值(如A16等),要查找的范围是固定的。再向下填充,即可完成其他单元格值的查找。
8、点击输入栏上的“fx",在“搜索函数”中输入“lookup”(字母大小写都可以),点击“转到”,然后在“选择函数”框下选中“LOOKUP”,最后点击“确定”。根据Excel公式的引导一步一步添加参数,这样能看到公式的解释、每个参数的意义和公式注意事项。
二、lookup函数4种经典用法
1、格式:LOOKUP(查找值,查找区域)
2、例1:根据姓名查找语文成绩,公式为=LOOKUP(H2,C2:D19)例2:根据姓名查找英语成绩,公式为:=LOOKUP(H2,C2:F19)
3、通过这两个例子我们可以发现,LOOKUP在进行查找时公式的结构非常简单,查找值和要找的结果分别位于查找区域的首列和末列。
4、当查找姓名变成赵永福的时候,结果就不对了,这是因为LOOKUP函数使用的是二分法查找,也就是模糊匹配。因此,在使用LOOKUP进行常规查找的时候,有一个非常重要的步骤,就是按照查找内容(姓名所在的c列)升序排序。当我们排序以后,公式的结果立刻变成了正确的。
5、格式:=LOOKUP(1,0/(查找范围=查找值),结果范围)
6、在I2单元格输入公式:=LOOKUP(1,0/(C2:C19=H2),D2:D19),回车,可看到正确结果。
7、1就是要查找的值,但是条件变了,不是直接查找姓名,而是根据姓名得到的一组逻辑值:注意这里只有一个TRUE,也就是我们要找的姓名。接下来用0除以这些逻辑值,在进行计算的时候逻辑值TRUE代表1,FALSE代表0,当分母为0也就是FALSE的时候,计算结果是错误值:
8、因此,LOOKUP的工作就变成了在一组数据中找1。由于这组数据只有一个0,其他都是错误值,二分法使得LOOKUP只能找到不大于查找值的最后一个数字,因此只能找到0,最后根据0的行位置(第2行)得到第三参数对应位置的数据,即D2就是我们需要的结果。
9、与我们熟知的VLOOKUP不同,使用LOOKUP函数进行反向查找时非常简单,公式结构为:=LOOKUP(查找值,查找列,结果列),下面这个例子是按照姓名排序后再反向查找的效果:如果数据不能排序的话,使用精确查找的套路:=LOOKUP(1,0/(C2:C19=H8),B2:B19)。
10、根据学生的总分给出相应的评语。50分以下的为“很差”,50-100分的为“差”,100-150分的为“一般”,150-200分的为“较好”,200-250分的为“优秀”,250分及以上的为“能手”。
三、解析excel中lookup函数的经典查找方式
第一,lookup函数用法介绍;第二,通过实例讲解lookup函数经典的条件查找解法,通用公式基本可以写为:LOOKUP(2,1/(条件),查找数组或区域)或LOOKUP(1,0/(条件),查找数组或区域)。
lookup函数和vlookup函数是excel中最常用的两个查找函数。vlookup函数能做到的lookup函数同样可以做到,而且可以做得更好。
LOOKUP函数有两种语法形式:向量和数组。本期就向量形式的展开交流和探讨。
向量形式的语法为:LOOKUP(lookup_value,lookup_vector,result_vector)
Lookup_value:为所要查找的数值。Lookup_value可以为数字、文本、逻辑值或包含数值的名称或引用。
Lookup_vector:为只包含一行或一列的区域。Lookup_vector的数值可以为文本、数字或逻辑值。Lookup_vector的数值必须按升序排序:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE,否则, LOOKUP不能返回正确的结果。文本不区分大小写。
Result_vector:只包含一行或一列的区域,其大小必须与 lookup_vector相同。
比如lookup(A1,B1:B10,C2:C11),其中C2:C11的尺寸要与B1:B10相同,且如果A1对应B列中的位置是B2的话,那么返回的将是C3的值。
第一,如果函数 LOOKUP找不到 lookup_value,则查找 lookup_vector中小于或等于 lookup_value的最大数值。这就是为何返回最后一个满足条件的值的原理。
第二,如果 lookup_value小于 lookup_vector中的最小值,函数 LOOKUP返回错误值#N/A。
利用这个特性,我们可以用=LOOKUP(1,0/(条件),引用区域)这样一个通用公式来作查找引用。
模糊查找的核心是第二个参数排序必须是升序,否则会导致查找值错误。下图所示的表1是按升序排序的,表2没有排序。
分别在表1和表2下面对应的单元格输入公式。
表1的数据源是按升序排序的,根据lookup函数用法:=LOOKUP(要查找的数据,查找范围,结果),在C24单元格设置公式:=LOOKUP(B24,$B$5:$B$17,$C$5:$C$17),然后下拉得到正确结果。
表2的数据源是没有排序的,在J24单元格输入公式:=LOOKUP(I24,$I$5:$I$17,$J$5:$J$17),然后下拉,发现J25单元格得到的结果是H126,显然不对。通过表2的源数据可以看到I25单元格对应的值应该为J8单元格的值H142。
为什么会出错呢?这就印证了第一部分的用法介绍中所讲到的:Lookup_vector的数值必须按升序排序:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE,否则, LOOKUP不能返回正确的结果。文本不区分大小写。
模糊查找,数据源一定要以升序先进行排序,否则就会出错。在数据源没有排序的情况下,如何才能查找到正确结果?LOOKUP函数有一个经典的条件查找解法,可以很好的解决此问题。
在第一部分有提到,通用公式基本可以写为:LOOKUP(2,1/(条件),查找数组或区域)或LOOKUP(1,0/(条件),查找数组或区域)。
公式中的2、1、0等数字的含义是什么?首先,条件是一组逻辑判断的值或逻辑运算得到的由TRUE和FALSE组成或者0与非0组成的数组,因而:0/(条件)的作用是用于构建一个由0或者#DIV!0错误组成的值。比如数据源中能查找到对应值就是ture,没有就是false。形式如:0/True=0,0/false=#DIV0!,查找到就0,没有就是错误值。
如果 LOOKUP函数找不到 lookup_value(即:1),则它与 lookup_vector中小于或等于 lookup_value的最大值(即:0)匹配。
也就是说,要在一个由0和#DIV!0组成的数组中查找1,肯定找不到1,因而将返回小于或等于1的最大值(也就是0)匹配。用大于0的数来查找0,肯定能查到最后一个满足条件的。
以上的原理,被俗称为“以大欺小法”。这种技巧在LOOKUP函数上的运用是很常见的。
利用上面的原理,不管有没有排序,只要使用上面的“以大欺小法”都能得到正确结果。比如上面实例中,在J25单元格输入公式:=LOOKUP(1,0/(I25=$I$5:$I$17),$J$5:$J$17),就可以了。
第一,查找的数据没有对应值,可以利用ISNA(ISERROR)函数屏蔽错误值。
如上图所示,表3是数据源,在下面左边根据“番号”查找“俗称”。单击C51单元格,输入公式=LOOKUP(1,0/(B51=$B$42:$B$45),$C$42:$C$45),然后下拉可以看到下面的C52和C54单元格出现错误值。这种情况可以利用ISNA(ISERROR)函数屏蔽错误值。
只要在公式外面嵌套个if(isna(lookup(),"",lookup()),这样的形式就可以把错误值屏蔽。在H51单元格,输入这样的公式:=IF(ISNA(LOOKUP(1,0/(G51=$B$42:$B$45),$C$42:$C$45)),"",LOOKUP(1,0/(G51=$B$42:$B$45),$C$42:$C$45)),下拉,就可以屏蔽错误值了。将错误值屏蔽了,表格就好看多了。
上面公式中,"",是显示空的意思,错误就显示空,没有就查找。
第二,借助错误值来判定产品是否存在。
下图所示根据左边的数据源,来判定右边对应的数据是否在番号列中。
只需要嵌套一个isna函数就可以做到,如果没有存在就错误,有存在就......这样的形式。在H62单元格输入公式:=IF(ISNA(LOOKUP(1,0/(G62=$B$62:$B$74))),"否","是"),下拉就即可得出结果。
“图啥”网友问:iserror与isna函数的区别。ISNA只屏蔽#N/A错误,ISERROR屏蔽所有错误。
如上图所示,根据“俗称”和“订单号”来查找“订单数”和“尾数”,可以套用这样的公式:=LOOKUP(1,0/(条件(1)*(2)*(3).。。。。。),引用区域),用*或&将各个条件连接起来,*就是和的意思。
第一,在K112单元格输入公式:=LOOKUP(1,0/(($I112=$B$112:$B$120)*($J112=$C$112:$C$120)),D$112:D$120),复制公式就可以得到结果。
第二,另外也可以使用这个公式:=LOOKUP(1,0/($I112&$J112=$B$112:$B$120&$C$112:$C$120),D$112:D$120)
按照上图所示,根据左边的数据源,来对含有某个字符进行查找。单击G128单元格,输入公式:=LOOKUP(1,0/(FIND($F128,$B$128:$B$131)),B$128:B$131),就可以得到结果。
第一,在多条件查找方面,就能看出lookup函数好用。用vlookup多条件查找,最简单的方法就是借用辅助列。
第二, VLOOKUP函数对于反向查找是需要嵌套其余函数才能实现,而LOOKUP函数没有正反之分,因此在这方面LOOKUP函数会更加容易实现。
第三, vlookup在查找字符方面,可以使用*号类通配符。LOOKUP是不支持通配符的,但可以使用FIND(查找字符,数据源区域)的形式代替。