エクセルでは関数IFを使って複数分岐させたいこともあるかもしれません。仕分ける際に使えるIFですが、3つの条件・4つの条件などの場合にどう式を書けばよいのかも知っておきたいですよね。今回は、エクセルなどでIF関数を複数条件(3つ・4つ以上など)で使う際の文字列(数式)、および同時に知っておくと便利なIFS関数を複数条件(4つ以上)で使う方法をご紹介します。
◎IF関数を使って複数条件を分けたい、文字列はどうすれば良い?
IF関数で分ける複数条件が2つであれば、数式は『=IF(条件,当てはまる場合に表示する内容,当てはまらない場合に表示する内容)』とすれば分けられます。問題は、エクセルなどで関数IFを使って分けたい複数条件が3つ以上の時です。IFは真(満たす場合)と偽(満たさない場合)にしか分けられません。そこで、3つの条件の場合には、数式は『=IF(条件1,条件1に当てはまる場合に表示する内容,IF(条件2,条件2に当てはまる場合に表示する内容,当てはまらない場合に表示する内容)』と入力します。
数式だけでは分かり辛いかもしれませんので、フローチャートを使って条件分岐が3つ以上の時のイメージを考えてみましょう。
●フローチャートで考える、条件分岐が3つ以上になるときの処理のイメージ
たとえば、カラオケで点数が取りやすそうな曲が何かを調べるために、IFでA(82.5以上)・B(80以上)・C(それ以外)の3つの条件に分ける場合を考えてみます。どうすればうまく3グループに分けられるでしょうか。
全ての曲のうち、まず82.5点以上かどうかで振り分けると、AとBCの2グループに分けられますよね。さらに、82.5点未満(ここではBorC)の曲のうち、点数が80点以上かどうかで振り分けるとBとCもグループ分けが可能です。そこで、エクセルではIFを複数使うことで分岐させます。入れ子になっているのは、1つ目の条件を満たさない場合に限って別の条件で調べているためです。
◎ExcelでIF関数を複数条件(3つ)で使うには?
まずは、ExcelでIF関数を複数条件(3つ)で使う方法をみていきましょう。数式は、『=IF(条件1,条件1に当てはまる場合に表示する内容,IF(条件2,条件2に当てはまる場合に表示する内容,当てはまらない場合に表示する内容)』です。今回の例では、『=IF(セル番地>=82.5,”A”,IF(セル番地>=80,”B”,”C”))』とします。こうすることで、調べたいセル番地の値が82.5以上の場合にはAを表記し、そうではない場合のうちセル番地の値が80以上の場合にはB・80未満の場合にはC、と3つに分けられました。不等号を使用するときには、数学のように≧ではなく、>と=を別々に入力しましょう。
◎エクセルでIF関数を複数条件(4つ以上)で使う場合
●IFで4つの条件を処理するにはどうする?
IFで4つの条件を処理するには、分岐を3回行う必要があるため、関数を3つ並べて使います。数式は、『=IF(一つ目の条件,満たす場合に表示する内容,IF(二つ目の条件,満たす場合に表示する内容,IF(三つ目の条件,満たす場合に表示する内容,いずれも満たさない場合に表示する内容)))』です。今回の例で、さらに77.5以上とそれ未満の曲で分ける場合には、『=IF(セル番地>=82.5,”A”,IF(セル番地>=80,”B”,IF(セル番地>=77.5,”C”,”D”)))』と入力します。IF関数を使った分だけ最後の『)』も必要ですから、『(』と別の数になっていないかを見ておきましょう。
●IF関数で複数条件(5つ)を分けるには?
処理する条件が2つ・3つ・4つと増えてきて、何となく法則性がわかってきたかもしれません。IF関数で複数条件(5つ)を分ける場合も同じような考え方ででき、今回はIF関数を4つ使います。具体的な数式は、『=IF(一つ目の条件,満たす場合に返す結果,IF(二つ目の条件,満たす場合に返す結果,IF(三つ目の条件,満たす場合の結果,IF(四つ目の条件,満たす場合の結果,満たさない場合に返す結果))))』です。
今回の例で、さらに75以上と75未満の曲で分ける場合には、『=IF(セル番地>=82.5,”A”,IF(セル番地>=80,”B”,IF(セル番地>=77.5,”C”,IF(セル番地>=75,”D”,”E”))))』と入力します。
●IF関数で複数条件(6つ以上)を分岐させるには?
IF関数で複数条件(6つ以上)を分岐させる場合も考え方は同じです。先ほどから1回増やして、4つ目までの条件にいずれも当てはまらないもののうち、5つ目の条件で当てはまるものとそうでないものをわけます。具体的な数式は、『=IF(一つ目の条件,満たす場合に返す結果,IF(二つ目の条件,満たす場合に返す結果,IF(三つ目の条件,満たす場合の結果,IF(四つ目の条件,満たす場合の結果,IF(五つ目の条件,満たす場合の結果,満たさない場合に返す結果)))))』です。
ただ、ここまで来ると、数式がかなり長くなって見づらく感じるかもしれません。原因はIF関数では1回の処理で2つにしかグループ分けができないからです。そこで、エクセルで関数IFを複数回使う場合にまとめて処理ができるIFS関数をご紹介します。
◎知っていると便利?IFS関数を複数条件(特に4つ以上)で使う方法
エクセルでIFを使って複数分岐させたいときに便利なのが、IFS関数(イフス関数)を使う方法です。IF関数の場合には条件を一つずつ順番にみていきますが、IFS関数は一気に枝分かれするため、複数条件(特に4つ以上)の場合には式の長さを短くできます。IFS関数を使った数式は、『=IFS(条件A,条件Aを満たすときに返す数値または文字列,条件B,条件Bを満たすときに返すもの,条件C,条件Cを満たすときに返すもの…』です。
イメージ
たとえば、先ほどIF関数を使って複数条件(5つ)を分岐させる場合には、IF式を4回使って分ける必要がありました。一方で、IFS関数を使う場合には、『=IFS(82.5以上,”A”,80以上,”B”,77.5以上,”C”,75以上,”D”,75未満,”E”)』と1回で分けられます。IF関数と違う点として、いずれも満たさない場合の条件式も必要であることは押さえておきましょう。例では、IF関数ではその他に該当する”E”を、IFS関数では「75未満」という条件で定義づけしている部分です。条件に当てはまらないものがあると、N/Aエラーが出ますので修正をを行いましょう。
なお、IFS(イフス)関数で押さえておきたい注意点に、Excel2016以降でしか使えないことがあります。エクセル2007・Excel2010・エクセル2013では元々対応されていないのです。ユーザー定義によって関数を指定すれば使えますが、導入に手間取りそうであれば同じ機能のIF関数を使うのをおすすめします。
◎まとめ
今回は、IF関数を複数条件の文字列で使う際の構文や同じ機能を持つIFS関数についてご紹介しました。エクセルで複数条件を指定する際には、IF関数をいくつも組み合わせることで分岐ができます。また、Excel2016には似たものとしてIFS関数がありますので、一緒に押さえておきましょう。最後までお読みいただきありがとうございました。
コメント