Skip to main content

Excel IF 函數

Author: Xiaoyang Last Modified: 2025-08-06

IF 函數是 Excel 工作簿中最簡單且最有用的函數之一。它執行一個簡單的邏輯測試,根據比較結果返回一個值:如果結果為 TRUE,則返回一個值;如果結果為 FALSE,則返回另一個值。


 語法:

Excel 中 IF 函數的語法為:

=IF (logical_test, [value_if_true], [value_if_false])

doc if function 2


 參數:

  • logical_test:必填。這是您要測試的條件。
  • value_if_true:可選。當 logical_test 結果為 TRUE 時,您希望返回的特定值。
  • value_if_false:可選。當 logical_test 結果為 FALSE 時,您希望返回的值。

注意

1. 如果省略 value_if_true

  • 如果在 IF 函數中省略了 value_if_true 參數,例如僅在 logical_test 後面加上逗號,則當條件滿足時會返回零。例如:=IF(C2>100,, "低")
  • 如果您希望在條件滿足時返回空白單元格而不是零,則應在第二個參數中輸入雙引號 "",如下所示:=IF(C2>100, "", "低")
doc if function 3 doc if function 4

2. 如果省略 value_if_false

  • 如果在 IF 函數中省略了 value_if_false 參數,則當指定條件未滿足時,它將返回 FALSE。例如:=IF(C2>100, "高")
  • 如果在 value_if_true 參數後面加上逗號,則當指定條件未滿足時,它將返回零。例如:=IF(C2>100, "高" ,)
  • 如果在第三個參數中輸入雙引號 "",則當條件未滿足時將返回空白單元格。例如:=IF(C2>100, "高" , "")
doc if function 5 doc if function 6 doc if function 7

 返回值:

測試特定條件,並返回您為 TRUE 或 FALSE 提供的相應值。


 範例:

範例 1:對數字使用簡單的 IF 函數

例如,假設您要測試一組數值,如果該數值大於特定值 100,則顯示文字“好”;否則返回文字“差”。

請輸入以下公式,然後您將獲得所需的結果。

=IF(B2>100,"好","差")

doc if function 8


範例 2:對文字值使用 IF 函數

情況 1:不區分大小寫的文字值 IF 函數:

這裡,我有一張包含任務列表和完成狀態的表格,現在我想知道哪些任務需要繼續進行,哪些不需要。當 C 列中的文字為“已完成”時,將顯示“No”,否則將返回“Yes”。

請應用以下公式,當 C 列中的文字顯示為“已完成”時(無論是大寫還是小寫),單元格將返回“No”;如果 C 列中有其他文字,則返回“Yes”。請參見截圖:

=IF(C2="已完成", "否", "是")

doc if function 9

情況 2:區分大小寫的文字值 IF 函數:

要測試區分大小寫的文字值,您應該將 IF 函數與 EXACT 函數結合使用,請應用以下公式,然後只有完全匹配的文字才會被識別,並且您將獲得所需結果:

=IF(EXACT(C2,"COMPLETED"), "否", "是")

doc if function 10

情況 3:部分匹配的文字值 IF 函數:

有時候,您需要根據部分文字檢查單元格值,在這種情況下,您應該將 IF、ISNUMBER 和 SEARCH 函數一起使用。

例如,如果您想檢查包含文字“comp”的單元格,然後返回相應的值,請應用以下公式。您將獲得如下截圖所示的結果:

=IF(ISNUMBER(SEARCH("comp",C2)), "否", "是")

doc if function 11

注意:

  • 1. SEARCH 函數適用於不區分大小寫的文字,如果您想檢查區分大小寫的文字,則應將 SEARCH 函數替換為 FIND 函數。如下所示:=IF(ISNUMBER(FIND("comp",C2)), "否", "是")
  • 2. 在 IF 公式中作為參數的文字值,必須用“雙引號”括起來。

範例 3:對日期值使用 IF 函數

情況 1:用於將日期與特定日期進行比較的 IF 函數:

如果您想比較日期以檢查它們是否大於或小於特定日期,IF 函數也可以幫助您。由於 IF 函數無法識別日期格式,因此您應該將其與 DATEVALUE 函數結合使用。

