Chapter 6. 函式 (一):邏輯與運算 › 6.4 條件判斷
6.4 條件判斷
本節將介紹條件判斷相關的函式,包括 IF / IFS / SWITCH,都是「如果 … 就 ...,不然就 ...」,但使用時機與用法不同,分別如下:
- IF:適用於只有一個條件需要判斷時
語法 | IF (邏輯運算式, TRUE的值, FALSE的值) |
輸入 |
|
輸出 | TRUE的值 或 FALSE的值。 |
- IFS:適用於有多個條件需要判斷時
語法 | IFS (條件_1, 值_1, [條件_2, 值_2,…]) |
輸入 |
|
輸出 | 值_1、值_2 等,若所有 條件 都是 FALSE 將輸出 #N/A!。 |
- SWITCH:適用於判斷某個範圍是否為某個值時
語法 | SWITCH (運算式, 事例_1, 值_1, [事例_2, 值_2,…], [預設值]) |
輸入 |
|
輸出 | 值_1、值_2 或 預設值。 |
以下使用三個範例分別說明以上函式的用法,完成結果如下:

- 在 G2:G9 判斷是否學生為 Passed / Failed,判斷依據為「總平均 >= 60 分」
公式
G2 的公式為 =IF(F2>=60,"Passed","Failed")。
解說
- 只有單一條件,因此可直接使用 IF 完成。
- 輸入 G2 的公式後只要將公式往下拖曳至 G3:G9 即可。
- 在 H2:H9 輸出等第 A / B / C / F,分界依序為總平均 80 / 70 / 60 分,例如 80 分以上為 A、70 分以上但未滿 80 分為 B,以此類推
公式
H2 的公式為 =IFS(F2>=80,"A",F2>=70,"B",F2>=60,"C",F2<60,"F")。
解說
- 有多個條件適合使用 IFS / SWITCH,但在此要比較數字大小故不適用 SWITCH,所以使用 IFS。
- 在輸入條件時彼此之間不用獨立,只要確保最優先的條件最先被列出來即可,所以不用列 =IFS(F3>=80,"A",AND(F3>=70,F3<80),"B",...),因為若 F3>=80 就會直接輸出 "A",不會接著判斷後面的條件。在此最優先的條件為 F3>=80,以此類推。
- 最後要列 =IFS(...,F3<60,"F") 是為了考慮所有情況而不會有 #N/A!。
- 輸入 H2 的公式後只要將公式往下拖曳至 H3:H9 即可。
了解上述內容後,可以嘗試使用 =IFS(F3<80,"F",...) 替換上述公式,確保自己是否理解。
- 在 I2:I9 將 H2:H9 的等第轉換為文字敘述,A 為「優秀」、B 為「不錯」、 C / F 為「待加強」
公式
I2 的公式為 =SWITCH(H2:H9,"A","優秀","B","不錯","待加強")。
解說
- 有多個條件且不需要比較數字大小,可直接使用 SWITCH,因此運算是可直接使用 H2:H9,就不用在 I3:I9 輸入一樣的公式。
- 在此將預設值設為 "待加強",當然也可以依序判斷 C、F。
了解上述函式用法後,接下來再介紹 IFNA / IFERROR 兩個函式,用來使錯誤值不要直接輸出錯誤,而是輸出指定內容,說明如下:
語法 | |
輸入 |
|
輸出 |
|
下圖沿用了第 6.2 節的範例,說明 IFNA / IFERROR 遇到各種類型錯誤的輸出。
