ExcelのIF関数の使い方完全ガイド|単一条件からネストIF(複数条件)まで徹底解説
Excelで数式を作成する際に頻繁に活用される関数のひとつがIF関数です。IF関数は論理条件をテストし、その結果がTRUE(真)かFALSE(偽)かに応じて、2つの異なる結果を返すことができる非常に便利な関数です。
ここでは、以下の携帯電話販売データの表を例に、IF関数の基本的な使い方から応用までを段階的に解説していきます。
単一条件でのIF関数の使い方
まずは基本となるシンプルな例から見ていきましょう。販売場所(D列)に応じて、各行の手数料(コミッション)を計算するケースを考えます。ルールは以下の通りです。
- 販売場所がUSA(アメリカ)の場合:手数料は売上の10%
- それ以外の場所の場合:手数料は売上の5%
この場合、セルF2に入力する数式は以下のようになります。
=IF(D2="USA", E2*10%, E2*5%)
この数式の構造を分解してみましょう。
- =IF( – 「=」はセル内で数式が始まることを示し、「IF」は使用するExcel関数の名前です。
- D2="USA" – 実行する論理テストです。ここでは「D2セルのデータが『USA』であるかどうか」を判定しています。
- E2*10% – 論理テストの結果がTRUE(D2が「USA」)だった場合に返される値です。
- E2*5% – 論理テストの結果がFALSE(D2が「USA」以外)だった場合に返される値です。
- ) – 数式の終わりを示す閉じ括弧です。
数式を入力したら、セルF2の内容をF列の残りの行にコピーしましょう。そうすることで、各行ごとに論理テストが実行され、結果がTRUEなら10%、FALSEなら5%の手数料が自動的に計算されます。
複数条件でのIF関数の使い方(ネストIF)
次に、ルールがもう少し複雑なケースを考えます。複数の論理条件をテストし、それぞれの条件に応じて異なる結果を返したい場合はどうすればよいのでしょうか?
実は、Excelでは複数のIF関数を同じセルの中で組み合わせることができます。これを「ネストIF(Nested IF)」と呼びます。
例として、販売場所ごとに手数料率が異なる以下のようなシナリオを見てみましょう。
- USA:10%
- オーストラリア(Australia):5%
- シンガポール(Singapore):2%
この場合、セルF2(後ほど同じF列の他の行にもコピーします)には、次のように数式を入力します。
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))
このネストされた数式の構造を詳しく見ていきます。
- =IF( – IFステートメントによる数式の始まりです。
- D2="USA" – 最初の論理テストです。「D2セルのデータが『USA』であるかどうか」を判定します。
- E2*10% – 最初の論理テストがTRUE(D2が「USA」)だった場合に返される値です。
- IF(D2="Australia",E2*5%,E2*2%) – 最初の論理テストがFALSE(D2が「USA」以外)だった場合に評価される、2つ目のIFステートメントです。これは前述の「単一条件でのIF関数」と同じ構文になっており、D2が「Australia」であればE2*5%が返され、そうでなければE2*2%が返されます。
- ) – 最初のIF関数の終わりを示す閉じ括弧です。
重要なポイントとして、Excelは数式を左から右へ順番に評価します。そのため、途中で論理テストが満たされると(例:D2="USA")、その時点で関数は処理を停止して結果を返し、それ以降の論理テスト(例:D2="Australia")は無視されます。
つまり、最初の論理テストがFALSE(販売場所がUSAではない)だった場合は、2つ目の論理テストの評価に進みます。さらに2つ目もFALSE(オーストラリアでもない)だった場合、D2に入り得る値はシンガポールしか残されていないため、それ以上テストを行う必要はなく、E2*2%の結果が返される仕組みです。
ただし、数式の意図をより明確にしたい場合は、3つ目の論理テスト IF(D2="Singapore","TRUEの場合の値","FALSEの場合の値") を明示的に追加しても問題ありません。その場合の完全な数式は以下の通りです。
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,IF(D2="Singapore",E2*2%)))
先ほど説明したように、この拡張版の数式は、簡略化した次の数式とまったく同じ結果を返します。
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))
覚えておきたい便利なヒント
- 括弧の数に注意: IF関数1つにつき、開き括弧と閉じ括弧が1組ずつ必要です。上記の例のようにIF関数が3つある場合は、閉じ括弧「)))」も3つ必要になります。それぞれの閉じ括弧が、対応する開き括弧「IF(」の終わりを示しています。
- FALSE時の戻り値を省略した場合: 論理テストがFALSEだった場合の結果(第2の戻り値)を指定しないと、Excelの既定値である文字列「FALSE」が返されます。たとえば、=IF(D2="USA",E2*10%)という数式は、D2が「USA」でない場合に「FALSE」という文字を表示します。
- 条件が多いときはネストを活用: 異なる論理テストとそれぞれ異なる結果が複数ある場合は、上記の例のようにIF関数を何度も組み合わせて(ネストして)使うことで、柔軟に対応できます。
-
Excelのデータの入力規則でIFステートメントを使う方法(6選)
Excelのデータの入力規則の数式でIFステートメントを活用する最も簡単な方法をお探しの方は、ぜひこの記事をご覧ください。データの入力規則は、ドロップダウンリストの作成や、指定したデータだけをセルに入力できるようにしたい場合に非常に便利な機能です。それでは、データの入力規則におけるIFステートメントの具体的な活用方法を順番に見ていきましょう。6つの方法:Excelのデータの入力規則でIFステートメントを使うここでは、ある企業の商品とその担当営業担当者の名前のデータを使用します。このデータセットをもとに、Excelのデータの入力規則の数式でIFステートメントを使う方法を解説していきます。本記事で
-
Excelで特定の値を超えないようにする数式の使い方6選
このチュートリアルでは、Excelの数式を使って「特定の値を超えないようにする」方法を解説します。大量のデータを扱う際、データが一定の範囲を超えないように上限を設定する必要が生じることがよくあります。企業や教育機関では、優秀度の測定基準や利益率の上限などにこのような閾値を設定することが一般的です。本記事では、データの入力規則(Data Validation)、MAX関数、MIN関数、RANDBETWEEN関数、IF関数など、さまざまな数式・機能を使って「超えてはならない値」を設定する方法を紹介します。 練習用ワークブックはこちらからダウンロードできます。 Excelで特定の値を超えないようにす