KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

Excel IF 函數

作者Xiaoyang修改日期

IF 函數是 Excel 工作表中最簡單又實用的函數之一,能執行基本的邏輯測試,並根據比較結果傳回對應的值:條件為 TRUE 時傳回一個值,為 FALSE 時則傳回另一個值。


 語法:

Excel 中 IF 函數的語法如下:

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

doc if 函數 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,, "Low ")
  • 若希望條件成立時傳回空白儲存格而非零,請在第二個參數中輸入雙引號 ““,範例如下:=IF(C2>100, "", "Low")
doc if 函數 3doc if 函數 4

2. 若省略 value_if_false

  • 若在 IF 函數中省略 value_if_false 參數,則當指定條件未達成時,將傳回 FALSE。例如:=IF(C2>100, "High")
  • 若在 value_if_true 參數後加上逗號,則當指定條件未達成時會傳回 0. 例如:=IF(C2>100, "High" ,)
  • 若在第三個參數中輸入雙引號 ““,條件未達成時將傳回空白儲存格。例如:=IF(C2>100, "High" , "").
doc if 函數 5doc if 函數 6doc if 函數 7

 傳回值:

測試特定條件,並根據結果為 TRUE 或 FALSE 傳回您指定的對應值。


 範例:

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

例如,假設您想測試一組數值:若數值大於 100,則顯示「Good」;否則顯示「Bad」。

輸入下列公式,即可立即獲得您所需的結果。

=IF(B2>100,"Good","Bad")

doc if 函數 8


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

案例 1:對文字值使用不區分大小寫的 IF 函數:

假設我有一張包含任務清單與完成狀態的表格,想快速掌握哪些任務仍需處理、哪些已無須跟進:當 C 欄的文字為「completed」時,顯示「No」;否則顯示「Yes」。

請套用下列公式:只要 C 欄的文字顯示為「completed」(不區分大小寫),儲存格就會傳回「No」;若 C 欄為其他文字,則傳回「Yes」。請參見截圖:

=IF(C2="completed", "No", "Yes")

doc if 函數 9

案例 2:對文字值使用區分大小寫的 IF 函數:

若要對文字值進行區分大小寫的比對,請將 IF 函數與 EXACT 函數搭配使用。套用下列公式後,只有完全相符(包括大小寫)的文字才會被識別,並得出您期望的結果:

=IF(EXACT(C2,"COMPLETED"), "No", "Yes")

doc if 函數 10

案例 3:對文字值進行部分比對的 IF 函數:

有時您需要根據部分文字來檢查儲存格內容,此時可搭配使用 IF、ISNUMBER 與 SEARCH 函數。

例如,若要檢查包含文字「comp」的儲存格並傳回對應值,請套用下列公式,即可獲得如下方截圖所示的結果:

=IF(ISNUMBER(SEARCH("comp",C2)), "No", "Yes")

doc if 函數 11

注意事項:

  • 1。SEARCH 函數適用於不區分大小寫的文字比對;若您希望進行區分大小寫的文字檢查,請將 SEARCH 函數替換為 FIND 函數,如下所示:=IF(ISNUMBER(FIND("comp",C2)), "No", "Yes")
  • 2。IF 公式中的文字值參數必須用「雙引號」括起來。

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

案例 1:使用 IF 函數比較日期與特定日期:

若您想比較日期是否大於或小於特定日期,IF 函數也能幫您輕鬆達成!由於 IF 函數無法直接辨識日期格式,建議搭配 DATEVALUE 函數使用,讓判斷更精準流暢。

請套用此公式:當日期大於 2019 年 4 月 15 日時,傳回「Yes」;否則傳回「No」。請參見截圖:

=IF(D4>DATEVALUE("4/15/2019"), "Yes", "No")

doc if 函數 12

注意:在上述公式中,您也可以直接使用儲存格參照,無需搭配 DATEVALUE 函數,如下所示:=IF(D4>$D$1, "Yes", "No")

doc if 函數 13

案例 2:使用 IF 函數檢查日期是否距離目前日期超過或不足 30 天:

若要識別距離今天超過或不足 30 天的日期,可將 TODAY 函數與 IF 函數搭配使用。

請輸入此公式:

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

識別大於 30 天的日期:=IF(C 4-TODAY()>30, "Future date", "")

doc if 函數 14doc if 函數 15

注意:若您希望將兩種結果合併至同一欄,需使用巢狀 IF 函數,如下所示:

=IF(C 4-TODAY()>30, "Future date", IF(TODAY()-C4>30, "Older date", ""))

doc if 函數 16


範例 4:將 IF 函數與 AND、OR 函數搭配使用

在 Excel 中,我們經常將 IF、AND 和 OR 函數搭配使用。

案例 1:使用 IF 函數搭配 AND 函數,檢查所有條件是否皆為 TRUE:

我想確認所有設定的條件是否都滿足,例如:B4 為 Red、C4 為 Small,且 D4 > 200. 若全部條件皆為 TRUE,則標記結果為「Yes」;只要任一條件為 FALSE,即傳回「No」。

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

=IF(AND(B4="Red",C4="Small", D4>200),"Yes","No")

doc if 函數 17

案例 2:結合 IF 函數與 OR 函數,檢查任一條件是否為真:

您也可以運用 IF 與 OR 函數,輕鬆判斷任一條件是否成立。例如,若想檢查 B 欄儲存格是否包含「Blue」或「Red」文字,只要其中任一字串出現,就顯示「Yes」;否則則傳回「No」。

在此,您應套用此公式,下方結果將隨之顯示:

=IF(OR(B4="Red",B4="Blue"),"Yes","No")

