Excel中excel lookup 出错函数计算出错,是哪里的问题呢?

VLOOKUP函数用法详解、注意事项、错误值处理-excel技巧-电脑技巧收藏家
|||||||||||||
当前位置: &&&&正文
VLOOKUP函数用法详解、注意事项、错误值处理
一、用法详解。
在表格或数值数组的首列查找指定的数值,并由此返回表格或数组中该数值所在行中指定列处的数值。
这里所说的“数组”,可以理解为表格中的一个区域。数组的列序号:数组的“首列”,就是这个区域的第一纵列,此列右边依次为第2列、3列……。假定某数组区域为B2:E10,那么,B2:B10为第1列、C2:C10为第2列……。
VLOOKUP(查找值,区域,列序号,逻辑值)
“查找值”:为需要在数组第一列中查找的数值,它可以是数值、引用或文字符串。
“区域”:数组所在的区域,如“B2:E10”,也可以使用对区域或区域名称的引用,例如数据库或数据清单。
“列序号”:即希望区域(数组)中待返回的匹配值的列序号,为1时,返回第一列中的数值,为2时,返回第二列中的数值,以此类推;若列序号小于1,函数VLOOKUP 返回错误值 #VALUE!;如果大于区域的列数,函数VLOOKUP返回错误值 #REF!。
“逻辑值”:为TRUE或FALSE。它指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于“查找值”的最大数值;如果“逻辑值”为FALSE,函数 VLOOKUP 将返回精确匹配值。如果找不到,则返回错误值 #N/A。如果“查找值”为文本时,“逻辑值”一般应为 FALSE 。另外:
?如果“查找值”小于“区域”第一列中的最小数值,函数 VLOOKUP 返回错误值 #N/A。
?如果函数 VLOOKUP 找不到“查找值” 且“逻辑值”为 FALSE,函数 VLOOKUP 返回错误值 #N/A。
下面举例说明VLOOKUP函数的使用方法。
假设在Sheet1中存放小麦、水稻、玉米、花生等若干农产品的销售单价:
&&&&&&&&&&
A&&&&&&&&&&&&&&&&
1&&&& 农产品名称&&&&&& 单价
2&&&&&&&& 小麦&&&&&&&&&&
3&&&&&&&& 水稻&&&&&&&&&&
4&&&&&&&& 玉米&&&&&&&&&&
5&&&&&&&& 花生&&&&&&&&&&
…………………………………
100&&&&&& 大豆&&&&&&&&
Sheet2为销售清单,每次填写的清单内容不尽相同:要求在Sheet2中输入农产品名称、数量后,根据Sheet1的数据,自动生成单价和销售额。设下表为Sheet2:
A&&&&&&&&&&&&&&&&
C&&&&&&&&&&
1&&&& 农产品名称&&&& 数量&&&& 单价&&&& 金额&&&&
2&&&& 水稻&&&&&&&&&&&&
1000&&&& 0.48&&&&&&
3&&&& 玉米&&&&&&&&&&&&
2000&&&& 0.39&&&&&&
&&&& …………………………………………………&&&&
在D2单元格里输入公式:
=C2*B2&& ;
在C2单元格里输入公式:
=VLOOKUP(A2,Sheet1!A2:B100,2,FALSE) 。
如用语言来表述,就是:在Sheet1表A2:B100区域的第一列查找Sheet2表单元格A2的值,查到后,返回这一行第2列的值。
这样,当Sheet2表A2单元格里输入的名称改变后,C2里的单价就会自动跟着变化。当然,如Sheet1中的单价值发生变化,Sheet2中相应的数值也会跟着变化。
其他单元格的公式,可采用填充的办法写入。
二、VLOOKUP函数使用注意事项
说到VLOOKUP函数,相信大家都会使用,而且都使用得很熟练了。不过,有几个细节问题,大家在使用时还是留心一下的好。
VLOOKUP的语法
VLOOKUP函数的完整语法是这样的:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
1.括号里有四个参数,是必需的。最后一个参数range_lookup是个逻辑值,我们常常输入一个0字,或者F其实也可以输入一个1字,或者true。两者有什么区别呢?前者表示的是完整寻找,找不到就传回错误值#N/A;后者先是找一模一样的,找不到再去找很接近的值,还找不到也只好传回错误值#N/A。这对我们其实也没有什么实际意义,只是满足好奇而已,有兴趣的朋友可以去体验体验。
2.Lookup_value是一个很重要的参数,它可以是数值、文字字符串、或参照地址。我们常常用的是参照地址。用这个参数时,有两点要特别提醒:
A)参照地址的单元格格式类别与去搜寻的单元格格式的类别要一致,否则的话有时明明看到有资料,就是抓不过来。特别是参照地址的值是数字时,最为明显,若搜寻的单元格格式类别为文字,虽然看起来都是123,但是就是抓不出东西来的。
而且格式类别在未输入数据时就要先确定好,如果数据都输入进去了,发现格式不符,已为时已晚,若还想去抓,则需重新输入。
B)第二点提醒的,是使用时一个方便实用的小技巧,相信不少人早就知道了的。我们在使用参照地址时,有时需要将lookup_value的值固定在一个格子内,而又要使用下拉方式(或复制)将函数添加到新的单元格中去,这里就要用到“$”这个符号了,这是一个起固定作用的符号。比如说我始终想以D5格式来抓数据,则可以把D5弄成这样:$D$5,则不论你如何拉、复制,函数始终都会以D5的值来抓数据。
3.Table_array是搜寻的范围,col_index_num是范围内的栏数。Col_index_num 不能小于1,其实等于1也没有什么实际用的。如果出现一个这样的错误的值#REF!,则可能是col_index_num的值超过范围的总字段数。
三、VLOOKUP的错误值处理。
我们都知道,如果找不到数据,函数总会传回一个这样的错误值#N/A,这错误值其实也很有用的。比方说,如果我们想这样来作处理:如果找到的话,就传回相应的值,如果找不到的话,我就自动设定它的值等于0,那函数就可以写成这样:
=if(iserror(vlookup(1,2,3,0))=true,0,vlookup(1,2,3,0))
这句话的意思是这样的:如果VLOOKUP函数返回的值是个错误值的话(找不到数据),就等于0,否则,就等于VLOOKUP函数返回的值(即找到的相应的值)。
这里面又用了两个函数。
第一个是iserror函数。它的语法是iserror(value),即判断括号内的值是否为错误值,如果是,就等于true,不是,就等于false。
第二个是if函数,这也是一个常用的函数的,后面有机会再跟大家详细讲解。它的语法是if(条件判断式,结果1,结果2)。如果条件判断式是对的,就执行结果1,否则就执行结果2。举个例子:=if(D2=&&,&空的&,&有东西&),意思是如D2这个格子里是空的值,就显示文字“空的”,否则,就显示“有东西”。(看起来简单吧?其实编程序,也就是这样子判断来判断去的。)
四、含有VLOOKUP函数的工作表档案的处理。
一般来说,含有VLOOKUP函数的工作表,如果又是在别的档案里抓取数据的话,档案往往是比较大的。尤其是当你使用的档案本身就很大的时候,那每次开启和存盘都是很受伤的事情。
有没有办法把文件压缩一下,加快开启和存盘的速度呢。这里提供一个小小的经验。
在工作表里,点击工具──选项──计算,把上面的更新远程参照和储存外部连结的勾去掉,再保存档案,则会加速不少,不信你可以试试。
下面详细的说一下它的原理。
1.含有VLOOKUP函数的工作表,每次在保存档案时,会同时保存一份其外部连结的档案。这样即使在单独打开这个工作表时,VLOOKUP函数一样可以抓取到数值。
2.在工作表打开时,微软会提示你,是否要更新远程参照。意思是说,你要不要连接最新的外部档案,好让你的VLOOKUP函数抓到最新的值。如果你有足够的耐心,不妨试试。
3.了解到这点,我们应该知道,每次单独打开含有VLOOKUP函数的工作表时,里面抓取外部档案的数值,只是上次我们存盘时保存的值。若要连结最新的值,必须要把外部档案同时打开。
VLOOKUP函数我所了解的,也只是这些,大家有什么好的经验或有什么疑问,欢迎大家提出,一起探讨。
来源:互联网
免责声明:本站资料来源于互联网,其版权归原作者所有。如内容涉及或侵犯了您的权益,请通知我!
版权所有 Copyright&2009&
建议使用分辨率:及更高VLOOKUP不能返回正确结果的几个原因
作者:eptw 文章来源: 点击数: 更新时间: 19:41:17
&&& VLOOKUP函数可以检索区域首列满足条件的值,然后返回其他列中检索值对应行的单元格值,如图所示,A1:B10区域第一列大多为数字,第二列为字母。:
&&& =VLOOKUP(3,A1:B10,2,)
&&& 返回第一列数字“3”对应第二列的字母“c”。
&&& 在实际使用该函数的过程中,经常会遇到其返回不正确结果的情况,如下图。
&&& 下面是几种常见错误的原因:
&&& 1.软件导入的数据,第一列中所查找值后有不可见字符。
&&& 要查找的数据是由软件导入,或第一列的数值的前后有其他不可见字符(如空格等),VLOOKUP函数返回“#N/A”错误。如图一中A3单元格中的“2”后有不可见字符,F2单元格返回错误。
&&& 2.第三个参数不正确,小于区域中的列数返回“#VALUE!”,大于列数返回“#REF!”。例如上例中F4单元格:
&&& =VLOOKUP(E4,A2:B10,5,)
&&& 第三个参数为“5”,而区域中只有两列,公式返回“#REF!”。
&&& 3.查找值不在数据区域中。如上例中的F5单元格:
&&& =VLOOKUP(E5,A2:B10,2,)
&&& 查找值为“0”,而第一列中没有这个值,返回“#N/A”。
&&& 4.数据区域的第一列设置了特定的数字格式。例如上图中A2单元格中的“一”是设置单元格格式后显示的结果,单元格中真正的内容为数字“1”,因而公式:
&&& =VLOOKUP(E6,A2:B10,2,)
&&& 返回错误,如F6单元格。
&&& 5.最后一个参数未设置,未能精确查找。
&&& VLOOKUP函数的最后一个参数“range_lookup”为可选的逻辑值,为“TRUE”或省略时可能返回精确值匹配值,也可能返回近似匹配值,为“FALSE”则只返回精确匹配值。如公式:
&&& =VLOOKUP(4,A1:B10,2)
&&& =VLOOKUP(5,A1:B10,2)
&&& 都返回“c”。
&&& 这里顺便说一下,当需要精确查找时,通常只需在第三个参数前写上一个英文逗号,而将该参数保留为空,如前例。
&&& 6.查找的数据包含通配符。
&&& 如F9单元格中的公式似乎要查找第9行的“7*”,实际返回第5行的结果“g”。本站另有关于的文章,有兴趣的读者可以参考。
&&& 7.数据类型不匹配。
&&& 如果查找值所在的单元格为文本,如E10单元格,而区域中第一列的值为数字,VLOOKUP函数会找不到正确的结果,如F10单元格中的公式。反之,如果区域中第一列的“数字”为文本,而查找值为数字,VLOOKUP函数同样会返回错误。
上一篇文章:
下一篇文章:
其他网友还在看:
 网友评论:(评论内容只代表网友观点,与本站立场无关!)
::发表评论::
评论内容:
请遵守及中华人民共和国其他各项有关法律法规。
严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
评论需要审核通过后才可见,本站管理员有权保留或删除评论内容。
评论内容只代表网友个人观点,与本网站立场无关。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Excel技巧天地 E-mail:

我要回帖

更多关于 excel中的lookup函数 的文章

 

随机推荐