2013-04-09 22 views
0

多年来,我一直有这个问题!我似乎无法使Excel中的OR函数工作。 在我的模型中,单元格E46应该包含有效的邮政编码或值“无”。不幸的是我也遇到了“#VALUE”在E46所以写了下面的公式来捕获该错误,并返回“无”,如果遇到:或功能总是让我起来

=IF(OR(E46="None",ISERROR(E46)),"None",VLOOKUP(E46, List,2,FALSE)) 

麻烦的是,我仍然可以通过这个公式时E46返回#value包含#value即使我认为我在陷害它!

所有的帮助文本都表明我已经正确地编写了这个公式 - 我看不出我做错了什么。任何有用的建议感激地收到。

回答

3

如果可能存在错误(因为OR函数在这种情况下会给出错误 - 从E46 =“None”部分),则不能使用OR,请尝试首先使用嵌套的IF捕获错误。

=IF(ISERROR(E46),"None",IF(E46="None",E46,VLOOKUP(E46, List,2,FALSE)))

你还是会得到一个错误,如果E46不在名单......

如果您有Excel 2007或更高,您可以使用IFERROR像

=IFERROR(IF(E46="None",E46,VLOOKUP(E46, List,2,FALSE)),"None")

+0

感谢brettdj的编辑以及对Barry houdini解决方案的最诚挚感谢。我猜,很多人都知道答案时很明显(当你不知道的时候不那么清楚)。 – 2013-04-11 10:14:50