Excel IF 函數與公式
Excel IF 函數按條件二選一:成立回傳一個值,不成立回傳另一個。多分支用巢狀 IF 或 IFS;多條件時把 AND 嵌進 IF 條件位(IF + AND / OR),一次判斷多個門檻。
IF 函數語法與參數結構
IF 函數是試算表邏輯判斷的基石。條件成立時回傳一個值,不成立時回傳另一個值。
任何計算結果為 TRUE 或 FALSE 的邏輯條件或表達式(例如 A2 >= 90、B2 = "Pending" 或 C2 > AVERAGE(C$2:C$10))。
當 logical_test 條件成立(TRUE)時回傳的結果。可以是雙引號包夾的文字(如 "Pass")、數值、儲存格參照或另一個公式。
當 logical_test 條件不成立(FALSE)時回傳的結果。若省略且條件不符則回傳 FALSE;在多階梯等第中,此處通常接續下一個巢狀 IF。
經典面試梯級範例:分數換算字母等第
門檻必須由高到低循序評估(先 90,再 80,再 70)。因為一旦前面的條件成立,後續分支就不會再執行。
如何在 Excel 中寫 IF 函數
- 先寫條件(logical_test) — 想清楚要判斷什麼:例如 A2>=90 的及格線、B2="Done" 的狀態比對。條件的計算結果必須是 TRUE 或 FALSE。
- 寫兩個回傳值 — value_if_true 是條件成立時的結果,value_if_false 是不成立時的結果;文字要加英文雙引號。
- 多分支用巢狀 IF 或 IFS — 一個 IF 只能二選一;多個門檻把下一個 IF 寫進 value_if_false 逐級巢狀,新版 Excel 也可直接用 IFS 函數。
IF + AND / OR:一個 IF 判斷多個條件
IF 的條件位本身只能放一個邏輯測試;把 AND 或 OR 套在條件位,就能一次檢查多個儲存格、多個門檻:
AND:所有條件都為 TRUE 才算成立——例如兩科成績都 ≥60 才顯示 Pass。
OR:任意一個條件為 TRUE 即成立——例如任一科 ≥90 就通過。
IF 判斷文字包含與空白儲存格
IF 沒有直接的「包含」參數,經典寫法是用 SEARCH 找位置,再用 ISNUMBER 轉成 TRUE/FALSE 交給 IF:
SEARCH 在 A2 中搜尋 "urgent"(不區分大小寫,找到回傳位置數字,找不到報錯);ISNUMBER 把結果轉成 TRUE/FALSE。需要區分大小寫時把 SEARCH 換成 FIND。
判斷不為空:<>"" 表示「不等於空」。反向判斷空白儲存格可用 ISBLANK(A2)。
巢狀 IF 與現代 IFS 的差異
巢狀 IF
相容性最佳,適用於所有舊版工作簿與面試考題。從最高門檻由上而下閱讀,先符合者優先勝出。
IFS 函數
現代 Excel 與 Google Sheets 多條件寫法更簡潔:=IFS(A2>=90,"A", A2>=80,"B", A2>=70,"C", TRUE,"D"),可避免括號層層嵌套。
常見錯誤與注意事項
- 門檻順序 — 判斷順序極為關鍵:若先寫 A2>=70 回傳 C,則 95 分也會直接判定為 C,務必由高門檻排到低門檻。
- 文字引號 — 文字結果必須加英文半形雙引號:"A",若寫裸 A 會被 Excel 視為無效變數或欄位名而噴 #NAME? 錯誤。
- 空白儲存格 — 空白儲存格判斷:在 Excel 中空白儲存格與數值 0 比對可能產生非預期結果,必要時搭配 ISBLANK 檢查。
相關實戰練習推薦
在真實業務情境的微型試算表中,嘗試更多函數組合與邏輯挑戰,加深肌肉記憶。
常見問題
IF 公式語法是什麼?
使用 =IF(logical_test, value_if_true, value_if_false)。例如 =IF(A2>=60, "Pass", "Fail"):A2 不低於 60 回傳 Pass,否則回傳 Fail。
Excel 裡怎麼寫 IF 函數?
先寫條件,再寫兩個結果:=IF(A2>=90, "A", "B")。超過兩個結果時,把下一個 IF 巢狀寫進 value_if_false;新版 Excel 與 Google Sheets 也可直接用 IFS 函數。
IF 怎麼搭配 AND、OR 判斷多個條件?
把 AND/OR 嵌進條件位:=IF(AND(A2>=60, B2>=60), "Pass", "Fail") 要求兩個條件都成立;換成 OR 則任一成立即可。
IF 如何判斷儲存格包含某段文字?
用 ISNUMBER 包住 SEARCH:=IF(ISNUMBER(SEARCH("urgent", A2)), "Priority", "Normal")。SEARCH 不區分大小寫,需要區分時改用 FIND。
IF 如何判斷儲存格不為空?
與空文字比較:=IF(A2<>"", "已填寫", "未填寫")。直接判斷是否為空可用 =IF(ISBLANK(A2), "空白", "有值")。
IF、COUNTIF、SUMIF 有什麼差別?
IF 按條件二選一回傳值;COUNTIF 統計滿足條件的儲存格個數;SUMIF 加總滿足條件的數值。三者經常配合:COUNTIF/SUMIF 負責彙總,IF 負責逐列判斷。
何時用巢狀 IF、何時用 IFS?
巢狀 IF 相容性最好;現代 Excel / Sheets 若有多個分支,IFS 更清晰。
為什麼巢狀 IF 回傳錯誤等第?
順序很重要。請把最高門檻放在最前面,讓先成立的條件優先成立。