首页 > 编程知识 正文

EXCEL VLOOKUP函数正确,结果却总是#N/A 或无结果

时间:2023-05-04 01:20:47 阅读:281692 作者:4913

最近使用EXCEL2016在做数据匹配,我要将一个工作表里的数据匹配到另外一个工作表里,但是vlookup函数格式都填写正确,结果却总是#N/A,也就是没有任何输出结果,网上查找了很多资料,都是非常顺利的,没有这种问题,还是只能靠自己尝试了,最终发现了一个问题。具体咱们看下面的内容:

VLOOKUP函数介绍

VLOOKUP(lookup_value,table_array,col_index_num,[rang_lookup])

lookup_value:查找值
table_array:查找区域
col_index_num:返回查找区域第几列
[rang_lookup]:查找模式,0表示精确查找,1表示模糊查找

举例1如下:

一个匹配数据源表如下

现在已知账号 lisi,要匹配出他的其他所有信息

对应的函数可以这么写

在H2单元格那边输入 ==VLOOKUP($G2,$A$2:$D$5,2,0)

要匹配的数值是lisi,所以第一个参数lookup_value 为$G2

第二个参数是要用来匹配的区域是A2到D5的四方形区域,所以写成$A$2:$D$5 ,加了$的原因在于如果我此处匹配的账号不只是lisi,还有其他的账号,就可以通过下拉的方式,这样采用$可以固定区域,不然写成A2:D5的话也是可以的,但是如果要下拉的话,就会变成A3:D6了,会自动增加数字

第三个参数是返回匹配区域的第几列数值,这边要的是省份,是第2列,所以填

第四个参数是精确匹配,所以填 0

根据以上 I2单元格输入的是 =VLOOKUP($G2,$A$2:$D$5,3,0)

J2单元格输入的是 =VLOOKUP($G2,$A$2:$D$5,4,0)

以上是一种很普遍解释VLOOKUP使用方法的例子,但是难道工作中你们没有碰到没有这么符合常规的数据吗?我碰到过,接下来咱们看下另外一种例子,你会发现所有VLOOKUP函数的使用方法跟上面写的一样,但就是没有结果,也就是输出结果为#N/A

特殊举例如下:

需求还是跟上面的一样,只是匹配数据源表格顺序换了,注意看,账号是在第三列了,而上面账号是在第一列

这个时候按照上面对函数的理解

H2单元格输入的是 =VLOOKUP($G2,$A$2:$D$5,1,0) 但结果却是 #N/A

后面I2和J2就不用说了,一样的结果。

我按照上面例子仔细观察,发现就是要查找的列在查找区域中不是第一列(咱们给他称为公共列),公共列不在查找区域第一列,可能是一个突破点,因此我做了一个测试,修改查找区域范围

先不管H2要得到的结果是什么, 输入 VLOOKUP($G2,$C$2:$D$5,2,0) 得到的结果是福建分公司,也就是说这个时候可以了。

因此我判定 VLOOKUP的一个关键是公共列要在第一列才是使用函数成功的关键,具体原因不明,也可能是我误解了(若有发现规则的,欢迎告知,感谢!)

所以改动如下,将“账号”列复制,插入到第一列,结果如下

I2输入的是 =VLOOKUP($H2,$A$2:$E$5,2,0) 后面几个单元格做对应修改,你会发现成功了

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。