2013-04-09 23 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