請應用此公式,當日期大於 2019 年 4 月 15 日時,將返回“是”,否則公式將返回“否”文字,請參見截圖:

=IF(D4>DATEVALUE("4/15/2019"), "是", "否")

doc if function 12

注意:在上述公式中,您也可以直接使用單元格引用而無需使用 DATEVALUE 函數。如下所示:=IF(D4>$D$1, "是", "否")

doc if function 13

情況 2:用於檢查日期是否大於或小於 30 天的 IF 函數:

如果您想識別距離當前日期大於或小於 30 天的日期,您可以將 TODAY 函數與 IF 函數結合使用。

請輸入此公式:

識別超過 30 天的日期:=IF(TODAY()-C4>30,"舊日期","")

識別大於 30 天的日期:=IF(C4-TODAY()>30, "未來日期", "")

doc if function 14 doc if function 15

注意:如果您想將兩個結果放在同一列中,則需要使用嵌套 IF 函數,如下所示:

=IF(C4-TODAY()>30, "未來日期", IF(TODAY()-C4>30, "舊日期", ""))

doc if function 16


範例 4:將 IF 函數與 AND、OR 函數一起使用

在我們日常使用中,經常會將 IF、AND、OR 函數結合在一起使用於 Excel 中。

情況 1:將 IF 函數與 AND 函數結合使用以檢查所有條件是否為真:

我想檢查我設定的所有條件是否都滿足,例如:B4 是紅色,C4 是小,D4>200。如果所有條件都為 TRUE,則標記結果為“是”;如果任一條件為 FALSE,則返回“否”。

請應用此公式,然後您將獲得如下截圖所示的結果:

=IF(AND(B4="紅色",C4="小", D4>200),"是","否")

doc if function 17

情況 2:將 IF 函數與 OR 函數結合使用以檢查任一條件是否為真:

您還可以使用 IF 和 OR 函數來檢查任一條件是否為真,例如,我想識別 B 列中的單元格是否包含“藍色”或“紅色”文字,如果 B 列中有任何文字,則顯示“是”,否則返回“否”。

在此,您應該應用此公式,然後將顯示以下結果:

=IF(OR(B4="紅色",B4="藍色"),"是","否")

doc if function 18

情況 3:將 IF 函數與 AND 和 OR 函數一起使用:

在此範例中,我將同時將 IF 函數與 AND 和 OR 函數結合使用。假設,您需要檢查以下條件:

  • 條件 1:B 列 = “紅色” 且 D 列 > 300;
  • 條件 2:B 列 = “藍色” 且 D 列 > 300。

如果上述任一條件滿足,則返回“匹配”,否則返回“否”。

請使用此公式,然後您將獲得所需結果,如下所示:

=IF(AND(OR(B4="紅色",B4= "藍色"), D4>300), "匹配", "否")

doc if function 19


範例 5:使用嵌套 IF 函數

IF 函數用於測試條件並在條件滿足時返回一個值,條件不滿足時返回另一個值。但是,有時候您需要同時檢查多個條件並返回不同的值,這時可以使用嵌套 IF 來解決這個問題。

嵌套 IF 語句結合了多個 IF 條件,這意味著將一個 IF 語句放入另一個 IF 語句中,並多次重複該過程。

Excel 中嵌套 IF 函數的語法為:

=IF (condition1, result1, IF (condition2, result2, IF (condition3, result3,…)))

注意:在 Excel 2007 及更高版本中,您可以在一個公式中嵌套最多 64 個 IF 函數,而在 Excel 2003 及更早版本中,只能使用 7 個嵌套 IF 函數。

情況 1:用於檢查多個條件的嵌套 IF 函數:

嵌套 IF 函數的一個經典用途是根據學生的分數分配字母等級。例如,您有一個包含學生及其考試成績的表格,現在您想根據以下條件對成績進行分類:

doc if function 20

請應用此公式,然後您將獲得以下結果:如果分數大於或等於 90,則等級為“優秀”;如果分數大於或等於 80,則等級為“良好”;如果分數大於或等於 60,則等級為“中等”;否則,等級為“差”。

=IF(C2>=90, "優秀", IF(C2>=80, "良好", IF(C2>=60, "中等", "差")))

doc if function 21

上述公式的解釋:

