设为首页收藏本站

嘻皮客娱乐学习网

 找回密码
 中文注册
搜索
打印 上一主题 下一主题
开启左侧

[Excel技巧] 避免VLOOKUP函数返回#N/A错误的方法

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-10 10:01:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
在Excel中经常使用VLOOKUP函数来查找某个数据区域的第一列,并返回所查找数据在指定列中对应行的单元格值。在用VLOOKUP函数进行精确查找时,如果要查找的值不在数据区域的第一列中,VLOOKUP函数会返回#N/A错误。例如下图数据在A1:B61区域中,D3单元格为要在A列“商品名称”中查找的数据,E3返回对应第二列的“数值”。本例“围巾”在A列中不存在,如果直接用公式:
    =VLOOKUP(D3,A1:B61,2,)
    会返回“#N/A”错误。
   
    为避免出现这种情况,同时在找不到查询值时给出一个提示,可用下面的一些公式。在E3单元格中输入:
    =IFERROR(VLOOKUP(D3,A1:B61,2,),"无对应值")
    这时会返回提示“无对应值”。
   
    说明:IFERROR函数是Excel 2007中新增的函数,所以上述公式仅适用于Excel 2007以上版本。如果是Excel 2003,可用下面的一些公式:
    =IF(ISNA(VLOOKUP(D3,A1:B61,2,)),"无对应值",VLOOKUP(D3,A1:B61,2,))
    即先判断“VLOOKUP(D3,A1:B61,2,)”是否返回错误,如果返回错误就显示提示,否则返回对应值。
    或:
    =IF(ISNA(MATCH(D3,A1:A61,)),"无对应值",VLOOKUP(D3,A1:B61,2,))
    与上述公式不同的是,该公式用MATCH函数判断要查找的值是否存在于数据区域第一列。MATCH函数找不到数据时,也会返回#N/A错误,故公式用ISNA函数进行判断。
     还可用下面的数组公式,该公式输入结束按Ctrl+Shift+Enter结束:
    =IF(OR(A1:A61=D3),VLOOKUP(D3,A1:B61,2,),"无对应值")
    说明:如果要查找的值在第一列不存在,本例公式中的“A1:A61=D3”会返回一个全部为FALSE的数组,OR函数返回FALSE,IF函数返回提示信息;否则OR函数返回TRUE,返回找到的对应值。
回复

使用道具 举报

小黑屋|手机版|嘻皮客网 ( 京ICP备10218169号|京公网安备11010802013797  

GMT+8, 2024-4-28 12:08 , Processed in 0.182320 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表