Applies ToExcel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the web Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2016 Excel Web App Excel for Windows Phone 10

在 Excel 中,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 時的值)

範例

以下是 Excel 中一些常見巢狀 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。

評估公式精靈範例

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

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

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

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

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

使用 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 函數 (依類別排序)

Need more help?

Want more options?

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

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