鲍勃问是否有一种方法可以使用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))

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

本技巧(3335)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007和更高版本)找到本技巧的版本: