嘻皮客娱乐学习网

标题: 避免VLOOKUP函数返回#N/A错误的方法 [打印本页]

作者: wsjgh    时间: 2015-4-10 10:01
标题: 避免VLOOKUP函数返回#N/A错误的方法
在Excel中经常使用VLOOKUP函数来查找某个数据区域的第一列,并返回所查找数据在指定列中对应行的单元格值。在用VLOOKUP函数进行精确查找时,如果要查找的值不在数据区域的第一列中,VLOOKUP函数会返回#N/A错误。例如下图数据在A1:B61区域中,D3单元格为要在A列“商品名称”中查找的数据,E3返回对应第二列的“数值”。本例“围巾”在A列中不存在,如果直接用公式:
    =VLOOKUP(D3,A1:B61,2,)
    会返回“#N/A”错误。
    (, 下载次数: 91)
    为避免出现这种情况,同时在找不到查询值时给出一个提示,可用下面的一些公式。在E3单元格中输入:
    =IFERROR(VLOOKUP(D3,A1:B61,2,),"无对应值")
    这时会返回提示“无对应值”。
    (, 下载次数: 104)
    说明: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,返回找到的对应值。




欢迎光临 嘻皮客娱乐学习网 (http://www.xipick.com/) Powered by Discuz! X3.3