指定された条件を評価した結果が TRUE の場合はある値を返し、評価した結果が FALSE の場合は別の値を返します。 IF を使用して、値と数式の条件付きテストを実行します。
構文
IF(logical_test,value_if_true,value_if_false)
Logical_test は、TRUE または FALSE に評価できる任意の値または式です。 たとえば、[Quarter1]=100 は論理式です。列 [Quarter1] の 1 行の値が 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 の場合に返される値です。 たとえば、この引数がテキスト文字列 "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別の数式を指定できます。
解説
- 最大 7 つの 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([経費]=100,SUM([列1],[列2],[列3]),"") | 数値が 100 の場合は、3 つの値が加算されます。 100 以外の場合は、空白文字列 ("") が返されます。 () |
例セット 2
| ActualExpenses | PredictedExpenses | 数式 | 説明 (計算結果) |
|---|---|---|---|
| 1500 | 900 | =IF([ActualExpenses]>[PredictedExpenses],"Over Budget","OK") | 1 行目が予算超過(予算超過)かどうかを確認します。 |
| 500 | 900 | =IF([ActualExpenses]>[PredictedExpenses],"Over Budget","OK") | 2 行目が予算を超えているかどうかを確認します (OK) |
例セット 3
| スコア | 数式 | 説明 (計算結果) |
|---|---|---|
| 45 | =IF([スコア]>89,"A",IF([スコア]>79,"B", IF([スコア]>69,"C",IF([スコア]>59,"D","F"))))) | 1 つ目の得点 (F) に文字の成績を割り当てます |
| 90 | =IF([スコア]>89,"A",IF([スコア]>79,"B", IF([スコア]>69,"C",IF([スコア]>59,"D","F"))))) | 2 つ目の得点 (A) に文字の成績を割り当てます |
| 78 | =IF([スコア]>89,"A",IF([スコア]>79,"B", IF([スコア]>69,"C",IF([スコア]>59,"D","F"))))) | 3 番目のスコア (C) に文字のグレードを割り当てます |
前の例では、2 番目の IF ステートメントは、最初の IF ステートメントのvalue_if_false引数でもあります。 同様に、3 番目の IF ステートメントは、2 番目の IF ステートメントのvalue_if_false引数になります。 たとえば、最初のlogical_test ([Score]>89) が TRUE の場合は、"A" が返されます。 最初のlogical_testが FALSE の場合は、2 番目の IF ステートメントが評価されます。以下同様に処理されます。
文字の成績は、次のキーを使用して数字に割り当てられます (整数のみを使用することを前提としています)。
| スコアが | 次に戻ります |
|---|---|
| 89 より大きい | A |
| 80から89まで | B |
| 70から79まで | C |
| 60から69まで | D |
| 60 未満 | F |