doc if function 22
  • IF(檢查 C2>=90,如果為真 - 返回“優秀”,否則
  • IF(檢查 C2>=80,如果為真 - 返回“良好”,否則
  • IF(檢查 C2>=60,如果為真 - 返回“中等”,如果為假 - 返回“差”)))

情況 2:基於數量計算價格的嵌套 IF 函數:

嵌套 IF 函數還可以用於根據數量計算產品價格。

例如,您想根據數量為客戶提供價格優惠,購買的數量越多,他們獲得的折扣就越大,如下截圖所示。

doc if function 23

由於總價等於數量乘以價格,因此您應該將指定的數量乘以嵌套 IF 返回的值。請使用此公式:

=D2*IF(D2>=101,16, IF(D2>=50, 21, IF(D2>=25, 26, IF( D2>=11, 30, IF(D2>=1, 39, "")))))

doc if function 24

注意:您也可以使用單元格引用來替換靜態價格數字,當源數據更改時,您不需要更新公式,請使用此公式:=D2*IF(D2>=101, B6, IF(D2>=50, B5, IF(D2>=25, B4, IF( D2>=11, B3, IF(D2>=1, B2, "")))))

doc if function 25

提示:使用 IF 函數構建測試時,您可以使用以下邏輯運算符:

運算符 含義 範例 描述
> 大於 =IF(A1>10, "OK",) 如果 A1 單元格中的數字大於 10,則公式返回“OK”;否則返回 0。
< 小於 =IF(A1<10, "OK", "") 如果 A1 單元格中的數字小於 10,則公式返回“OK”;否則返回空白單元格。
>= 大於或等於 =IF(A1>=10, "OK", "差") 如果 A1 單元格中的數字大於或等於 10,則返回“OK”;否則顯示“差”。
<= 小於或等於 =IF(A1<=10, "OK", "否") 如果 A1 單元格中的數字小於或等於 10,則返回“OK”;否則返回“否”。
= 等於 =IF(A1=10, "OK", "否") 如果 A1 單元格中的數字等於 10,則返回“OK”;否則顯示“否”。
<> 不等於 =IF(A1<>10, "否", "OK") 如果 A1 單元格中的數字不等於 10,則公式返回“否”;否則返回“OK”。

最佳的辦公生產力工具

Kutools for Excel - 幫助您脫穎而出

🤖 KUTOOLS AI 助手:基於以下方式徹底改變數據分析:智能執行   |  生成代碼  |  創建自訂公式  |  分析數據並生成圖表  |  調用 KUTOOLS 函數
熱門功能查找、標記或標識重複值  |  刪除空行  |  合併列或單元格而不丟失數據  |  無需公式四捨五入 ...
超級 VLookup多條件  |  多值  |  跨多工作表  |  模糊查找...
高級下拉列表簡易下拉列表  |  依賴下拉列表  |  多選下拉列表...
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  比較列以選擇相同和不同的單元格 ...
特色功能網格聚焦  |  設計檢視  |  增強編輯欄  |  工作簿與工作表管理器 | 資源庫 (自動文字)  |  日期提取器  |  合併資料  |  加密/解密單元格  |  按清單發送電子郵件  |  超級篩選  |  特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 15 個工具集12 個文本工具添加文本刪除特定字符 ...)  |  50+ 種圖表 類型甘特圖 ...)  |  40+ 實用 公式基於生日計算年齡 ...)  |  19 個插入工具插入QR碼從路徑插入圖片 ...)  |  12 個轉換工具金額轉大寫匯率轉換 ...)  |  7 個合併與分割工具高級合併行拆分Excel單元格 ...)  |  ... 及更多
使用您偏好的語言來操作 Kutools——支持英語、西班牙語、德語、法語、中文等 40 多種語言!

Kutools for Excel 擁有超過 300 項功能,確保您需要的功能只需一鍵即可觸及...


Office Tab - 在 Microsoft Office(包括 Excel)中啟用多標籤閱讀和編輯

  • 一秒鐘內在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標點擊,告別滑鼠手。
  • 在查看和編輯多個文檔時,提升您的效率達 50%。
  • 為 Office(包括 Excel)帶來高效的標籤功能,就像 Chrome、Edge 和 Firefox 一樣。