IF関数のネストの使い方:複数の条件を評価し結果に応じた処理をする:Excel関数

IF関数のネストの使い方:複数の条件を評価し結果に応じた処理をする:Excel関数

IF関数は、条件を評価し2通りの結果に対応した処理をしますが、IF関数の引数にIF関数を指定することで、複数通りの結果に応じた処理へ振り分けることができます。

IF関数のなかにIF関数を指定することを「ネスト」といいますが、ここではIF関数のネストの使い方を紹介します。

同様の処理はIFS関数でも実現できますが、IFS関数はExcel365や2019を持っていなければ使えませんので、これ以外のバージョン利用者の方はIF関数をネストして使用するしかありません。

IF関数をネストして処理を振り分ける

対応バージョン:Excel365 2019 2016 2013 2010

IF関数のネストのイメージは以下の通りです。

IF関数のネストのイメージ

〔条件1〕を評価し条件に合っていれば〔条件1一致の処理」を実行します。〔条件1〕に合っていなければIF関数で〔条件2〕を評価し、条件に合っていれば〔条件2一致の処理〕を行い、いずれの条件にも合っていなければ〔条件2に不一致の処理〕を実行する流れです。

IF関数をネストするときの書式は以下のようになります。

=IF(論理式,真の場合,IF(論理式,真の場合, 偽の場合))
※括弧内に指定する「論理式,真の場合,IF(論理式,真の場合, 偽の場合」を”引数”といいます。
※論理式には真偽(TRUE-真かFALSE-偽)判定する計算式を指定。

引数の説明

  • 引数〔論理式〕:条件式を指定。
  • 引数〔真の場合〕:条件式を満たしたときに行う処理を指定。
  • 引数〔偽の場合〕:条件式を満たさなかったときに行う処理を指定。

〔論理式〕を評価し真(条件に合う)であれば〔真の場合〕を実行し、偽であればネストされているIF関数の評価へと続き、以降論理式が記述されているだけ真偽を判定していきます。

論理式を評価した結果、条件が満たされれば(真の場合)以下に続く論理式の評価は行われませんので、論理式を記述する順番にも注意する必要があります。

IF関数をネストし複数の条件を評価する

以下のサンプルは、商品ごとの在庫を確認するための資料です。

今回やりたいことは、在庫数量が最低在庫数量の20以下になった場合に「発注欄」に”要発注”と表示する。また、在庫数量は20以上であっても、販売数量が在庫数量を上回っている場合も”要発注”と表示します。

IF関数のネストの使い方

上記サンプルのG5セルには以下の関数式を入力しています。

=IF(C5<=20,"要発注",IF(C5<=F5,"要発注",""))

引数の解説

  • 〔論理式〕:在庫数量が20以下かを判断するので「C5<=20」と指定
  • 〔真の場合〕:在庫数量が20以下なら”要発注”を表示する
  • 〔偽の場合-論理式〕:在庫数量は20を超えているが、販売数量以上の在庫数量があるか判断するので「C5<=F5」と指定
  • 〔真の場合〕:販売数量以上の在庫数量がなければ”要発注”を表示する
  • 〔偽の場合〕:十分な在庫があるので空白(””)を表示

今回のサンプルでは、最初の論理式を評価し「偽」の場合はIF関数をネストし次の論理式を評価していましたが、「真」の場合でもIF関数をネストすることはできます。

今回のサンプルと同じ結果になるように、真の場合にIF関数をネストすると

=IF(C5>=20,IF(C5<=F5,"要発注",""),"要発注")

と書き換えることができます。

IF関数のネスト(真の場合のネスト)

IF関数をネストするのは「偽」の場合だけと限っていませんので、使いやすいほうで記述してかまいません。

なお、同様の処理はIFS関数でも実現できます。Excel365や2019を持っている場合はIFS関数の方が便利です。

条件によって処理を振り分ける関数「関連記事」

Scroll Up