IF 関数

IF 関数は Excel で頻繁に使用される関数の 1 つであり、ある値と期待値を論理的に比較できます。最も簡単な形態の IF 関数は次のようになります。

  • IF(何かが真であれば何かを行い、それ以外であれば別の何かを行います)

そのため、IF ステートメントには 2 つの結果があります。1 つ目の結果は比較が True の場合であり、2 つ目の結果は比較が False の場合です。

複数の IF ステートメントの使用方法に進みたい場合は、高度な IF 関数 – 入れ子になった式を使用した問題の回避に関するページを参照してください。

論理関数の 1 つである IF 関数を使うと、条件が true または false の場合に、それぞれ別の値を返すことができます。

構文

IF(logical_test, value_if_true, [value_if_false])

次に例を示します。

  • =IF(A2>B2,"予算超過","OK")

  • =IF(A2=B2,B4-A4,"")

引数名

説明

logical_test    (必須)

テストする条件

value_if_true    (必須)

logical_test の結果が TRUE の場合に返す値

value_if_false    (オプション)

logical_test の結果が FALSE の場合に返す値

単純な IF の例

セル D2 には式 =IF(C2="Yes",1,2) が含まれています
  • =IF(C2=”Yes”,1,2)

上の例では、セル D2 の意味は次のようになります。IF(C2 = Yes の場合は 1 を返し、それ以外であれば 2 を返します)

セル D2 には式 =IF(C2=1,"YES","NO") が含まれています
  • =IF(C2=1,”Yes”,”No”)

この例では、セル D2 の式は次を意味します。IF(C2 = 1 の場合は Yes を返し、それ以外の場合は No を返します)

このように、IF 関数はテキストと値の両方の評価に使用できます。また、エラーの評価にも使用できます。あるものと別のものが等しいかどうかを確認し、1 つの結果を返すだけではなく、数学演算子を使用して、条件に基づいて追加の計算を実行することもできます。複数の比較を実行するために、複数の IF 関数を入れ子にすることもできます。

注: 式にテキストを使用する場合、テキストを引用符で囲む必要があります (例: “テキスト”)。唯一の例外は、TRUE または FALSE を使用する場合です。Excel はこれらのテキストが関数であることを自動的に認識します。

利用方法

IF ステートメントの記述を開始する最適な方法は、何を達成しようとしているかを考えることです。どのような比較を実行しようとしていますか。多くの場合、IF ステートメントは頭の中で論理的に考えれば簡単に記述することができます。“この条件が満たされた場合はどうなるか” と “満たされなかった場合はどうなるか” を考えます。常に手順が論理的に進むようにする必要があります。そうしなければ、式は、考えたとおりのことを実行しません。これは特に、複雑な (入れ子になった) IF ステートメントを作成するときに重要です。

IF 関数の他の例

セル D2 の式は =IF(C2>B2,”Over Budget”,”Within Budget”) です
  • =IF(C2>B2,”Over Budget”,”Within Budget”)

上の例では、D2 の IF 関数は IF(C2 が B2 より大きい場合は “Over Budget” を返し、それ以外の場合は “Within Budget” を返す) という意味になります。

セル E2 の式は =IF(C2>B2,C2-B2,"") です
  • =IF(C2>B2,C2-B2,0)

上の図では、テキストの結果を返す代わりに、数学的な計算を返します。E2 の式は、IF(実際の値が予算より大きい場合は実際の金額から予算の金額を差し引き、それ以外の場合は何も返さない) という意味になります。

セル F7 の式は IF(E7=”Yes”,F5*0.0825,0) です
  • =IF(E7=”Yes”,F5*0.0825,0)

この例では、F7 の式は、IF(E7 = “Yes” の場合は F5 * 8.25% で合計金額を計算し、それ以外の場合は売上税を支払う必要がなく、0 を返す) という意味になります。

ベスト プラクティス - 定数

最後の例では、“Yes” と売上税率 (0.0825) の両方が式に直接入力されています。リテラル定数 (場合によって変更が必要になる可能性がある値) を式に直接入力することは、一般的に適切な習慣とは言えません。見つけにくいので、将来変更するときに面倒になるからです。定数は定数のセルに入れることをお勧めします。そうすれば、簡単に見つけることができ、変更も容易です。この例の場合、IF 関数が 1 つだけであり、売上税率が変更されることはほとんどないので、このままで問題ありません。売上税率が変更されたとしても、式で簡単に変更できます。

演算子

