使用 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 上建議新功能或增強功能。

另請參閱

瞭解如何在公式中使用嵌套函數

IF 函數

AND 函數

OR 函數

NOT 函數

Excel 中的公式概觀

如何避免公式出錯

偵測公式中的錯誤

Excel 的鍵盤快速鍵

邏輯函數 (參照)

Excel 函數 (依英文字母順序排列)

Excel 函數 (依類別)

附註:  本頁面是經由自動翻譯而成,因此文中可能有文法錯誤或不準確之處。 讓這些內容對您有所幫助是我們的目的。 告訴我們這項資訊是否有幫助? 這裡是供您參考的英文文章

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

這項資訊有幫助嗎?

感謝您的意見反應!

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

×