指定した条件が 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 |
列 2 |
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 |