doc if 函數 18

案例 3:同時結合 IF 函數與 AND 及 OR 函數:

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

  • Condition 1: Column B = “Red” and Column D > 300;
  • Condition 2: Column B = “Blue” and Column D > 300.

只要符合上述任一條件,即傳回「Match」;否則,傳回「No」。

請使用此公式,您將獲得所需的下方結果:

=IF(AND(OR(B4="Red",B4= "Blue"), D4>300), "Match", "No")

doc if 函數 19


範例 5:使用巢狀 IF 函數

IF 函數可用來測試條件,並在條件成立時傳回一個值,不成立時則傳回另一個值。但當您需要同時檢查多個條件並依結果傳回不同值時,便可運用巢狀 IF 來達成此目的。

巢狀 IF 陳述式將多個 IF 條件層層結合,也就是把一個 IF 陳述式嵌入另一個 IF 陳述式之中,並可重複此做法多次。

Excel 中巢狀 IF 函數的語法如下:

=IF ()condition 1, result 1, IF ()condition 2, result 2, IF ()condition 3, result 3,…)))

注意:在 Excel 2007 及更新版本中,單一公式最多可巢狀使用 64 個 IF 函數;而在 Excel 2003 及更早版本中,僅支援 7 層巢狀 IF 函數。

案例 1:使用巢狀 IF 函數檢查多個條件:

巢狀 IF 函數的經典應用,就是根據學生分數給予對應的字母等級。例如,您有一張包含學生姓名與考試分數的表格,現在希望依照以下條件為分數進行分級:

doc if 函數 20

套用此公式,您將獲得以下結果:若分數大於或等於 90,等級為「Excellent」;若分數大於或等於 80,等級為「Good」;若分數大於或等於 60,等級為「Medium」;否則等級為「Poor」。

=IF(C2>=90, "Excellent", IF(C2>=80, "Good", IF(C2>=60, "Medium", "Poor")))

doc if 函數 21

上述公式的說明:

doc if 函數 22
  • IF(check if C2>=90, if true - returns "Excellent", or else)
  • IF(check if C2>=80, if true - returns "Good", or else)
  • IF(check if C2>=60, if true - returns "Medium", if false - returns "Poor")))

案例 2:使用巢狀 IF 函數依數量計算價格:

巢狀 IF 函數還能根據購買數量靈活計算產品價格。

例如,您可依據客戶的購買數量提供價格優惠——購入越多,折扣越大,如下方截圖所示。

doc if 函數 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 函數 24

注意:您也可以使用儲存格參照取代固定價格數值,當來源數據變更時,無需手動更新公式!請使用此公式:=D2*IF(D2>=101, B6, IF(D2>=50, B5, IF(D2>=25, B4, IF(D2>=11, B3, IF(D2>=1, B2, "")))))

doc if 函數 25

提示:使用 IF 函數建構測試條件時,可使用下列邏輯運算子:

運算子意義範例說明
>大於=IF(A1>10, "OK",)若儲存格 A1 中的數值大於 10,公式將傳回「OK」;否則傳回 0.
<小於=IF(A1<10, "OK", "")若儲存格 A1 中的數值小於 10,公式將傳回「OK」;否則傳回空白儲存格。
>=大於等於=IF(A1>=10, "OK", "Bad")若儲存格 A1 中的數字大於或等於 10,則傳回「OK」;否則顯示「Bad」。
<=小於等於=IF(A1<=10, "OK", "No")若儲存格 A1 中的數值小於或等於 10,則傳回「OK」;否則傳回「No」。
=等於=IF(A1=10, "OK", "No")若儲存格 A1 中的數字等於 10,則傳回「OK」;否則顯示「No」。
<>不等於=IF(A1<>10, "No", "OK")若儲存格 A1 中的數字不等於 10,公式會傳回「No」;否則傳回「OK」。

最佳 Office 生產力工具

Kutools for Excel-助您脫穎而出

🤖KUTOOLS AI 助手:根據以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值    刪除空白行    合併列或儲存格而不遺失資料    不使用公式的四捨五入……
超級 VLookup多重條件    多重值    跨多個工作表    模糊查找……
進階下拉列表簡易下拉式清單    相依性下拉式清單    多重選擇下拉式清單……
欄位管理員新增指定數量的欄位    移動欄位   切換隱藏欄位的可見狀態  比較欄位以選擇相同/不同單元格……
精選功能網格聚焦    設計視圖    增強編輯欄    工作簿與工作表管理員資源庫(自動文字)  日期提取    合併工作表    加密/解密儲存格   依清單寄送電子郵件    超級篩選    特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符……)  50+ 圖表 類型甘特圖……)  40+ 實用公式基於生日計算年齡……)  19 插入工具插入二維碼從路徑插入圖片……)  12 轉換工具金額轉大寫匯率轉換……)  7 合併和拆分工具高級合併行拆分 Excel 儲存格……)……還有更多
在您的慣用語言中使用 Kutools-支援英文、西班牙文、德文、法文、中文及 40+ 種其他語言!

Kutools for Excel 擁有超過 300 項功能,確保您所需的功能觸手可及……


Office Tab-在 Microsoft Office(包含 Excel)中啟用分頁式閱讀與編輯功能

  • 一秒內在數十份開啟的文件間快速切換!
  • 每天為您減少數百次滑鼠點擊,遠離滑鼠手困擾。
  • 當您同時檢視與編輯多份文件時,生產力提升 50%。
  • 為 Office(包含 Excel)帶來如 Chrome、Edge 與 Firefox 般的高效能分頁體驗。