图例细说vlookup函数.docx_第1页
图例细说vlookup函数.docx_第2页
图例细说vlookup函数.docx_第3页
图例细说vlookup函数.docx_第4页
图例细说vlookup函数.docx_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图例细说vlookup函数(想学不会都难)一、vlookup基本用法目标:根据品名找到对应的价格;注意事项:品名必须位于价格的前面(左侧),品名与价格一一对应;公式解读:=VLOOKUP(D2,A2:B5,2,0) 根据(查找品名)提取(数据区)的,第二列单价数据,采用精确匹配0.=VLOOKUP(查找内容,查找区域,需要的数据在查找区域的列数,准确查找)上面的例子含义为:根据d2单元格的内容(稿纸),在A2:B5这个区域里找对应的价格,需要满足两个条件,品名在这个区域的第一列,并且每个品名只有一个;要找的数据(价格)在这个区域的第二列,按照品名准确查找。这个例子要求根据工号找对应的籍贯,公式为=VLOOKUP(H14,C14:F17,3,0),这个公式里四个参数的含义根据前面的解释自己理解一下,如果明白了,再看后面的内容,这一点很重要!了解了vlookup四个参数的基本含义后,就可以使用这个函数来为我们解决一些数据引用的问题了,但是在遇到需要下拉公式的时候,还有一个地方需要注意,就是范围的绝对引用(引用的概念可以看这个帖子/1503797161/blog/1394518197),看上面这个图,KT003的籍贯可以正确找到,但是公式拉下来,KT001的籍贯就错误了,观察KT001这里的公式可以看到,公式发生了变化,=VLOOKUP(H15,C15:F18,3,0),范围从C14:F17变成了C15:F18,而KT001已经不在这个范围了,所以就找不到。为了解决这样的错误,我们需要加工一下公式,改成=VLOOKUP(H14,$C$14:$F$17,3,0),或者=VLOOKUP(H14,C:F,3,0),朋友们可以自己试试,理解一下固定范围的含义。通过以上的叙述,对于同一个表格中的vlookup使用相信应该明白了其中的窍门,但是工作中往往会发生不在同一个表中引用的情况,比如明细表是全部的数据,而结果表里只需要引用一部分数据,这就是下面要说明的一种情况。常见错误总结:1、范围未锁定:常见于公式需要下拉或者横拉的情况,配合引用方式灵活处理即可;2、查找内容和数据源格式不对,常见于数据源为其他程序导出的内容,数字类型为文本或者单元格内有空格等情况,需要仔细核查;3、vlookup第四参数使用错误:vlookup的第四参数是可以省略的,但是逗号不能省略,例如将=VLOOKUP(H14,C14:F17,3,0)写成=VLOOKUP(H14,C14:F17,3,),是可以的,但是=VLOOKUP(H14,C14:F17,3),这样就不对了,省略最后一个逗号和第四参数写成1是一样的效果,就是模糊匹配。关于精确匹配和模糊匹配不在这里解释,可以自己试试效果。这个概念将在其他帖子专门说明。二、vlookup跨表引用如上图,就是一个跨sheet的引用,公式为:=VLOOKUP(A2,明细表!C:F,4,0),具体操作方法看下面的动画,双击打开下面的图标即可通常情况下不建议使用跨文件的引用,最好能将数据源与结果放在同一个文件的不同sheet,如果一定要跨文件的话,方法也是一样的。三、vlookup连续使用(第三参数不固定)掌握了跨表引用的方法后提高工作效率是一定的,但是有时候还是觉得不方便,比如下面的这个情况:要引用的不是一列内容了,虽然都可以用vlookup,但是每列都要重新写公式,如果列数更多的话也是挺麻烦的一件事,这里就需要我们对vlookup的第三参数来做一个加工了,思路是这样的,对于年龄的引用,=VLOOKUP(I2,C1:F13,2,0),第三参数是2,这个容易明白,如果想通过一个公式横着拉过去可以引用三列的值,只要我们可以让这个2拉的时候可以变成3,4,就行了,因此,公式里套用一个函数就可以实现这个目的,j2的公式修改为:=VLOOKUP($I2,$C$1:$F$13,COLUMN(B1),0),然后横拉下拉就可以了,为了确保第一参数的准确性,和第二参数范围的固定,我们分别做了混合引用和绝对引用,这个之前已经说过了。这个方法使用有个前提就是引用的列和数据源的列顺序位置都是一样的,如果只是引用数据源的一部分列或者列的顺序不一样就不能这样做了,比如下面的这个情况:公式为:=VLOOKUP($I2,$C$1:$F$13,MATCH(J$1,$C$1:$F$1,0),0),这个就完全可以实现一个公式灵活匹配了,关于match可以看看/1503797161/blog/1393991413,灵活运用vlookup和match需要多练习。通过上面这三个讨论,对于单个条件的引用基本都可以解决了,但是实际当中很多时候是两个条件甚至三个条件一起作为引用条件的,这就是下面要说的问题。四、vlookup合并条件引用要求找到业务员在指定客户的销售额,找就是两个条件的引用实例,对于初学者而言,建议使用辅助列的方法来处理,具体如下:这里加了一个辅助列,辅助列用的=B2&C2下拉得到,目的就是把两个条件合并为一个(&在这里是合并两个单元格的内容),然后在vlookup里把第一个参数也用&连起来,公式如图。如果要求不能用辅助列的话,那么只能用到数组公式了,这个公式初学者不容易理解,能够照着套用就行了,=VLOOKUP(E2&F2,IF(1,0,A2:A7&B2:B7,C2:C7),2,0),输入或复制公式后按着ctrl、shift按回车,会自动出来大括号,原理就是用if把合并后的条件列,与销售额列看做两列的一个范围,所以vlookup的第三参数改为2。当然,这里的if用choose也行,=VLOOKUP(E2&F2,CHOOSE(1,2,A2:A7&B2:B7,C2:C7),2,0),也是要三键结束的数组公式。关于上面的这两种用法,需要理解if和choose的作用,这里不做深究,不过这个用法通常还可以用在反向引用,下面说说这个问题。五、vlookup反向引用例如上面这个例子,根据工号来找姓名,就是反向,所谓反向的意思就是查找的条件列在要找的数据列右侧,这个直接用vlookup是不行的,解决这类问题就得用vlookup+if或者vlookup+choose来完成,不过不用三键结束哦,因为是单条件的,以下写出来四种公式,对照理解以下其中的异同,也可以帮助理解这种用法的原理。就上面这个问题,四个公式得到的效果完全一样:=VLOOKUP(G2,IF(1,0,$B$2:$B$5,$A$2:$A$5),2,0)对照=VLOOKUP(G2,IF(0,1,$A$2:$A$5,$B$2:$B$5),2,0)理解,看看差别在哪,=VLOOKUP(G2,CHOOSE(2,1,$A$2:$A$5,$B$2:$B$5),2,0)对照=VLOOKUP(G2,CHOOSE(1,2,$B$2:$B$5,$A$2:$A$5),2,0)理解。六、vlookup排除错误引用通过以上的叙述,相信对于vlookup应该有了比较全面的了解,可是美中不足的是当找不到所要查找的数据是,往往会得到,有没有办法让找不到数据的时候不要出现乱码(其实是错误代码),回答是肯定的,只要我们借助一个函数就可以了,这个函数就是iferror。可以套用这个格式来处理公式=iferror(vlookup(),需要提示的文字),例如,=IFERROR(VLOOKUP(E12,B12:C15,2,0),)这个公式的意思就是当找不到对应数据的时候显示空白,两个(英文状态的双引号)之间没有内容,或者可以这样写,=IFERROR(VLOOKUP(E12,B12:C15,2,0),无此人),当找不到对应姓名的时候显示无此人等等。需要说明一点,iferror这个函数在Excel2003里没有,如果用2003要达到这个效果需要一个比较长一点的公式,格式如下:=if(iserror(vlookup(),“”,vlookup(),例如:=IF(ISERROR(VLOOKUP(G2,B1:C5,2,0),VLOOKUP(G2,B1:C5,2,0)。七、vlookup多范围引用当我们掌握了vlookup排除错误显示的方法后,可以来探讨一个多范围引用的例子,如下图所示:两个班的数据是分开存放的,但是我们现在要找的名单可能在其中的任何一个里面,用=VLOOKUP(A2,1班!A:D,4,0)只能找到存在于1班的成绩,怎么样才能完全找到所有的成绩呢?换个思路来想想,也就是说当在1班找不到的时候,就去找2班,结合iferror函数可以实现:=IFERROR(VLOOKUP(A2,1班!A:D,4,0),VLOOKUP(A2,2班!A:D,4,0)用这个公式找到的结果如下:再完善一下:=IFERROR(IFERROR(VLOOKUP(A2,1班!A:D,4,0),VLOOKUP(A2,2班!A:D,4,0),姓名有误请核实)。至于这个公式的意思如果前面的内容你都明白了相信不难理解。最终一句话:一定要动手练习,动脑思考,当你明白的时候发现真的很容易。EXCEL公式基础学习群 259921244 长期组织excel基础学习,欢迎参加!vlookup详解语法规则该函数的语法规则如下:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)参数简单说明输入数据类型lookup_value要查找的值数值、引用或文本字符串table_array要查找的区域数据表区域col_index_num返回数据在区域的第几列数正整数range_lookup模糊匹配TRUE(或不填) /FALSE参数说明Lookup_value为需要在数据表第一列中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。col_index_num为table_array 中待返回的匹配值的列序号。col_index_num 为 1 时,返回 table_array 第一列的数值,col_index_num 为 2 时,返回 table_array 第二列的数值,以此类推。如果 col_index_num 小于1,函数 VLOOKUP 返回错误值#VALUE!;如果 col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值#REF!。Range_lookup为一逻辑值,指明函数 VLOOKUP 查找时是精确匹配,还是近似匹配。如果为false或0 ,则返回精确匹配,如果找不到,则返回错误值#N/A。如果 range_lookup 为TRUE或1,函数 VLOOKUP 将查找近似匹配值,也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。使用举例如图所示,我们要在A2:F12区域中提取工号为100003、100004、100005、100007、100010五人的全年总计销量,并对应的输入到I4:I8中。一个一个的手动查找在数据量大的时候十分繁琐,因此这里使用VLOOKUP函数演示:首先在I4单元格输入“=Vlookup(”,此时Excel就会提示4个参数。第一个参数,显然,我们要让100003对应的是H4,这里就输入“H4,” ;第二个参数,这里输入我们要查找的区域(绝对引用),即“$A$2:$F$12,”;第三个参数,“全年总计”是区域的第六列,所以这里输入“6”,输入“5”就会输入第四季度的项目了;第四个参数,因为我们要精确查找工号,所以输入“FALSE或者“0”。最后补全最后的右括号“)”,得到公式“=VLOOKUP(H4,$A$2:$F$12,6,0)”,使用填充柄填充其他单元格即可完成查找操作。VLOOKUP函数使用注意事项一VLOOKUP的语法VLOOKUP函数的完整语法是这样的:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)1括号里有四个参数,是必需的。最后一个参数range_lookup是个逻辑值,我们常常输入一个0字,或者False;其实也可以输入一个1字,或者true。两者有什么区别呢?前者表示的是完整寻找,找不到就传回错误值#N/A;后者先是找一模一样的,找不到再去找很接近的值,还找不到也只好传回错误值#N/A。2Lookup_value是一个很重要的参数,它可以是数值、文字字符串、或参照地址。我们常常用的是参照地址。用这个参数时,有三点要特别提醒:A)参照地址的单元格格式类别与去搜寻的单元格格式的类别要一致,否则的话有时明明看到有资料,就是抓不过来。特别是参照地址的值是数字时,最为明显,若搜寻的单元格格式类别为文字,虽然看起来都是123,但是就是抓不出东西来的。而且格式类别在未输入数据时就要先确定好,如果数据都输入进去了,发现格式不符,已为时已晚,若还想去抓,则需重新输入。B)在使用参照地址时,有时需要将lookup_value的值固定在一个格子内,而又要使用下拉方式(或复制)将函数添加到新的单元格中去,这里就要用到“$”这个符号了,这是一个起固定作用的符号。比如说我始终想以D5格式来抓数据,则可以把D5弄成这样:$D$5,则不论你如何拉、复制,函数始终都会以D5的值来抓数据。C) 用“& 连接若干个单元格的内容作为查找的参数。在查找的数据有类似的情况下可以做到事半功倍。3Table_array是搜寻的范围,col_index_num是范围内的栏数。Col_index_num不能小于1,其实等于1也没有什么实际用的。如果出现一个这样的错误的值#REF!,则可能是col_index_num的值超过范围的总字段数。选取Table_array时一定注意选择区域的首列必须与lookup_value所选取的列的格式和字段一致。比如lookup_value选取了“姓名”中的“张三”,那么Table_array选取时第一列必须为“姓名”列,且格式与lookup_value一致,否则便会出现#N/A的问题。4.在使用该函数时,lookup_value的值必须在table_array中处于第一列。二VLOOKUP的错误值处理。如果找不到数据,函数总会传回一个这样的错误值#N/A,这错误值其实也很有用的。例如,如果我们想这样来作处理:如果找到的话,就传回相应的值,如果找不到的话,就自动设定它的值等于0,则函数可以写成这样:=if(iserror(vlookup(1,2,3,0),0,vlookup(1,2,3,0)在Excel 2007以上版本中,以上公式等价于=IFERROR(vlookup(1,2,3,0),0)这句话的意思是:如果VLOOKUP函数返回的值是个错误值的话(找不到数据),就等于0,否则,就等于VLOOKUP函数返回的值(即找到的相应的值)。这里又用了两个函数。第一个是iferror函数。它的语法是iferror(value),即判断括号内的值是否为错误值,如果是,就等于true,不是,就等于false。第二个是if函数,这也是一个常用的函数的,后面有机会再跟大家详细讲解。它的语法是if(条件判断式,结果1,结果2)。如果条件判断式是对的,就执行结果1,否则就执行结果2。举个例子:=if(D2=”,”空的”,”有东西”),意思是如D2这个格子里是空的值,就显示文字“空的”,否则,就显示“有东西”。(看起来简单吧?其实编程序,也就是这样

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论