使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

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%))

建構良好的 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 函數

(Microsoft 365 或 Excel 2016 或更新版本) IFS 函數

IF 函數 – 巢狀公式及避免易犯的錯誤

影片:巢狀 IF 函數

Excel 公式概觀

如何避免公式出錯

偵測公式中的錯誤

所有 Excel 函數 (按字母排序)

所有 Excel 函數 (依類別)

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×