在 Excel 中,IF 函數允許你透過測試條件並回傳該條件為真或假,邏輯上比較值與預期值。
- =IF(項目為 True,則執行某項目,反之則執行其他項目)
但如果你需要測試多個條件,比如所有條件都必須是真或假, (且) ,或者只有一個條件需要為真或假, (或) ,或者你想檢查某個條件 是否不 符合你的條件呢? 這三個功能都可以單獨使用,但更常見的是它們會搭配 IF 函數一起使用。
技術詳細資料
使用 IF 函數搭配 AND、OR 和 NOT,對條件為真或假進行多次評估。
語法
- 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 時的值)
範例
以下是一些常見巢狀的 IF (AND () ) 、IF (OR () ) 以及 IF (NOT 在 Excel 中 () ) 語句的例子。 AND和OR函式最多可支援255種個別條件,但使用超過幾個條件並不理想,因為複雜的巢狀公式會變得非常難以建立、測試和維護。 NOT 函數只接受一個條件。
以下是根據其邏輯所闡述的公式:
| 公式 | 描述 |
|---|---|
| =若 (且 (A2>0,B2<100) ,真,假) | 如果 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。 |
| =若 (或 (A4>0,B4<50) ,真,假) | 如果 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。 |
| =如果 ( (A6>50) ,真,假) | 如果 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 以評估日期的範例
以下是根據其邏輯所闡述的公式:
| 公式 | 描述 |
|---|---|
| =若 (A2>B2,真,假) | 如果 A2 大於 B2,則傳回 TRUE,否則傳回 FALSE。 在此案例中,14/03/12 大於 14/01/01,因此公式會傳回 TRUE。 |
| =若 (且 (A3>B2,A3<C2) ,真,假) | 如果 A3 大於 B2,且 A3 小於 C2,則傳回 TRUE,否則傳回 FALSE。 在此案例中,兩個引數皆為 True,因此該公式會傳回 TRUE。 |
| =若 (或 (A4>B2,A4<B2+60) ,真,假) | 如果 A4 大於 B2,或 A4 小於 B2 + 60,則傳回 TRUE,否則傳回 FALSE。 在此案例中,第一個引數為 True,但第二個為 False。 因為 OR 只需要其中一個引數為 True,所以公式會傳回 TRUE。 如果您是從 [公式] 索引標籤使用評估公式精靈,您會看到 Excel 如何計算公式。 |
| =如果 ( (A5>B2) ,真,假) | 如果 A5 不大於 B2,則傳回 TRUE,否則傳回 FALSE。 在此案例中,A5 大於 B2,因此該公式會傳回 FALSE。 |
在 Excel 中使用 AND、OR 和 NOT 搭配條件格式
在 Excel 中,你也可以用 AND、OR 和 NOT 來設定條件格式標準,並搭配公式選項。 這麼做時可以省略 IF 函數,並單獨使用 AND、OR 及 NOT。
在 Excel 中,從 主頁 頁籤點選「 條件格式 > 新規則」。 接著,選擇「使用公式決定格式化哪些儲存格」選項,輸入你的公式並套用你想要的格式。
。以先前的日期範例,公式會是這樣。
| 公式 | 描述 |
|---|---|
| =A2>B2 | 如果 A2 大於 B2,則設定儲存格的格式,否則不做任何動作。 |
| = (A3>B2,A3<C2) | 如果 A3 大於 B2 且 A3 小於 C2,則設定儲存格的格式,否則不做任何動作。 |
| =或 (A4>B2,A4<B2+60) | 如果 A4 大於 B2 或 A4 小於 B2 加 60 (天),則設定儲存格的格式,否則不做任何動作。 |
| =非 (A5>B2) | 如果 A5 不大於 B2,則設定儲存格的格式,否則不做任何動作。 在此案例中,A5 大於 B2,因此結果將會傳回 FALSE。 如果你把公式改成 =NOT (B2>A5) 它會回傳 TRUE,儲存格也會被格式化。 |
注意
常見的錯誤是不加上等號 (=),就將公式輸入設定格式化的條件。 如果你這麼做,你會看到條件格式對話框會在公式中加上等號和引號 - =“OR (A4>B2,A4<B2+60) ”,所以你需要先移除引號,公式才會正確回應。
需要更多協助嗎?
你隨時可以向 Excel 技術社群 的專家詢問,或在 社群中獲得支援。