このページには広告が含まれる場合があります。
現在は「エクセル2016」以降に追加された関数を紹介しています。
前回は「CHOOSE」関数の後継となる「SWITCH」関数でした。
今回は、IF関数の後継であり、ようやく煩わしいあの関数の連鎖から解き放ってくれる新たな関数のご紹介です。
目次
関数の連鎖をなくしたIFS関数
「IF」関数は、エクセルを使った人であれば間違いなく誰もが一度は使った経験のある関数でしょう。
Aという条件を判断した時に、その判断が正しい場合の処理と間違っている場合の処理を記述する関数です。
と、ここまでなら関数の記述もスマートなのですが、
「IF」関数で厄介だったのは、前述の通り複数の条件を判断する際には「IFが連鎖する」点です。
上のように、りんごの金額を評価する場合に、金額が
「400円未満」と「400円から800円未満の間」と「800円以上」の3つの条件を判断したい場合には、「IF」関数の中にもう一つ「IF」関数を入れて3つの条件を判断しています。
これは、判断したい条件が4つ、5つと増えるたびに「IF」関数を入れ子にする数も増えていくものになります。
そこで新しく登場した「IFS」関数を使ってみましょう。
関数の引数を見てみると分かるように、条件を指定する「論理式」を複数記述できるようになっています。
論理式は最大127まで記述できます。
「論理式N」に対応した「真の値N」を記述して、各条件に当てはまる値を設定していきます。
どれにも当てはまらない論理式は「TRUE」を使う
上の例で言えば、最後の「C2>=800(C2の値が800以上)」というのは、言い換えると
「400未満」と「400以上800未満」という2つの条件以外のすべて、となります。
その場合は、次のように引数を指定できます。
”それ以外”となる3番目の条件は、あえて「C2>=800」とは書かず
「TRUE」と書くのです。
これで、条件1(論理式1)にも条件2(論理式2)にもあてはまらない場合は、
「TRUE」の場合の値が結果として返されます。
エラーの発生パターン
「IFS」関数に指定した引数が足りない場合や論理式に当てはまる値が見つからない場合は、エラーが発生します。
#N/Aが表示される
論理式に指定した条件に当てはまる値がない場合に、「#N/A」エラーが表示されます。
「IFS」関数で論理式を3つ作成しています。
セル「B2」の値が「ぶどう」か「みかん」か「なし」の場合に、それぞれ英語のカタカナ表記を表示したかったのですが、セル「B2」の値は「りんご」です。
3つの条件に該当するものがないので、この場合は「#N/A」エラーが返されます。
#VALUE!が表示される
数字と文字列を足し算してしまったり、空白文字を計算したり、答えを返せない論理式を指定すると「#VALUE!」エラーが返されます。
「#VALUE!」エラーはどの関数でもそうですが、上のように文字列に数字を足してしまっているような答えを返せない指定がある場合に表示されます。
関数というよりは、引数に指定している計算式などそのものを見直す必要があるエラーとなります。
引数が少なすぎる
「論理式N」に対する「真の値N」がきちんと指定されていないと、以下のようにメッセージが表示されます。
逆の場合も同様に、「真の値」を指定するのであればそのための「論理式」も指定していなければメッセージが表示されます。
総括
「IFS」関数があれば、「IF」関数はほとんど使わなくなるかもしれませんね。
見直した時にも関数がスッキリ見えるし、
複数人で編集している場合でも、誰が見ても分かりやすく条件分岐を作成できます。
「IF」関数の入れ子の数は7つとなっていましたが、「IFS」関数は(例え全部使う場面はなくとも)127個の論理式を指定できますので、分岐が多くなってもほぼ問題はなさそうです。
エクセル2016(Office365のみ)もしくはエクセル2019(Office365及びパッケージ版も)で利用できるようになった便利な関数ですので、今一度自分の使っているエクセルのバージョンを確認してみてください。
さてさて、次回は文字列を連結する関数を見ていきたいと思います。
エクセルを使っていると文字列の操作も自由自在に行わなければならない場面がたくさんあると思います。
新しくなった文字列操作の関数も是非覚えちゃいましょう。
どうぞお楽しみに!