在 Excel 中,IF 函數可讓您透過測試條件並在該條件為 True 或 False 時傳回結果,在值與預期值之間進行邏輯比較。
- =IF(項目為 True,則執行某項目,反之則執行其他項目)
但是,如果您需要測試多個條件,假設所有條件都需要是 True 或 False (AND) ,或者只有一個條件需要是 True 或 False (或) ,或者如果您想檢查條件是否 不符合您的 條件,該怎麼辦? 這 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 (或 () ) 以及 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 (或 (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 (“藍色”) 等於「紅色」,或 B5 (“綠色”) 等於「綠色」,則傳回 TRUE,否則傳回 FALSE。 在此案例中,第二個引數為 True,因此該公式會傳回 TRUE。 |
| =IF (不 (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 (或 (A4 B2,A4><B2+60) ,TRUE,FALSE) | 如果 A4 大於 B2,或 A4 小於 B2 + 60,則傳回 TRUE,否則傳回 FALSE。 在此案例中,第一個引數為 True,但第二個為 False。 因為 OR 只需要其中一個引數為 True,所以公式會傳回 TRUE。 如果您是從 [公式] 索引標籤使用評估公式精靈,您會看到 Excel 如何計算公式。 |
| =IF (不 (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 技術社群 中的專家,或在 社群中取得支援。