IF 是 Excel 中用途最多的常用函數,通常會多次使用在單一公式中,也會與其他函數搭配使用。 但可惜的是,由於 IF 陳述式的建立程序十分複雜,因此很容易在建立期間發生 #VALUE! 錯誤。 您通常可以新增特定的錯誤處理函數 (例如 ISERROR、ISERR 或 IFERROR) 至您的公式來解決錯誤。
問題:引數參照錯誤的值
如果有儲存格參照錯誤的值,IF 就會顯示 #VALUE! 錯誤。
解決方法:您可以搭配 IF 使用任一錯誤解決公式,例如 ISERROR、ISERR 或 IFERROR。 下列主題將說明如何在引述參照錯誤的值時,於公式中使用 IF、ISERROR 和 ISERR 或 IFERROR。
附註:
-
Excel 2007 推出 IFERROR 之後,其使用率便超越 ISERROR 或 ISERR,因為它不會要求建構多餘的公式。 ISERROR 和 ISERR 會強制計算公式兩次;第一次是為了評估公式是否有誤,第二次則是為了傳回結果。 IFERROR 則只會計算一次。
-
=IFERROR(Formula,0) 比 =IF(ISERROR(Formula,0,Formula)) 來得實用
問題:語法不正確
如果函數的語法未正確建構,就會回傳 #VALUE! 錯誤。
解決方法:請確定語法的建構方式正確無誤。 以下是正確建構的公式範例,這個公式在某個 IF 函數中建立另一個 IF 函數的巢狀結構,以根據收入等級計算扣除值。
=IF(E2<31500,E2*15%,IF(E2<72500,E2*25%,E2*28%))
上述公式的意思是:如果(儲存格 A5 中的值小於 31,500,則將值乘上 15%。但是如果不是如此,檢查值是否小於 72,500。如果是,乘上 25%;否則乘上 28%)。
若要搭配現有公式使用 IFERROR,只要以 IFERROR 括住完整公式即可。
=IFERROR(IF(E2<31500,E2*15%,IF(E2<72500,E2*25%,E2*28%)),0)
上述公式的意思是,如果原始公式的任何部分的評估結果為錯誤,則顯示 0;否則傳回 IF 陳述式的結果。 有些人會使用錯誤處理撰寫完整公式以便開始,但這並不是建議做法,由於錯誤處理常式會解決任何潛在錯誤,因此您未必能判斷公式是否正確運作。 如果您需要新增錯誤處理常式,建議您先確定公式可正確運作再新增。
附註: 公式中的評估值沒有逗號。 如果您新增這些專案,IF 函數將會嘗試將它們做為引數,而 Excel 將會 yell 您。 另一方面,百分比乘數有% 符號。 這會告訴 Excel 您想要讓這些值顯示為百分比。 否則,您必須將其輸入為實際百分比值,例如「E2 * 0.25」。
對特定函數有任何問題嗎?
協助我們改進 Excel
您是否有任何關於下一版 Excel 的改善方式的建議? 如果有的話,請參閱 Excel User Voice 中的主題。
另請參閱
附註: 本頁面是經由自動翻譯而成,因此文中可能有文法錯誤或不準確之處。 讓這些內容對您有所幫助是我們的目的。 告訴我們這項資訊是否有幫助? 這裡是供您參考的英文文章。