避免VLOOKUP函数返回#N/A错误的方法

2025-12-22 15:33 来源:会计宝 阅读量:193

导读:在Excel中经常使用VLOOKUP函数来查找某个数据区域的第一列,并返回所查找数据在指定列中对应行的单元格值。在用VLOOKUP函数进行精确查找时,如果要查找的值不在数据区域的第一列中,VLOOKUP函数会返回#N/A错误。例如下图数据在A1:B61区域中,D3单元格为要在A列商品名称中查找的数据,E3返回对应第二列的数值。本例围巾在A列中不存在,如果直接用公式: =VLOOKUP(D3,A1:B61,2,) 会返回

在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,返回找到的对应值。

大家都在问
您正在与金牌答疑老师聊天