ExcelVLOOKUP函数返回错误值NA的两种解决方法
发布时间:2025-05-21 02:31:42 发布人:远客网络
一、ExcelVLOOKUP函数返回错误值NA的两种解决方法
1、下面的截图,根据左边的工号查询相应的工资。小伙伴的F2单元格公式是:=VLOOKUP(E2,$A$1:$C$9,2,0)。
2、看公式,没有什么问题,公式都书写正确,但是为何出现vlookup函数返回#n/a错误呢?细心的小伙伴,可能已经发现,是因为单元格格式不同导致的。左边的工号是文本格式的,E列的工号是数字形式,正是因为格式不同出现VLOOKUP函数查找不到正确值,那您知道如何解决吗?修正方法一:我们在VLOOKUP函数第一参数:查找值进行修正,我们在查找值后面加上&"",&是文本连接符,再加上“”,做文本运算,这样就可以将数字格式的工号统一为文本格式的工号。小编修正之后的公式为:=VLOOKUP(E2&"",$A$1:$C$9,2,0)修正方法二:帮人帮到底,那如果左边的工号是数字格式的,右边的E列工号是文本格式的,那又该如何查找对应的工资呢?同样的问题,这次我们得想办法将E列文本格式的工号转换为成数字格式,然后再用VLOOKUP函数,就可以得到正确结果。如果格式统一的情况下,我们只需要在F2单元格输入公式:=VLOOKUP(E2,$A$1:$C$9,2,0)就可以得到结果。为了将文本格式的工号转换为数字格式的工号,我们可以输入公式:=VLOOKUP(E2*1,$A$1:$C$9,2,0)。总结:本文使用VLOOKUP函数查找格式不统一的时候,可以使用*1(文本转数字格式)或者&”(数字转换为文本)进行统一。
二、Excel表格的VLOOKUP函数出现NA
1、A1为空:当A1为空的时候自然无法找到匹配显示为 N\A
如果是第一种情况,可以修改公式,使得显示效果好看一些:=IF(A1="","",VLOOKUP(A1,Sheet2!A:B,2,FALSE))
将A1出现空值的情况显示为空值!
如果是第二种情况,请确保所输入的项目在所查找的列表中存在,如果存在,则是查询的列表的列顺序可能有错误。
Vlookup所要查找的列是所选区域的第一列,也就是说,要查找某个信息比如姓名,那么所选择的列表,顺序必须姓名在第一,比如:姓名、年龄、性别,而不能是年龄、姓名、性别。
Lookup_value为需要在数据表第一列中进行查找的数值。Lookup_value可以为数值、引用或文本字符串。当vlookup函数第一参数省略查找值时,表示用0查找。
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的最大数值。如果range_lookup省略,则默认为1。
三、用函数vlookup出现na怎么办啊
1、VLOOKUP函数是Excel中的一个纵向查找函数,它与LOOKUP函数和HLOOKUP函数属于一类函数,在工作中都有广泛应用。VLOOKUP是按列查找,最终返回该列所需查询列序所对应的值;与之对应的HLOOKUP是按行查找的。
2、VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
3、Lookup_value为需要在数据表第一列中进行查找的数值。Lookup_value可以为数值、引用或文本字符串。当vlookup函数第一参数省略查找值时,表示用0查找。
4、Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。
5、中查找数据的数据列序号。col_index_num为 1时,返回 table_array第一列的数值,col_index_num为 2
6、时,返回 table_array第二列的数值,以此类推。如果 col_index_num小于1,函数 VLOOKUP返回错误值#VALUE!;如果 col_index_num大于 table_array的列数,函数 VLOOKUP返回错误值#REF!。
7、指明函数 VLOOKUP查找时是精确匹配,还是近似匹配。如果为false或0,则返回精确匹配,如果找不到,则返回错误值#N/A。如果
8、range_lookup为TRUE或1,函数 VLOOKUP将查找近似匹配值,也就是说,如果找不到精确匹配值,则返回小于
9、lookup_value的最大数值。如果range_lookup省略,则默认为近似匹配。
10、如果找不到数据,函数总会传回一个这样的错误值#N/A,这错误值其实也很有用的。
11、例如,如果我们想这样来作处理:如果找到的话,就传回相应的值,如果找不到的话,就自动设定它的值等于0,则函数可以写成这样:
12、=if(iserror(vlookup(1,2,3,0)),0,vlookup(1,2,3,0))
13、在Excel 2007以上版本中,以上公式等价于
14、这句话的意思是:如果VLOOKUP函数返回的值是个错误值的话(找不到数据),就等于0,否则,就等于VLOOKUP函数返回的值(即找到的相应的值)。
15、第一个是iserror函数。它的语法是iserror(value),即判断括号内的值是否为错误值,如果是,就等于true,不是,就等于false。
16、这也是一个常用的函数的。它的语法是if(条件判断式,结果1,结果2)。如果条件判断式是对的,就执行结果1,否则就执行
17、结果2。举个例子:=if(D2=””,”空的”,”有东西”),意思是如D2这个格子里是空的值,就显示文字“空的”,否则,就显示“有东西”。
18、在Excel 2007以上版本中,可以使用iferror(value, value_if_error)代替以上两个函数的组合,该函数判断value表达式是否为错误值,如果是,则返回value_if_error,如果不是,则返回value表达式自身的值。
19、如果返回的错误值是#N/A,有一种常见的不容易发现的可能及时,要查找的值和区域中的值都是数字,但是一个是文本型数字,一个是数值形数字。
20、此时将文本数字改为数值数字,能解决返回值为#N/A的问题,或者将数值数字改为文本数字也能解决返回值为#N/A的问题。
21、如果,都是同类型的数字,要查找的值没有空格,查找的值后面有空格也会返回错误值#N/A。
22、或者同类型的数字,要超找的值有空格,查找值的范围内对应的值无空格,也会发挥错误值#N/A。
23、此时的办法很简单,用ctrl+h调出替换对话框,查找内容为空格,替换为后面什么也不填,然后全部替换即可。
24、替换之后,错误值将消失,返回正常的函数值,如果还是错误,可能需要从新编辑一下刚刚设置转换了类型的数字然后回车,或者需要通过分列实现数字类型的快速转换。