【IFS関数】1つ以上の条件に基づいて異なる値を返す

【IFS関数】1つ以上の条件に基づいて異なる値を返す

先日の記事でIF関数を取り上げました。

IF関数で複数条件を指定する方法を紹介しましたが、条件が増えると複雑になってきます。

そこで、本記事では、IFS関数に関して、取り上げます。
いずれの条件に合致しない場合に「その他」を表示する方法も解説します。

IFS関数は、Microsoft Excel 2016で初めて登場しました。

IFS関数は、1つ以上の条件に基づいて異なる値を返すことができるため、
IF関数を使用する従来の複数の条件式を「ネスト(1)」する方法に比べて、より簡単かつ直感的に使用できます。

(1)ネスト: 条件式の中に条件式を入れ子にすることを指す。

IFS関数は、より複雑な条件付きの論理演算を行い、
より柔軟な計算を可能にするため、Excelのユーザーにとって非常に便利な機能です。

つまり、条件式のネスト数が増大する場合は、IF関数よりIFS関数の方がより簡単かつ直感的に使用できます。

IF関数とIFS関数の違いと使い分けに関しては、詳細を割愛します。
もしかしたら、今後取り上げるかもしれません。

IFS関数

記事の読み方

説明の順は以下です。
まずは、「問題」を与えて、
次に、「解答」を提示します。
最後に、「解説」です。

よくある、結論→理由の構成順に沿いました。

先に「解答」を知りたい人を考慮したためです。

「解説」の説明は不要で、とりあえずビジネス現場で使えればいいと思う方もいるためです。

また、ある程度の経験者であれば、
「問題」と「解答」だけで、関数を使いこなせてしまうためです。

そのために、即利用できるように、ダウンロードファイルを用意していますので、
活用してみてください。
(経験者であれば、ダウンロードファイルだけで、実務に応用できてしまうのではないでしょうか)

問題

先日記事『IF関数の使い方と解説 -単一条件の場合 –』『IF関数の使い方と解説 – 複数条件の場合 –』と同じ問題をIF関数ではなく、
IFS関数を使用することを考えてみましょう。

つまり、

「Genre – ゲームのジャンル」=Sportsであればスポーツ、
「Genre – ゲームのジャンル」=Puzzleであればパズル、
「Genre – ゲームのジャンル」=Simulationであればシミュレーション、

上記以外であれば「その他」という新しい項目を追加してみましょう。

注意事項
  • 回答率(%)は、小数点第1位を四捨五入しているため、合計値が必ずしも100(%)とならない場合があります
  • 加重平均値の算出方法は、知っている前提

サンプルデータ

今回利用するサンプルデータは、Kaggleで公開されているビデオゲームの売上データ「vgsales.csv」です。

vgsales.csv Video Game Sales


以下、データ項目(変数)です。

  • Rank – 全体の売上高ランキング
  • Name – ゲームの名前
  • Platform – ゲームが発売されたプラットフォーム(例:PC、PS4、など)
  • Year – 発売された年
  • Genre – ゲームのジャンル
  • Publisher – ゲームのパブリッシャー
  • NA_Sales – 北米での売上高 (単位: 百万円)
  • EU_Sales – 欧州での売上高(単位:百万ドル)
  • JP_Sales – 日本での売上(単位:百万ドル)
  • Other_Sales – その他の地域での売上高(単位:百万ドル)

解答付きサンプルデータ

解答付きサンプルデータが欲しい方は、下記からダウンロードしてください。

解答

IFS関数式は以下の通りです。

=IFS(E2="Sports","スポーツ",E2="Puzzle","パズル",E2="Simulation","シミュレーション",TRUE,"その他")

解説

解説を読む前に、下記の前提知識に自信のない方は記事末尾の参考記事をご覧ください。

前提知識
  • Excel関数の構文(引数や戻り値など)については、理解していること
  • 絶対参照、複合参照、相対参照についても、理解していること

ざっくり解説

関数の構文は以下です。

=IFS(条件1, 条件と一致した場合, 条件2, 条件2と一致した場合, ...)

では、関数の構文に従って引数を入力します。

=IFS(E2="Sports","スポーツ",E2="Puzzle","パズル",E2="Simulation","シミュレーション",TRUE,"その他")
  • もしセルE2の値が「Sports」なら、「スポーツ」
  • もしセルE2の値が「Puzzle」なら、「パズル」
  • もしセルE2の値が「Simulation」なら、「シミュレーション」
  • それ以外の場合、つまり上記の条件に一致しない場合、「その他」

と表示する式です。

最後の次の式に関して、補足します。

...,TRUE,"その他")

「どの条件にも一致しなかった場合」はTrueを返すため、論理式をTRUEとして、その他を表示させるようにしています。

ちょっと難しいですね。
その他を指定したい場合は、類似関数のSWITCH関数やCHOOSE関数の使用がお勧めです。

「ざっくり解説」で分からない方は、次の「くわしく解説」をご覧ください。

くわしく解説

IFS関数とは

記事『Excel関数の検索テクニック』で説明した通り、
Excel標準機能の[関数の挿入]ダイアログ/[関数の引数]ダイアログを大体のことは書かれています。

活用して詳しく解説します。

ダイアログの使い方は、上記記事を参照していただければと思います。

IFS関数

1つ以上の条件が満たされるかどうかを確認し、最初の真条件に対応する値を返します

[関数の挿入]ダイアログより

IFS関数は、IF関数+複数形Sを造語になっています。
IFを訳すと、「もしも」であり、条件を示す関数です。

つまり、IF(もしも≒条件)複数存在(S)する関数であることを表しています。
そのため、複数の条件(もしも)を評価して、それぞれに対応する結果を返す関数です。

Excel関数名が分からない場合は日本語訳してみると、Excel関数の機能を推察できるかもしれません。

IFS関数

IFS関数の構文

IFS関数
第1引数:論理式1

論理式1: 真または偽と計算できる値または式です

[関数の挿入]ダイアログより


何やら難しく書いていますが、

条件式を記述すればいいだけです。

ここでは、もしセルE2の値が「Sports」なら、「スポーツ」としたいので、

まず最初の条件式を「E2=”Sports”」と記述します。

第2引数:値が真の場合1
IFS関数

値が真の場合1: は論理式が真の場合に返される値です

[関数の挿入]ダイアログより

何やら難しく書いていますが、

条件式が真の場合に表示させたい値を記述すればいいだけです。

ここでは、もしセルE2の値が「Sports」なら、「スポーツ」としたいので、

第2引数に「”スポーツ”」と記述します。

以上の要領で条件の数だけ、繰り返します

  • もしセルE2の値が「Sports」なら、「スポーツ」
  • もしセルE2の値が「Puzzle」なら、「パズル」
  • もしセルE2の値が「Simulation」なら、「シミュレーション」
  • それ以外の場合、つまり上記の条件に一致しない場合、「その他」
IFS関数

フォローアップ

ダブルクォーテーション

文字列は、半角のダブルクォーテーション(“)で囲みます。

いずれも偽の場合

IFS関数は「どの条件にも一致しなかった場合」はTrueを返すため、
論理式をTRUEとして、「その他」を表示させるようにしています。

このようなケースは、類似関数のSWITCH関数やCHOOSE関数の使用がお勧めです。

最後に

先日『IF関数の使い方と解説 -単一条件の場合 –』『IF関数の使い方と解説 – 複数条件の場合 –』では、
IF関数で複数条件を指定する方法を紹介しましたが、件が増えると複雑になってきます。

本記事では、IFS関数に関して、取り上げました。
さらに、いずれの条件に合致しない場合に「その他」を表示する方法も解説しました

入れ子構造、ネストにならないため、関数式は読みやすくなったのではないでしょうか。

参考記事