鲍勃问是否有一种方法可以使用VLOOKUP返回空白或星号,如果该函数不能在查找表中进行匹配。

是的,可以做到这一点,但一定要使您的公式稍微复杂一点。诀窍是要记住VLOOKUP可以两种方式之一运行。默认情况下,如果数据表按升序排列且不存在完全匹配项,则它将下一个较低的值返回到要查找的值。但是,如果需要,您可以强制VLOOKUP仅返回完全匹配项。请考虑以下示例:

=VLOOKUP(5,A1:B10,2,FALSE)

本示例在查找表(A1:B10)中进行搜索,以在表的第一列中查找值5。如果找到,则返回第二列中的相应值。如果未找到,则VLOOKUP返回#N / A错误,表明它找不到该值。 (作为第四个参数的FALSE值表示您不需要近似匹配。)

然后,关键是简化此#N / A值,并构建没有匹配项时要返回的内容。如果查找不匹配,以下公式将返回一系列的五个星号:

=IF(ISNA(VLOOKUP(5,A1:B10,2,FALSE)),"**",VLOOKUP(5,A1:B10,2,FALSE))

ISNA函数用于测试VLOOKUP的结果是否为#N / A错误。如果是,则返回星号。如果不是,则返回查找值。如果希望公式返回“无”,

那么您可以使用以下变体:

=IF(ISNA(VLOOKUP(5,A1:B10,2,FALSE)),"",VLOOKUP(5,A1:B10,2,FALSE))

如果查找表中没有匹配项,则此版本返回空白字符串。对于某些用途,这可能并非您真正想要的。您可能会发现更合适的方法是返回零,然后在工作表中隐藏零(文件|选项|高级|此工作表的显示选项|清除在具有零值的单元格中显示零)。如果您希望返回零,则只需进行一次更改:

=IF(ISNA(VLOOKUP(5,A1:B10,2,FALSE)),0,VLOOKUP(5,A1:B10,2,FALSE))

当然,您也可以使用IFERROR函数查找所需的内容。公式上的以下变体就可以正常工作:

IFERROR(VLOOKUP(5,A1:B10,2,FALSE),"**")

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(10940)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: