使用 IF 搭配 AND、OR 及 NOT 函數

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

IF 函數可讓您測試條件並將條件為 True 或 False 的結果傳回,藉以在值與預期值之間進行邏輯比較。

  • =IF(項目為 True,則執行某項目,反之則執行其他項目)

但如果您需要測試多個條件,可以假設所有條件都必須為 True 或 False (AND),或只有一個條件必須為 True 或 False (OR),還是您想要檢查條件是否不 (NOT) 符合準則嗎?上述 3 個函數全部可以單獨使用,但更常與 IF 函數搭配使用。

使用 IF 函數搭配 AND、OR 及 NOT 來執行多項評估,查看各項條件為 True 或 False。

語法

  • IF(AND()) - IF(AND(logical1, [logical2], ...), value_if_true, [value_if_false]))

  • IF(OR()) - IF(OR(logical1, [logical2], ...), value_if_true, [value_if_false]))

  • IF(NOT()) - IF(NOT(logical1), value_if_true, [value_if_false]))

引數名稱

描述

logical_test (必填)

您想要測試的條件。

value_if_true (必填)

您想要在 logical_test 結果為 TRUE 時傳回的值。

value_if_false (可省略)

您想要在 logical_test 結果為 FALSE 時傳回的值。

以下是如何個別建構 ANDORNOT 函數的概觀。分別與 IF 陳述式合併使用時,讀起來會像這樣︰

  • AND – =IF(AND(項目為 True,其他項目為 True),若為 True 時的值,若為 False 時的值)

  • OR – =IF(OR(項目為 True,其他項目為 True),若為 True 時的值,若為 False 時的值)

  • NOT – =IF(NOT(項目為 True),若為 True 時的值,若為 False 時的值)

範例

以下是一些常見的巢狀 IF(AND())、IF(OR()) 及 IF(NOT()) 陳述式。AND 和 OR 函數最多可支援 255 個不同條件,但不建議使用太多個,因為複雜的巢狀公式難以建置、測試及維護。NOT 函數只接受一個條件。

使用 IF 搭配 AND、OR 及 NOT 以評估數值和文字的範例

以下是根據其邏輯詳細說明的公式︰

公式

描述

=IF(AND(A2>0,B2<100),TRUE, FALSE)

如果 A2 (25) 大於 0,且 B2 (75) 小於 100,則傳回 TRUE,否則傳回 FALSE。在此案例中,兩個條件皆為 True,因此會傳回 TRUE。

=IF(AND(A3="Red",B3="Green"),TRUE,FALSE)

如果 A3 (“Blue”) = “Red”,且 B3 (“Green”) 等於 “Green”,則傳回 TRUE,否則傳回 FALSE。在此案例中,只有第一個條件為 True,因此會傳回 FALSE。

=IF(OR(A4>0,B4<50),TRUE, FALSE)

如果 A4 (25) 大於 0,或 B4 (75) 小於 50,則傳回 TRUE,否則傳回 FALSE。在此案例中,只有第一個條件為 TRUE,但因為 OR 只需要一個引數為 True,所以公式會傳回 TRUE。

=IF(OR(A5="Red",B5="Green"),TRUE,FALSE)

如果 A5 (“Blue”) 等於 “Red”,或 B5 (“Green”) 等於 “Green”,則傳回 TRUE,否則傳回 FALSE。在此案例中,第二個引數為 True,因此該公式會傳回 TRUE。

=IF(NOT(A6>50),TRUE,FALSE)

如果 A6 (25) 不大於 50,則傳回 TRUE,否則傳回 FALSE。在此案例中,25 並不大於 50,因此公式會傳回 TRUE。

=IF(NOT(A7="Red"),TRUE,FALSE)

如果 A7 (“Blue”) 不等於 “Red”,則傳回 TRUE,否則傳回 FALSE。

請注意,所有範例在輸入其個別條件之後,都要有右括號。剩下的 True/False 引數則放在其左側,當成外部 IF 陳述式。您也可以使用文字或數值,取代在範例中所要傳回的 TRUE/FALSE 值。

