VLOOKUP是一个查找函数,给定一个查找的目标,它就能从指定的查找区域中查找返回忆要查找到的值。它的基本的语法为:
VLOOKUP(lookup_value,table_array,col_index_num , range_lookup)
lookup_value:需在数据表第一列中查找的数据。可以是数值、文本字符串或引用
table_array:需要在其中查找数据的数据表。第一列中的数值可以为文本、数字或逻辑值。若为文本时,不区分文本的大小写
col_index_num:为table_array 中待返回的匹配值的列序号
col_index_num = 1 ,返回 table_array 第一列中的数值;
col_index_num = 2 ,返回 table_array 第二列中的数值;
...
range_lookup:
1、TRUE 、省略 --> 模糊查找,返回近似匹配值
0、FALSE、 , --> 精确查找(当参数为0时可以省略,但必须保留“,”号)
一、函数参数使用错误 1、第2个参数区域设置错误(1)根据姓名查找年龄时产生错误
错误原因:vlookup函数第二个参数是查找区域,该区域的第1列有一个必备条件,就是查找的对象A9必须对应于区域的第1列。本例中是根据姓名查找的,那么第二个参数姓名必须是在区域的第1列位置,而上述公式中姓名列是在区域A1:E6的第2列
=VLOOKUP(A9,B1:E6,3,0)
2、第2个参数区域设置错误(2)根据姓名查找职务时产生查找错误
错误原因:本例是根据姓名查找职务,可大家注意一下,第2个参数B1:D6根本就没有包括E列的职务,当然会产生错误了
=VLOOKUP(A9,B1:E6,4,0)
3、第4个参数少了或设置错误根据工号查找姓名
错误原因:vlookup第四个参数:0 --> 精确查找(当参数为0时可以省略,但必须保留“,”号);
1或省略 --> 模糊查找
如果忘了设置第4个参数则会被公式误以为是故意省略,按模糊查找进行。当区域也不符合模糊查找规则时,公式就会返回错误值
=VLOOKUP(A9,A1:D6,2,0)或 =VLOOKUP(A9,A1:D6,2,)
二、数字格式不同,造成查找错误 1、查找为数字,被查找区域为文本型数字根据工号查找姓名,查找出现错误
错误原因:在vlookup函数查找过程中,文本型数字和数值型数字会被认为不同的字符。所以造成无法成功查找
解决方案:把查找的数字在公式中转换成文本型,然后再查找
=VLOOKUP(A9&"",A1:D6,2,0)
2、查找格式为文本型数字,被查找区域为数值型数字根据工号查找姓名,查找出现错误
解决方法:把文本型数字转换成数值型
=VLOOKUP(A9*1,A1:D6,2,0)
三、引用方式错误使公式复制后产生错误当C9的公式复制到C10和C11后,C10公式返回错误值
错误原因:由于第二个参数A2:D6是相对引用,所以向下复制公式后会自动更改为A3:D7,而A10中的工号A01所在的行,不在A3:D7区域中,从而造成查找失败
解决方案:把第二个参数的引用方式由相对引用改为绝对引用即可
B9公式改为:=VLOOKUP(A9,$A$2:$D$6,2,0)
四、多余的空格或不可见字符 1、数据表中含有多余的空格由于A列工号含有多余的空格,造成查找错误
错误原因:多一个空格,用不带空格的字符查找当然会出错了
解决方案:1、手工替换掉空格(建议使用);
2、在公式中用trim函数替换空格而必须要用数据公式形式输入