【EXCEL | IF用法教學】一次搞懂IF用法、多條件範例教學

IF 函數是Excel中最受歡迎的函數之一。你可以透過IF函數設定一個條件,滿足該條件時顯示一種值,不滿足時顯示另一種值,使資料分析更加有效率。

本文將會用5分鐘的時間,教會你IF函數的完整用法、範例教學、多條件、常見錯誤等等。

因此,如果你常常因為看不懂IF函數而苦惱,建議可以把這篇文章從頭到尾看過一次,把IF函數徹底搞懂,進而提升工作效率。

那麼我們就開始吧!(趕時間的人可以利用下方目錄跳轉 👇)

IF函數用法

IF(logical_test,[value_if_true],[value_if_false])
  • logical_test:邏輯測試式。通常是「C3>100」、「C3=”已付款”」之類,只會有 Yes/No 兩種結果的判斷式。
  • [value_if_true]:可以設定如果「C3>100」為Yes,就做什麼事。
  • [value_if_false]:可以設定如果「C3>100」為No,就做另一件事。

接著,我們來看看IF函數的範例教學:

IF範例教學

一、IF單一條件

假設我們想要知道班上國文誰及格誰不及格,我們利用 IF 函數就可以很快地幫我們將及格的顯示「V」,不及格的顯示「X」:

=IF(C3>=60,"V","X")// 如果C3大於等於60的話就顯示V,否則顯示X
IF用法範例教學

或者,我們也可以透過 IF 函數幫不及格的小朋友們多加點分:

=IF(C3>=60,C3*1.1,C3*1.2)// 如果C3大於等於60的話分數就乘1.1,否則分數乘1.2

IF 函數單條件的用法就是這麼簡單!另外再補充一些常用的邏輯測試式:

數字類型(不等於的符號為<>):

  • 如果C3大於60:=IF(C3>=60,……)
  • 如果C3大於等於60:=IF(C3<=60,……)
  • 如果C3小於60:=IF(C3<60,……)
  • 如果C3小於等於60:=IF(C3>60,……)
  • 如果C3等於60:=IF(C3=60,……)
  • 如果C3不等於60:=IF(C3<>60,……)

文字類型(不等於的符號為<>)

  • 如果C3是空的資料:=IF(C3=””,……)
  • 如果C3不是空的資料:=IF(C3<>””,……)
  • 如果C3等於「男生」:=IF(C3=”男生”,……)
  • 如果C3不等於「男生」:=IF(C3<>”男生”,……)

二、IF多條件(AND, OR)

接下來,我們可以透過結合AND與OR函數達到IF多條件的效果:

  • 國文及格「而且」英文及格 – AND函數:
=IF(AND(C3>=60,D3>=60),"V","X")

  • 國文及格「或者」英文及格 – OR函數:
=IF(OR(C3>=60,D3>=60),"V","X")

  • AND函數與OR函數都可以包含三個條件以上:
=IF(AND(C3>=60,D3>=60,E3>=60),"V","X")

三、IF多條件(巢狀結構)

最後,如果我們想要為分數設定區間,則需要使用IF巢狀結構,也就是一層IF包另一層IF,一直包到所有條件設定完畢。

註:IF函數運算是由左到右執行運算,而非從最裡面的括號先開始運算。

首先,我們先從2層IF函數開始:

=IF(C3>=60,IF(C3>=80,"非常棒!","中等"),"待加強")//如果C3大於等於60的話就再去進一步檢查C3是否大於等於60,否則顯示「待加強」

再來進入到多層IF函數:

=IF(C3>=60,IF(C3>=70,IF(C3>=80,IF(C3>=90,"優","甲"),"乙"),"丙"),"待加強")//如果C3大於等於60的話就再去檢查D3是否大於等於60,否則顯示X

以下是多層IF函數的判定流程說明,如果對於閱讀巢狀有難度的人,可以參考一下:

=IF(C3>=60,IF(C3>=70,IF(C3>=80,IF(C3>=90,"優","甲"),"乙"),"丙"),"待加強")

如果分數為52分:
第一層IF函數:C3是否大於等於60?否➠顯示「待加強」,運算結束。

=IF(C3>=60,IF(C3>=70,IF(C3>=80,IF(C3>=90,"優","甲"),"乙"),"丙"),"待加強")

如果分數為75分:
第一層IF函數:C3是否大於等於60?是➠測試第二層IF函數。
第二層IF函數:C3是否大於等於70?是➠測試第三層IF函數。
第三層IF函數:C3是否大於等於80?否➠顯示「乙」,運算結束。

=IF(C3>=60,IF(C3>=70,IF(C3>=80,IF(C3>=90,"優","甲"),"乙"),"丙"),"待加強")

如果分數為98分:
第一層IF函數:C3是否大於等於60?是➠測試第二層IF函數。
第二層IF函數:C3是否大於等於70?是➠測試第三層IF函數。
第三層IF函數:C3是否大於等於80?是➠測試第四層IF函數。
第四層IF函數:C3是否大於等於90?是➠顯示「優」,運算結束。

=IF(C3>=60,IF(C3>=70,IF(C3>=80,IF(C3>=90,"優","甲"),"乙"),"丙"),"待加強")

IF常見錯誤(#VALUE!、#NAME!、#REF!)

以下提供IF函數常見的錯誤提示:

  • #VALUE!:當邏輯運算式的結果是不支援的資料類型時,就會顯示#VALUE!。
  • #NAME!:通常是由於輸入了錯誤的語法,或者引用了錯誤的儲存格,導致IF函數無法正常運作
  • #REF!:原本參照的儲存格被刪除或異常。

IF溫馨提醒

  • IF函數運算是由左到右執行測試,而非從最裡面的括號先開始運算。
  • 顯示結果只有兩種時(如TRUE/FALSE、PASS/FAIL等等),建議使用AND/OR函數;若顯示結果有分區間(如優/甲/乙/丙/待加強)則使用IF巢狀結構。
  • 使用IF巢狀結構時,最外層放置條件最寬鬆的IF函數,越往內條件越嚴格(如:第一層分數大於60、第二層分數大於70、第三層分數大於80……)

資料來源

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *