Introduction
Ver. all 2013 2016 2019 2021 365
Excel(エクセル)でのIF関数とIFS関数の違いについてです。
1番のポイントは、IFS関数はバージョン2016から追加されたということでしょう。
IF関数は条件によって結果を分岐させる関数で、よく使用される関数としてトップ10に入る関数ではないでしょうか。
昔から使用されていた関数ですが、そのIF関数をもう少しスマートに(簡単に)使用することができるようにしたのがIFS関数です。
昔のエクセルでは使用できないため、初心者の方は、先にIF関数の使い方をマスターした方がいいかもしれません。
【関連】
Excel(エクセル)での関数の使い方 ④|IF関数の使い方
Excel(エクセル)で条件によって判定し、結果を分岐させる方法|IFS関数の使い方
IFS関数の方が新しいにゃ
形(引数)から見る、IF関数とIFS関数の違い
では、関数の中身をチェックしてみましょう。
今回は下の表を参考にします。
「成績」の場所には、「点数」が「250」以上の場合は「A」。「200」以上の場合は「B」。「150」以上の場合は「C」。それ以外は「D」となるように式を入れています。
- 250以上・・・A
- 200以上・・・B
- 150以上・・・C
- それ以外・・・D
その結果を2つの関数で作成したのが下の式です。
IF関数
=IF(D3>=250,"A",IF(D3>=200,"B",IF(D3>=150,"C","D")))
IFS関数
=IFS(D3>=250,"A",D3>=200,"B",D3>=150,"C",TRUE,"D")
どうでしょうか。
式の長さは、あまり変わらないように見えますが、大きなポイントはIF関数は複数の条件を判断させる場合には、さらにIF関数を中に組み込む(ネストする)必要があるのに比べて、IFS関数はネストせずにIFS関数1つで済むところです。
実際に、上の式でもIF関数の場合は、「IF」を3つ使用していますが、「IFS」は1つで済んでいますね。
このように関数が単純化できるのがIFS関数の長所ですね。
1つの式で使用する関数が減るということは、エクセルにとっても処理が楽になります。
次に、引数を見てみましょう。
IF関数・・・論理式に応じて、結果を2つに分岐することができる
=IF(論理式,真の場合,偽の場合)
- 論理式・・・条件式(論理式)を作成
- 真の場合・・・条件式を満たしている場合に欲しい結果を入力
- 偽の場合・・・条件式を満たしていない場合に欲しい結果を入力
IFS関数・・・論理式に応じて、結果を複数に分岐することができる
=IFS(論理式1,値が真の場合1,論理式2,値が真の場合2,論理式3,値が真の場合3,…,…)
- 論理式1・・・条件式(論理式)を作成
- 値が真の場合1・・・条件式を満たしている場合に欲しい結果を入力
こう見ると、けっこう違いますね。[論理式]の場所は同じですが、IF関数は2つに分岐することしかできないので、さらに細かい分岐は、さらにIF関数を組み込む必要があります。
IFS関数は[偽の場合]が存在しません。その代わりに、最後の条件で「TRUE」を指定することによって、全ての条件に合わない場合の結果を指定することになります。
IF関数をIFS関数に変換する方法
では、先ほどの表での式をIF関数からIFS関数へ変更してみます。
※ここからの説明は、単純な式の場合に通用する方法で、IF関数以外の関数を組み合わせている場合などはそのまま使用できるとは限りません。参考程度にご覧ください。
IF関数
=IF(D3>=250,”A”,IF(D3>=200,”B”,IF(D3>=150,”C”,”D”)))
この式を、下のように修正します。
IFS関数
=IFS(D3>=250,”A”,D3>=200,”B”,D3>=150,”C”,TRUE,”D”)
流れとしては、IF関数の「偽」の場合を削除して、その代わりに最後の条件を「TRUE」にすれば終了です。
[数式バー]で直接関数を修正するのがおすすめです。
途中で確定するとエラーになってしまうので、いっぺんに修正します。
まず、最初のIFにSを追加してIFS関数へ変更。
=IFS(D3>=250,”A”,IF(D3>=200,”B”,IF(D3>=150,”C”,”D”)))
次に、2つめからのIF関数と、それに対応した括弧を全て削除します。
=IFS(D3>=250,”A”,IF(D3>=200,”B”,IF(D3>=150,”C”,”D”)))
↓
=IFS(D4>=250,”A”,D4>=200,”B”,D4>=150,”C”,”D”)
そして、最後の[値が真の場合]の前に「true,」と入力します。
=IFS(D4>=250,"A",D4>=200,"B",D4>=150,"C",true,"D")
※最後の「,」を忘れずに。
これで修正完了です。
細かく説明したので長くなりましたが、さらっと書くと、
- IFをIFSへ
- 余計なIFと括弧を削除
- 最後の前に「true,」を追加
という感じ。それほど大変ではありません。
IFS関数をIF関数へ変更するには、その逆の手順が必要になりますね。
- IFSをIFへ
- [値が真の場合]の後に「IF(」を追加
- 式の最後に追加したIF関数の数だけ「)」を追加
- 「true,」を削除
という流れになります。
まとめ
IF関数と比べたIFS関数の特徴をまとめると、
- IFS関数は、バージョン2016から追加された
- IFS関数は、IF関数よりもエクセルへの負担が少ない
- IFS関数は、IF関数よりもスッキリしている
- IFS関数は、昔のバージョンでファイルを開く可能性がある場合はお勧めできない
このようになるでしょう。
最初にも書きましたが、IF関数とIFS関数の詳しい説明は下のリンク先にありますので、興味のある方はご覧ください。
【関連】
Excel(エクセル)での関数の使い方 ④|IF関数の使い方
Excel(エクセル)で条件によって判定し、結果を分岐させる方法|IFS関数の使い方
IF関数をIFS関数に変更すると、すっきり見えるにゃ