数式で使用できる演算子 (< 次の値より小さい、> 次の値より大きい、= 次の値と等しい、<> 次の値と等しくない、など) の詳細については、「演算子と Excel での優先順位」を参照してください。

IF を使用してセルが空白かどうかを確認する

一般的には、何も入力されなければ式に結果を表示させないようにするために、セルが空白であるかどうかを確認することが必要になる場合があります。

セル E2 の式は =IF(D2=1,"Yes",IF(D2=2,"No","Maybe")) です

この場合、IF 関数と ISBLANK 関数を組み合わせて使用します。

  • =IF(ISBLANK(D2),"Blank","Not Blank")

これは、IF(D2 が空白の場合は "Blank" を返し、それ以外の場合は "Not Blank" を返す) という意味になります。"Not Blank" 条件の場合も同様に、独自の式を簡単に使用できます。次の例では、ISBLANK の代わりに "" を使用します。"" は、本質的に「何もない」ことを意味します。

セルが空白かどうかのチェック - セル E2 の式は =IF(ISBLANK(D2),"Blank","Not Blank") です
  • =IF(D3="","Blank","Not Blank")

この式は、IF(D3 に何もない場合は "Blank" を返し、それ以外の場合は "Not Blank") という意味になります。"" を使用して、参照先セルが空白の場合、式の計算が実行されないようにするための非常に一般的な方法の例を次に示します。

  • =IF(D3="","",YourFormula())

    これは、IF(D3 に何もない場合は何も返さず、それ以外の場合は式の計算を実行する) という意味になります。

入れ子になった IF の例

単純な IF 関数の結果が 2 つだけの場合 (True または False)、入れ子構造の IF 関数には 3 から 64 個の結果が与えられます。

空白のセルのチェックに "" を使用 - セル E3 の式は =IF(D3="","Blank","Not Blank") です
  • =IF(D2=1,”YES”,IF(D2=2,”No”,”Maybe”))

上の図では、E2 の数式は次のような意味になります。IF(D2 が 1 と等しいときに “Yes” を返し、それ以外の場合は IF(D2 が 2 と等しいときに “No” を返し、等しくない場合は “Maybe” を返す))。数式の末尾に閉じかっこが 2 つある点に注意してください。2 つの IF 関数を完了するために両方の閉じかっこが必要です。2 つの閉じかっこなしで数式を入力しようとすると、自動的に修正が試行されます。

注意点

Excel では、最大 64 個の IF 関数を入れ子にすることができますが、そのような構造は推奨されません。それはなぜでしょうか。

  • 複数の IF ステートメントを正しく構築し、ロジックが各条件を経由し、最後まで正しく計算されるようにするには、膨大な思考が必要になります。IF ステートメントの入れ子構造を 100% 正確に構築しなければ、式が機能する確率は 75% になり、25% の確率で予想外の結果が返されます。残念ながら、予想外の結果が返される確率は 25% 以上になります。

  • 複数の IF ステートメントは、保守管理が非常に面倒です。自分で作成した式でも面倒なのに、他人が作成した式ならなおさらです。

  • 複数の IF ステートメントを指定するには、始まりのかっこと閉じかっこ () が複数必要です。数式の複雑度に応じて管理が難しくなる可能性があります。

一般的な問題

問題

原因

セルの内容が 0 (ゼロ) になる

引数の value_if_truevalue_if_False のどちらにも値が指定されていません。値が返されるようにするには、引数文字列を 2 つの引数に追加するか、TRUE または FALSE を引数に追加します。

セルに #NAME? と表示される

これは通常、式にスペルミスがあることを表しています。

補足説明

Excel Tech Community では、いつでも専門家に質問できます。Microsoft コミュニティでは、サポートを受けられます。また、Excel User Voice では、新機能についての提案や改善案を送信することができます。

関連項目

ビデオ: 高度な IF 関数

IFS 関数 (Office 365、Excel 2016 以降)

高度な IF 関数 – 入れ子になった式を使用して問題を回避する

トレーニング ビデオ: 高度な IF 関数

COUNTIF 関数は、1 つの条件に基づいて値をカウントします

COUNTIFS 関数は、複数の条件に基づいて値をカウントします

SUMIF 関数は、1 つの条件に基づいて値を合算します

SUMIFS 関数は、複数の条件に基づいて値を合算します

AND 関数

OR 関数

VLOOKUP 関数

Excel の数式の概要

壊れた数式のエラーを回避する方法

よくある数式のエラーをエラー チェックで修正する

論理関数

Excel 関数 (アルファベット順)

Excel 関数 (機能別)

IF 論理テスト (無料のプレビュー)

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×