VLOOKUP函数返回错误值的原因和解决方法

大家平时在工作中经常用VLOOKUP查询数据,但是这个函数也有不听话的时候,小脾气上来了,就会返回错误值。

有道是知己知彼百战百胜,接下来咱们就来了解一下VLOOKUP函数返回错误值的原因和解决方法

一. VLOOKUP函数基本语法

=VLOOKUP (lookup_value, table_array,col_index_num, [range_lookup])

这个太复杂了哦,看鹅理解的VLOOKUP函数中文语法吧:

=VLOOKUP(查找值,数据源,第几列,模糊查找1/精确查找0)

变成人话,是不是更容易理解啊,哈哈。

二. 实例说话

接下来,先看一个VLOOKUP函数的应用实例吧。

通过菜名查询库存数量。

VLOOKUP函数返回错误值的原因和解决方法

C11单元格公式如下:

=VLOOKUP(B11,$B$3:$D$6,2,0)

这样的用法大家都很熟悉了,可是VLOOKUP函数也有不听话的时候,有时会返回错误值#N/A。这是怎么回事呢?咱们来看看出现的原因和解决方法:

第一种:数据源没有绝对引用。

公式拖动时,查找区域发送变化,导致找不到查询值。所以锁定查询区域尤其重要,否则就会查询不到而返回#N/A。

第二种:指定第三参数错误,也会返回错误值。

例如以下公式

=VLOOKUP(E11,$C$3:$D$6,3,0)

这里的查询区域只有C、D两列,而指定返回的列是3,明显超出查询区域范围,Excel就晕了,因此就会显示#REF!

第三种:查找值与数据源中的数据不一致。

1.有空格。

可以双击单元格,查看最后一个字符后面是否有空格或者是在编辑栏公式栏里看。

解决方案:

1) 复制一个数据源,粘贴在公式的查找条件里。

2) 直接通过函数TRIM去掉空格

C11=VLOOKUP(TRIM(B11),$B$3:$D$6,2,0)。

3) 如果ERP系统导出来的数据包含不可见字符,通过CLEAN函数处理一下,一般即可正常查询。

如:

=VLOOKUP(CLEAN(B11),$B$3:$D$6,2,0)

2.查询值和查询区域中的数据类型不统一,既有文本又有数值。

可以通过TYPE函数判断。

TYPY返回信息如下:

数值=1;文字=2;逻辑值=4;错误值=16;数组=64

这种情况下,只要将文本格式的数字转换成真正数字就可以正常查询了。

转换成数字的方法有很多种:

E11*1

E11/1

E11+0

E11-0

--E11

VALUE(E11)

使用时任选其中一种即可。

第四种,查询区域中没有查询值,所以显示#N/A。

通过=IFERROR(公式,””)可以将错误值屏蔽掉。

以上是VLOOKUP函数返回错误值的几种常见原因和解决方法,怎么样,你还能补充一下吗?