在vlookup结果中去除#N/A

54

如果B2单元格为空,我该如何修改这个函数,使其结果只是一个空白单元格而不是显示#N/A?

我认为我可能需要像ISERROR检查这样的东西,但我不完全知道我在做什么。

=VLOOKUP(B2,Index!A1:B12,2,FALSE)

谢谢!

4个回答

111

如果您只想在B2为空时返回空白,则可以针对该特定方案使用另一个IF函数,例如:

=IF(B2="","",VLOOKUP(B2,Index!A1:B12,2,FALSE))

或者,如果要从VLOOKUP中返回任何错误(例如,包括如果B2已填充但该值未被VLOOKUP找到),则可以使用IFERROR函数(仅限于Excel 2007或更高版本),例如:

=IFERROR(VLOOKUP(B2,Index!A1:B12,2,FALSE),"")

在早期的版本中,您需要重复使用VLOOKUP,例如:

=IF(ISNA(VLOOKUP(B2,Index!A1:B12,2,FALSE)),"",VLOOKUP(B2,Index!A1:B12,2,FALSE))


搞定了!我使用的是Excel 2003,所以最后一行起了作用。谢谢 :) - office-rat
没错,IFERROR正是我所需要的。IF语句并不能满足我的要求! - aardvarkk

1
如果您想在vlookup出错的情况下更改单元格颜色,则可以使用条件格式。要执行此操作,请进入“条件格式” > “新建规则”。在其中选择“选择规则类型”=“仅格式化包含单元格的单元格”,然后窗口下方会更改,选择第一个下拉菜单中的“错误”,然后按照提示进行操作。

0

2022年9月28日新答案

这里提供一种考虑到新的Excel函数的新方法:XLOOKUP

=XLOOKUP(D2,$A$2:$A$5,$B$2:$B$5,"Not Found",0)

第三个参数表示在未找到时要使用的值,如果您想将单元格保留为空,则可以将其替换为""

sample excel file

请查看以下附加资源,以获取有关此新功能的更多信息:

  1. XLOOKUP vs VLOOKUP:哪个Excel函数更好?。它比VLOOKUP更灵活,您可以指定lookup_arraylookup_result范围。
  2. XLOOKUP的性能:新XLOOKUP与VLOOKUP相比有多快?:似乎有一些关于XLOOKUP性能的担忧。需要注意。

-1
为了避免Excel中的任何功能错误,请使用以IS*开头的Error Handling函数。将您的函数嵌入这些错误处理函数中,避免在结果中出现不必要的文本。更多信息请见OfficeTricks页面

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接