以下是一些使用 AND、OR 及 NOT 以評估日期的範例

使用 IF 搭配 AND、OR 及 NOT 以評估日期的範例

以下是根據其邏輯詳細說明的公式︰

公式

描述

=IF(A2>B2,TRUE,FALSE)

如果 A2 大於 B2,則傳回 TRUE,否則傳回 FALSE。在此案例中,14/03/12 大於 14/01/01,因此公式會傳回 TRUE。

=IF(AND(A3>B2,A3<C2),TRUE,FALSE)

如果 A3 大於 B2,且 A3 小於 C2,則傳回 TRUE,否則傳回 FALSE。在此案例中,兩個引數皆為 True,因此該公式會傳回 TRUE。

=IF(OR(A4>B2,A4<B2+60),TRUE,FALSE)

如果 A4 大於 B2,或 A4 小於 B2 + 60,則傳回 TRUE,否則傳回 FALSE。在此案例中,第一個引數為 True,但第二個為 False。因為 OR 只需要其中一個引數為 True,所以公式會傳回 TRUE。如果您是從 [公式] 索引標籤使用評估公式精靈,您會看到 Excel 如何計算公式。

=IF(NOT(A5>B2),TRUE,FALSE)

如果 A5 不大於 B2,則傳回 TRUE,否則傳回 FALSE。在此案例中,A5 大於 B2,因此該公式會傳回 FALSE。

評估公式精靈範例

使用 AND、OR 及 NOT 搭配設定格式化的條件

您也可以使用 AND、OR 及 NOT,搭配公式選項來設定格式化的條件準則。這麼做時可以省略 IF 函數,並單獨使用 AND、OR 及 NOT。

在 [常用] 索引標籤中,按一下 [設定格式化的條件] > [新增規則]。接下來,請選取 [使用公式決定要格式化哪些儲存格] 選項,輸入公式,然後套用所選的格式。

設定格式化的條件 > [編輯規則] 對話方塊,其顯示公式方法

使用先前的「日期」範例,公式會如下所示。

使用 AND、OR 及 NOT 當成設定格式化的條件測試的範例


公式

描述

=A2>B2

如果 A2 大於 B2,則設定儲存格的格式,否則不做任何動作。

=AND(A3>B2,A3<C2)

如果 A3 大於 B2 且 A3 小於 C2,則設定儲存格的格式,否則不做任何動作。

=OR(A4>B2,A4<B2+60)

如果 A4 大於 B2 或 A4 小於 B2 加 60 (天),則設定儲存格的格式,否則不做任何動作。

=NOT(A5>B2)

如果 A5 不大於 B2,則設定儲存格的格式,否則不做任何動作。在此案例中,A5 大於 B2,因此結果將會傳回 FALSE。如果您將公式變更為 =NOT(B2>A5),則會傳回 TRUE,並設定該儲存格的格式。

附註: 常見的錯誤是不加上等號 (=),就將公式輸入設定格式化的條件。如果您這樣做,將看到 [設定格式化的條件] 對話方塊會對該公式加上等號並以引號括住 - ="OR(A4>B2,A4<B2+60)",因此您必須將括住的引號移除後,公式才會正常地回應。

頁面頂端

需要更多協助嗎?

您可以隨時詢問 Excel 技術社群中的專家、在 Answers 社群取得支援,或是在 Excel User Voice 上建議新功能或增強功能。

附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

請參閱

請參閱如何使用 IF 函數上的視訊

瞭解如何使用公式中的巢狀的函數

IF 函數

AND 函數

OR 函數

NOT 函數

在 Excel 中的公式概觀

如何避免中斷的公式

使用錯誤檢查來偵測公式中的錯誤

在 Windows 版 Excel 的鍵盤快速鍵

在 Mac 版 Excel 的鍵盤快速鍵

邏輯函數 (參照)

Excel 函數 (依英文字母)

Excel 函數 (依類別)

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×