Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

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 函數 (依類別)

Need more help?

Want more options?

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

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

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×