指定した条件が TRUE に評価された場合は 1 つの値を返し、FALSE に評価される場合は別の値を返します。 IF を使用して、値と数式に対して条件付きテストを実行します。
構文
IF(logical_test,value_if_true,value_if_false)
Logical_test は、TRUE または FALSE に評価できる任意の値または式です。 たとえば、[Quarter1]=100 は論理式です。列の 1 行の値 [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別の数式を指定できます。
解説
- 最大 7 つの IF 関数をvalue_if_trueとして入れ子にし、引数をvalue_if_falseして、より詳細なテストを構築できます。 次の例の最後を参照してください。
- value_if_true引数とvalue_if_false引数が評価されると、IF はそれらのステートメントによって返される値を返します。
- IF の引数のいずれかが配列の場合、IF ステートメントが実行されると、配列のすべての要素が評価されます。
セット 1 の例
| C ol1 | Col2 | Col3 | 費用 | 数式 | 説明 (計算結果) |
|---|---|---|---|---|---|
| 50 | =IF([Expense]<=100,"予算内","予算超過") | 数値が 100 以下の場合、数式に "予算内" と表示されます。 それ以外の場合、関数は "予算超過" と表示されます。 (予算内) | |||
| 23 | 45 | 89 | 50 | =IF([Expense]=100,SUM([Col1],[Col2],[Col3]),") | 数値が 100 の場合、3 つの値が追加されます。 100 以外の場合は、空白文字列 ("") が返されます。 () |
セット 2 の例
| ActualExpenses | PredictedExpenses | 数式 | 説明 (計算結果) |
|---|---|---|---|
| 1500 | 900 | =IF([ActualExpenses]>[PredictedExpenses],"Over Budget","OK") | 最初の行が予算超過かどうかを確認します (予算超過) |
| 500 | 900 | =IF([ActualExpenses]>[PredictedExpenses],"Over Budget","OK") | 2 行目が予算超過かどうかを確認します (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"))) | 2 番目のスコアに文字の成績を割り当てます (A) |
| 78 | =IF([Score]>89,"A",IF([Score]>79,"B", IF([Score]>69,"C",IF([Score]>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 |