如果您指定之條件的計算結果為 TRUE,會傳回某一個值,若計算結果為 FALSE,則會傳回另一個值。 IF 函數可用以測試數值和公式的條件。
語法
IF(logical_test,value_if_true,value_if_false)
Logical_test 是用來計算 TRUE 或 FALSE 的任何值或運算式。例如,[Quarter1]=100 是邏輯運算式;如果在該欄之一列 ([Quarter1]) 中的值等於 100,則運算式計算的結果為 TRUE。否則運算式計算的結果會是 FALSE。這個引數可以使用任何比較計算運算子。
Value_if_true 是指如果 logical_test 為 TRUE,則會傳回該值。例如,如果此引數為文字字串 "在預算內",並且 logical_test 引數計算結果為 TRUE,則 IF 函數會顯示出文字 "在預算內"。如果 logical_test 為 TRUE,且 value_if_true 值為空的,則此引數會傳回 0 (零)。若要顯示出 TRUE 這個字,請對此引數使用邏輯值 TRUE。Value_if_true 可以用在其他公式。
Value_if_false 是指如果 logical_test 為 FALSE,則會傳回該值。例如,如果此引數為文字字串 "超出預算",並且 logical_test 引數計算結果為 FALSE,則 IF 函數會顯示出文字 "超出預算"。如果 logical_test 為 FALSE,並且忽略 value_if_false (也就是在 value_if_true 之後,沒有逗點),則會傳回邏輯值 FALSE。如果 logical_test 為 FALSE,並且 value_if_false 值為空的 (也就是說在 value_if_true 之後,逗點後跟隨著右括弧),則會傳回 0 (零)。Value_if_false 可以用在其他公式。
備註
- 為配合 value_if_true 與 value_if_false 引數,以處理更為精巧的條件測試,則可使用多達七層的 IF 函數。請參閱下列最後一個範例。
- 計算 value_if_true 引數或 value_if_false 引數時,IF 函數會傳回這些陳述式的運算結果。
- 如果 IF 函數中有任何一個引數是陣列,則當執行 IF 陳述式時,會計算陣列的每一個元素。
範例集 1
Col1 | Col2 | Col3 | Expense | 公式 |
說明 (結果) |
| | | 50 | =IF([Expense]<=100,"在預算內","超出預算") |
如果數字小於或等於 100,公式就會顯示出 "在預算內"。否則,函數會顯示出 "超出預算"。(在預算內) |
23 | 45 | 89 | 50 | =IF([Expense]=100,SUM([Col1],[Col2],[Col3]),"") |
如果數字等於 100,則三個值會相加。否則,函數會傳回空白文字 ("")。() |
範例集 2
ActualExpenses | PredictedExpenses | 公式 |
說明 (結果) |
1500 | 900 | =IF([ActualExpenses]>[PredictedExpenses],"超出預算","OK") |
檢查第一列是否超出預算 (超出預算) |
500 | 900 | =IF([ActualExpenses]>[PredictedExpenses],"超出預算","OK") |
檢查第二列是否超出預算 (OK) |
範例集 3
Score | 公式 |
說明 (結果) |
45 | =IF([Score]>89,"A",IF([Score]>79,"B", IF([Score]>69,"C",IF([Score]>59,"D","F")))) |
指定第一個成績的字母等級 (F) |
90 | =IF([Score]>89,"A",IF([Score]>79,"B", IF([Score]>69,"C",IF([Score]>59,"D","F")))) |
指定第二個成績的字母等級 (A) |
78 | =IF([Score]>89,"A",IF([Score]>79,"B", IF([Score]>69,"C",IF([Score]>59,"D","F")))) |
指定第三個成績的字母等級 (C) |
在上述範例中,第二個 IF 陳述式也就是第一個 IF 陳述式的 value_if_false 引數。同樣地,第三個 IF 陳述式是第二個 IF 陳述式的 value_if_false 引數。舉例來說,當第一個 logical_test ([成績]>89) 為 TRUE 時,將傳回 "A"。如果第一個 logical_test 為 FALSE,則公式會開始計算第二個 IF 陳述式,依此類推。
字母等級是使用下列關鍵字指定給數字的 (假定只用整數)。
若成績為 |
則傳回 |
大於 89 |
A |
從 80 到 89 |
B |
從 70 到 79 |
C |
從 60 到 69 |
D |
小於 60 |
F |