今回は条件分岐の「IF」と「IFS」という関数について見ていきます。
「もし~に合致していたら、…の値、合致していなかったら--の値」を設定したいような場合に使える関数です。
会計データでも、ある基準値と比較して、それ以上だったら~、以下だったら…といった条件判定によって設定値を変えたい場面が結構ありますので、覚えておくと重宝する関数です。ぜひ押さえておきましょう。
◆条件分岐の関数(IF、IFS)
条件分岐をさせる関数「IF」と「IFS」について見ていきます。
「IF」と「IFS」の関係も前回見た「COUNTIF」と「COUNTIFS」の関係と似ています。
「IF」は基本的には1つの条件分岐に対応するもので、「IFS」の方は複数の条件分岐に対応できるものです。
ただし、「IF」を使って複数の条件分岐を作ることも可能です。というより複数の条件分岐で使うケースの方が多いです。
というのは、「IFS」は2016の途中のバージョンから使えるようになった、かなり最近の関数だからです。これまでは「IF」関数を駆使して、複数の条件分岐に対応するしかありませんでした。
そういう意味では、前回の「COUNTIFS」とは違い、まだ対応していないバージョンを使っている人も多くいるので、現時点では「IF」の使い方、特に複数の条件分岐をしたいときの「IF」の使い方を押さえておく方が大事かと思います。
それでは、さっそく例を使ってみていきましょう。
営業利益の値を判定してマーク付けするケースで考えてみます。
(実際に、金融機関のスコアリングシートの点数表をもとに、決算数値に点数付けするような場面で使えます)
たとえば、営業利益が「100,000以上なら◎」、「50,000以上なら〇」、「0以上なら△」、「マイナスなら×」というマークをつけたいとします。
(1)IFSが利用できる場合
まず先に複数条件を指定ができる「IFS」が利用できる場合(最近のバージョン以降のExcel)について見てみます。
こちらの方が使い方としては簡単なのですが、現時点では注意が必要です。
未対応のバージョンだと正しく機能しないため、当面は自分のみが使うExcelシートで利用するのが無難です。
使い方としては、
IFS(条件式1, 値1, 条件式2, 値2,・・・)のように順次、条件式と返す値とを指定していきます。
条件式1を判定し、これに該当する場合は値1を返し、該当しない場合は、次に条件式2を判定して、と順次、前から判定して合致したら、対応する値を返すようになっています。
営業利益が「100,000以上なら◎」、「50,000以上なら〇」、「0以上なら△」、「マイナスなら×」というマークをつける場合では、
という指定の仕方になります。
数式を横にコピーすれば、月別の営業利益を判定して、マーク付けすることが出来ます。
(2)IFSが利用できない場合
どちらかというと、こっちのパターンで使われることの方が現状では多いです。
複数条件を判定したいときは「IF」関数を入れ子構造にしていきます。
まず「IF」の基本的な使い方としては、
IF(条件式, 値1, 値2)のように指定し、[条件式]を判定して合致している場合は[値1]を、合致していなければ[値2]を返す、ようになっています。
したがって、複数の条件式を判定させたい場合は、
IF(式1, 値1, IF(式2, 値2・・・))
のように、合致しない場合に、さらにIFでの判定を入れていく、入れ子構造の形に組んでいきます。
具体的に、営業利益が「100,000以上なら◎」、「50,000以上なら〇」、「0以上なら△」、「マイナスなら×」というマークをつける場合では、
というように、「合致しなかったら」にさらにIF判定を繰り返していきます。
「IF」を使うときの注意点としては、判定する条件式が2つや3つのときは問題ないのですが、条件式が多くなってくると、IFの入れ子構造が煩雑になって、何を判定しているのかが、他の人はもちろんのこと、自分でもわかりづらくなる点です。
条件式があまりに多くなるときは「IFS」の利用可否も検討してみましょう。
今回は条件分岐して返してくる値をコントロールする「IF」と「IFS」の関数について見てきました。
基準値と比較して、その後の処理を分けたいときに使える便利な関数ですので、押さえておきましょう。
次回はテーブル操作の関数の中で覚えておきたいVLOOKUP関数について見ていく予定です。
会計データの価値を最大限引き出すExcel活用術
<清文社>