如果您指定的條件結果為 TRUE,會傳回一個值,並在結果為 FALSE 時傳回另一個值。 使用 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 時傳回的值。 例如,如果這個引數是文字字串 “Within budget”,而 logical_test 引數評估為 TRUE,則 IF 函數會顯示文字 “Within budget”。 如果 logical_test 為 TRUE,且 value_if_true 為空白,則此引數會傳回 0 (零) 。 若要顯示 TRUE 一字,請為此引數使用邏輯值 TRUE。 Value_if_true可以是另一個公式。
Value_if_false 是若logical_test為 FALSE 時傳回的值。 例如,如果此引數是文字字串 “Over budget”,而 logical_test 引數評估為 FALSE,則 IF 函數會顯示文字 “Over budget”。 如果 logical_test 為 FALSE 且省略 value_if_false, (也就是說,value_if_true 之後沒有逗號) ,則會傳回邏輯值 FALSE。 如果 logical_test 為 FALSE 且 value_if_false 為空白 (也就是說,value_if_true之後有一個逗號,後面接著右括弧) ,則會傳回值 0 (零) 。 Value_if_false可以是另一個公式。
註解
- 最多可以將七個 IF 函式巢狀做為value_if_true和value_if_false引數,以建構更複雜的測試。 請參閱下列範例的最後一個。
- 評估 value_if_true 和 value_if_false 引數時,IF 會傳回那些陳述式所傳回的值。
- 如果 IF 的任何引數是陣列,則在執行 IF 陳述式時會評估陣列的每個元素。
範例集合 1
| C ol1 | Col2 | Col3 | 費用 | 公式 | 描述 (結果) |
|---|---|---|---|---|---|
| 50 | =IF ([費用]<=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”) | 檢查第二列是否超出預算 ([確定) |
範例集 3
| 分數 | 公式 | 描述 (結果) |
|---|---|---|
| 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 ([Score]>89) 為 TRUE,則會傳回 “A”。 如果第一個logical_test為 FALSE,則會評估第二個 IF 陳述式,依此類推。
假設僅使用整數) 使用整數,使用以下關鍵 (將字母等級指派給數字。
| 如果分數為 | 然後返回 |
|---|---|
| 大於 89 | A |
| 從 80 到 89 | B |
| 從 70 到 79 | C |
| 從 60 到 69 | D |
| 小於 60 | F |