在 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 時傳回的值。 |
|
以下是如何個別建構 AND、OR 及 NOT 函數的概觀。 分別與 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(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(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 的 [ 常用] 索引標籤上,單擊 [ 設定格式化的條件 > 新規則]。 接下來,請選取 [使用公式決定要格式化哪些儲存格] 選項,輸入公式,然後套用所選的格式。
使用先前的「日期」範例,公式會如下所示。
公式 |
描述 |
---|---|
=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 技術社群中的專家,或在社群中取得支援。