使用 IF 搭配 AND、OR 及 NOT 函數 - Microsoft 支援服務
使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

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 技術社群中的專家,或在社群中取得支援。

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

IF 函數

AND 函數

OR 函數

NOT 函數

Excel 公式概觀

如何避免公式出錯

偵測公式中的錯誤

Excel 的鍵盤快速鍵

邏輯函數 (參照)

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

Excel 函數 (依類別排序)

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×