複数の条件に応じて処理を切り分ける「IFS」関数。Excel 2019で新たに追加された。基本的な使い方に加えて、仕事に役立つ実例も紹介する。

複数の条件に応じて処理を切り分けるIFS(イフエス)

 80点以上ならA判定、50点以上80点未満ならB判定、50点未満ならC判定など、複数の条件に応じて表示する内容を切り分けられるIFS関数。これまでは「IF」関数を入れ子にして切り分けを行っていたが、新しく追加されたIFS関数を使うと、簡単に複数条件の切り分けが設定できる。かなり便利な関数だ。

書式

書式 IFS(論理式1,真の場合1,論理式2,真の場合2,…)
論理式1(必須) 1つめの条件を指定する
真の場合1(必須) 「論理式1」が成立する場合に返す値を指定する
論理式2(必須) 2つめの条件を指定する
真の場合2(必須) 「論理式2」が成立する場合に返す値を指定する
論理式3、真の場合3以降(省略可) 3つめ以降の条件やそれが成立する場合に返す値を指定する

基本的な使い方

 下図では、得点に応じてA~Cの判定をC2セルに表示する例。もし、これまでのようにIF関数を使うのであれば、入れ子にして切り分けを行うのだが、いくつも入れ子にすると、カッコの数が足りなかったり、多かったりするだけでエラーになり、式の記述も煩雑になる。

 IFS関数はIF関数の複数条件版ともいえるもので、条件を並列に複数指定して、前から順に条件に合っているかどうかを判定し、合っていない場合は次に進む。条件は最大127個まで指定できる。なお、この関数は、買い切り型のOffice 2019(Excel 2019)、またはサブスクリプション型のOffice 365を使っている場合のみ使用できる。

 では、C2セルに80点以上は「A」、50点以上80点未満は「B」、50点未満は「C」と表示してみよう。「論理式」と「真の場合」のセットを下図のように3つ記述すればよい。例えば「論理式1」には「B2>=80」と記載する。これで1つめの条件は「B2セルの英語の得点が80点以上」となる。なお、「真の場合」で文字列を表示させるには、「"」(ダブルクォーテーション)で囲む必要がある。

1つめの条件が合うなら「A」、2つめの条件が合うなら「B」というように、条件と、条件に合ったときに返す値を並列に記述していけばよい
1つめの条件が合うなら「A」、2つめの条件が合うなら「B」というように、条件と、条件に合ったときに返す値を並列に記述していけばよい

【仕事での使い方】得点に応じて複数のランクに分ける

IF関数では入れ子を活用しないと、複数の処理の切り分けができないが、IFS関数なら127個まで条件を指定できる
IF関数では入れ子を活用しないと、複数の処理の切り分けができないが、IFS関数なら127個まで条件を指定できる

 ここでは得点によってランクを表示したい。筆記と会話の合計点が170点以上ならA判定、120点以上ならB判定、70点以上ならC判定、70点未満ならD判定とする。E3セルに大川さんのランクを表示してみよう。

 まず、「論理式1」にA判定の条件となる「D3>=170」と指定し、「合計点(D3セルの値)が170以上」かどうかを判定する。「真の場合1」は「"A"」と設定する。同様にB判定の条件と表示する文字列、C判定の条件と表示する文字列を指定する。

 最後のD判定では、「論理式4」に「D3<70」を指定してもいいのだが、ここではちょっとしたワザを覚えてほしい。上図では「論理式4」に「TRUE」と入力した。これは「これまでに指定したどの条件も満たさない場合」という意味。つまり、この例では70点未満を意味することになるので、「真の場合4」に「"D"」と指定する。数値の大きさに応じて段階的に場合分けするときは、数値の大きいものから、あるいは数値の小さいものから順に場合分けしていくと、考えを整理しやすい。

 これですべての条件に対して「A」~「D」のランクを表示できるようになる。あとは数式を下方向へコピーすれば、全員分のランクを一気に表示できる。

A~Dの4通りの評価に分けるため、「論理式」と「真の場合」を4セット用意する
A~Dの4通りの評価に分けるため、「論理式」と「真の場合」を4セット用意する