如何修正 IF 函數中的 #VALUE! 錯誤

套用到
Microsoft 365 Excel Mac 版 Microsoft 365 Excel Excel 2024 Mac 版 Excel 2024 Excel 2021 Mac 版 Excel 2021

IF 是 Excel 中用途最多的常用函數,通常會多次使用在單一公式中,也會與其他函數搭配使用。 但可惜的是,由於 IF 陳述式的建立程序十分複雜,因此很容易在建立期間發生 #VALUE! 錯誤。 您通常可以新增特定的錯誤處理函數 (例如 ISERROR、ISERR 或 IFERROR) 至您的公式來解決錯誤。

問題:引數參照錯誤的值

如果有儲存格參照錯誤的值,IF 就會顯示 #VALUE! 錯誤。

解決方法:您可以搭配 IF 使用任一錯誤解決公式,例如 ISERROR、ISERR 或 IFERROR。 下列主題將說明如何在引述參照錯誤的值時,於公式中使用 IF、ISERROR 和 ISERR 或 IFERROR。

注意

  • IFERROR was 遠比 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%) )

結構良好的 IF 陳述式範例。

上述公式的意思是:如果(儲存格 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 會對您大喊大叫。 另一方面,百分比乘數具有 % 符號。 這表示 Excel 您要這些值以百分比形式顯示。 否則,您必須以實際百分比值輸入,例如 “E2*0.25”。

將逗號新增至值時的 Excel 訊息。

需要更多協助嗎?

您隨時都可以詢問 Excel 技術社群 中的專家,或在 社群中取得支援。

另請參閱

修正 #VALUE! 錯誤

IF 函數

IFERROR 函數

IS 函數

IFS 函數

Excel 公式概觀

如何避免 Excel 中的公式出錯

偵測 Excel 中的公式錯誤

Excel 函數 (按字母排序)

Excel 函數 (依類別排序)