【Excel】IFS関数:IF関数の関数ネストを回避して複数条件設定

Excelで複数条件設定する際にIF関数よりもIFS関数を使うメリットがあるケースとは?

今回はExcelのIFS関数を使い、以下の例のように点数に応じた判定をつけてみます。

IFS関数はExcel2016から使えるようになった関数ですので、 Excel2016より前のバージョンを使っている方は使えない関数になります。

関数は以下のように 「点数が>=90なら”S”と判定し、点数が>=80なら”A”と判定し、点数が>=70なら”B”と判定し、 点数が>=60なら”C”と判定し、点数が>=50なら”D”と判定し、(これまでの条件何れにも該当しない)点数が<50なら”E”と判定する」というような作り方をします。

TRUE or FALSEを判定させる順番も重要になります。

今回はExcelで複数条件設定する際に、IF関数よりもIFS関数が使いやすいケースも含めて、IFS関数について紹介します。

IF関数で複数条件設定

IFS関数を紹介する前に、今回の作業はIF関数を用いて対応することもできます。

IF関数は以下の記事で解説していますので参考にしてください。

【Excel】IF関数を使って複数条件設定/AND・OR・NOT関数との組合せ

以下の様な関数になります。

=IF(C3>=90,”S”,IF(C3>=80,”A”,IF(C3>=70,”B”,IF(C3>=60,”C”,IF(C3>=50,”D”,IF(C3<50,”E”))))))

この式をセルD3に入力してC3の点数を判定させます。

セルC3が70点と入力された田中さんは「B」と判定されました。

先程のIF関数は複数条件で括弧が多いのでIF関数を使用すると、末尾に括弧をいくつつけたらいいのか混乱してしまいそうになります。

整理をすると以下のようになります。

=IF(C3>=90,”S”,
IF(C3>=80,”A”,
IF(C3>=70,”B”,
IF(C3>=60,”C”,
IF(C3>=50,”D”,
IF(C3<50,”E”)
)
)
)
)
)

ちょっとしたコツですが、Excelでは上のように見やすい改行した形で関数を入力しても正確に結果を返してくれます。

ただし、数式を改行するとデフォルトの数式バーでは表示しきれなくなりますので数式バーで確認する際は、以下のように数式バーを引き伸ばす必要があります。

繰り返しになりますが、以下のように数式を見やすく改行しても結果に影響を与えることはなく、正確な判定結果を返すことができます。

IFS関数の使い方

IF関数を使った複数条件設定で括弧が多くなるという問題、更には式が長くなるという問題を多少解決してくれるのが今回紹介するIFS関数になります。

IFS関数では1つ以上の条件を満たしているかどうかをチェックして、真(TRUE)の場合の値を返します。

構文

=IFS(論理式1,真の場合1, [論理式2,真の場合2], [論理式3,真の場合3], [論理式4,真の場合4], [論理式5,・・・)

引数

引数説明
論理式1真(TRUE)の判断基準となる数式を指定します
真の場合1真(TRUE)の場合に返す値を指定します
論理式2~
真の場合2~
任意で設定することができます。
各論理式Nは各真の場合Nに対応します。

複数条件を設定する際に、IF関数では関数の中に関数を入れ子にする関数のネストをしなければならなかったのですが、IFS関数ではこれを回避することができます。

ただし複数条件を正確な順序で入力する必要があるという点はIF関数と共通です。

先程の構文の例で説明をすると 論理式1が真かどうかを判断した後で、偽なら論理式2が真かどうかを判断して、 論理式2が偽なら、その後で論理式3が真かどうかを判断するといった具合で、論理式1、2、3・・・の順で判断がされます。

論理式が真にたどり着いた時点で、真の値が返されることになります。

IFS関数はIF関数とは異なりFALSE条件を設定できず、TRUE条件が見つからない場合、 #N/Aエラーを返します。

IFS関数で複数条件設定

それではIFS関数を用いて冒頭の例のように点数に応じた判定をつけてみます。

セルC2の点数に応じた判定をさせるためにセルD3に以下の様な関数を入力します。

=IFS(C3>=90,”S”,C3>=80,”A”,C3>=70,”B”,C3>=60,”C”,C3>=50,”D”,C3<50,”E”)

セルC2の点数に応じた判定をセルD3に返すことができました。

最後の論理式をTRUEとした真の値はそれ以外の条件の値

IFS関数では最後の論理式をTRUEとすることによって、これまでに指定したいずれの条件も満たさない場合を捉え、対応する値を返してくれます。

今回の例では以下のような関数にしていましたが、

=IFS(C3>=90,”S”,C3>=80,”A”,C3>=70,”B”,C3>=60,”C”,C3>=50,”D”,C3<50,”E”)

最後の論理式をTRUE にした関数では以下のようになります。

=IFS(C3>=90,”S”,C3>=80,”A”,C3>=70,”B”,C3>=60,”C”,C3>=50,”D”,TRUE,”E”)

C3>=90でもないC3>=80でもないC3>=70でもないC3>=60でもないC3>=50でもないその他の条件、すなわちC3の点数が50点未満(C3<50の論理式をTRUEに置き換え、その場合の真の値として「E」を指定しています。

Excelを一度体系的に学ぶと、目に見えて生産性が飛躍的に向上します。

MOS Excel※は資格の取得、及び資格取得までのプロセスを通じて体系的にExcelスキルを身につけることができますのでコスパが良くおすすめです。

※Microsoft Office Specialist(MOS)ExcelはExcelの利用能力を証明する世界的な資格です。

筆者は「スペシャリスト(一般)」と「エキスパート(上級)」両方を取得して体系的にスキルを身に着けました。

MOS試験対策でどのテキストを使うべきか悩まれる方も多いのではないかと思いますが、以下がおすすめです。

今回の内容が参考になれば幸いです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA