スプレッドシートのIFS関数で複数の条件毎に表示結果を変える

スプレッドシートのIFS関数の使い方

スプレッドシートで指定した複数の条件に応じて表示結果を変えたい時に使うIFS関数について詳しく解説します。

IFS関数とは

ifs関数は複数の条件に応じて表示結果を切り分ける関数です。

スプレッドシートには、指定した条件に応じて表示される内容を切り替えるif関数があり、入れ子にすることで複数条件にも対応できるのですが、入れ子にすることで構文が複雑になりミスも起きやすいです。

if関数が条件を真偽で判別していたのに対し、ifs関数では『条件』と『適合した場合に表示する値』をセットにして、繰り返すことで複数条件に対して表示結果を切り分けることができます。ifs関数の構文は下記のようになります。

=IFS(条件1, 値1, [条件2, 値2, …])

IFS関数のポイント
  • 複数条件を並列で指定できる
  • それ以外を指定する場合は『Trueと値』のセットを設定

IFS関数の使い方

IFS関数を利用して表示を段階的に切り分けてみましょう。スコアに応じてSからDまでランクを判別するようにしてみましょう。

スコアが90以上ならS、80以上ならA、70以上ならBといった具合に『条件』と『表示される値』をセットで設定します。下段のセルは条件で指定するセルを変更します。

=ifs(C3>90,"S",C3>80,"A",C3>70,"B",C3>60,"C",C3>50,"D")

スプレッドシートのifs関数で複数条件で表示結果を切り分ける

行数がそれほど多くない場合はオートフィルで展開すればいいですが、何百行、何千行に渡る場合は効率や負荷を考えるとARRAYFORMULA関数を利用したほうがいいでしょう。

ARRAYFORMULA関数の使い方
スプレッドシートのARRAYFORMULA関数で処理を効率化
スプレッドシートで同じ関数や数式を複数のセルで繰り返すときに便利なARRAYFORMULA関数について解説します。

ifs関数で複数条件と「それ以外」を設定するには

上記の例では全ての条件に対して、表示結果が指定されていましたが、このままでは条件に当てはまらないスコアが50点未満の人のランクには『#N/A』と表示されてしまいます。

では、条件に当てはまらなかったそれ以外のものに全て『ランク外』と表示されるようにしてみましょう。最後に『,TRUE,”ランク外”』を付け足します。ここでポイントなのはそれ以外の指定方法が偽の場合を示す『FALSE』ではなく、『TRUE』になる点です。ifs関数の場合は真偽の2択で判別するのではなく、『条件』と『結果』を対で設定していくため、そこまでの処理が判別が終わった上で、それ以外の全ては『真』として処理するのだと思いますが、理屈がどうであれ、約束事として覚えてしまいましょう。

ifs関数でそれ以外の処理

=ifs(C10>90,"S",C10>80,"A",C10>70,"B",C10>60,"C",C10>50,"D")
=ifs(C10>90,"S",C10>80,"A",C10>70,"B",C10>60,"C",C10>50,"D",TRUE,"ランク外")

条件に当てはまらないものには『ランク外』と表示されるようになりました。

ifs関数で空白を判別する

スコアが空欄の時にランク外と表示されるのは好ましくないため、空白の場合は未評価と表示されるようにしましょう。空白を判別するには対象セルが空白であることを示す必要があります。『C10=""』と条件に加えましょう。

=ifs(C10>90,"S”",C10>80,"A",C10>70,"B",C10>60,"C",C10>50,"D",C10=””,”未評価”,TRUE,"ランク外")

こうすれば50まではランクが表示、50未満は『ランク外』空白は『未評価』と表示されるようになります。当然ながらこちらも行数が多ければARRAYFORMULA関数を使用するべきです。

=ArrayFormula(ifs(C3:C10>90,"S",C3:C10>80,"A",C3:C10>70,"B",C3:C10>60,"C",C3:C10>50,"D",C3:C10=””"","未評価",TRUE,"ランク外"))

まとめ

条件に応じて表示結果を変えるIFS関数について解説してきました。よく使う関数の一つなので必ずマスターしておきたい関数の一つですね。条件付き書式を組み合わせ、結果によって背景色を変えたり、文字を太字にするなどの強調表示することでより目立つようにしてもいいかもしれませんね。

こちらの記事でスプレッドシートの関数の基本的なものを紹介しています。

便利な数式と関数
スプレッドシートで最初に覚えたい便利な基本関数一覧
スプレッドシートで最初に覚えると便利な使い勝手のいい基本的な関数を紹介します。

スプレッドシートの使い方については下記の記事でまとめていますので併せてお読みください。

スプレッドシートの使い方完全マニュアル
スプレッドシートの使い方 完全マニュアル
スプレッドシート初心者が一通り使えるようになるまでの知識を体系的にまとめました。