Excel(エクセル)のIF関数で複数条件で利用しようとすると、IF関数の中にIF関数を挿入する必要があるので、数式が複雑になりがちです。
こんな時は、IFS関数(読み方:イフス、イフズ)を使うと便利です。
IFに複数の「S」がついた関数名のとおり、複数の条件で表示方法を変更することができる新関数です。
もちろん、IF関数の機能も備えているため、IF関数とはおさらばして、積極的にIFS関数を利用してみましょう!
この記事ではIFS関数に関する以下の内容をお届けします。
紹介する内容
・IFS関数の構文と引数
・IFS関数とIF関数の違い
・IFS関数を使った実例3つ
・IFS関数を使った4つの複数条件の実例
・IFS関数とVLOOKUP関数を組み合わせた使い方
IFS関数とは、IF関数の「進化版の関数」
IF関数で、「〇」「△」「×」など複数の条件に合わせて表示するためには、IF関数の中にIF関数を挿入する必要があり、関数を設定するのが困難でした。
IFS関数では、引数の設定がシンプルになり、これらの複数条件の設定が容易となりました。
現時点ではMicrosoft365とExcel2019以降のバージョンでしか利用できませんが、これから認知度が上がってくる関数です。
IFS関数は、最初の条件に対応する値を優先
IFS 関数は、1 つ以上の条件が満たされているかどうかをチェックして、最初の条件に対応する値を優先して表示します。
IFS関数の構文と引数は以下のとおりです。
=IFS(論理式1, 真の場合1, 論理式2, 真の場合2,論理式3, 真の場合3, ..., )
「論理式1」に当てはまる場合は「真の場合1」を表示します。
次に「論理式2」に当てはまる場合は「真の場合2」を表示します。次に「論理式3」に当てはまる場合は「真の場合3」を表示する・・・といった関数の仕組みです。(最大127個の条件設定が可能)
下の図がIFS関数のイメージ図です。
論理式1に当てはまる場合は「◎」、論理式2に当てはまる場合は「〇」、論理式3に当てはまる場合は「△」、どれにも当てはまらない場合は「×」といったように、条件に当てはまる場合の値を自在に設定することができます。
IFS関数が見つからない場合
IFS関数が使えるExcelのバージョンは以下のとおりです。
IFS関数が使えるバージョン
Excel for Microsoft 365(サブスク)、Excel 2021、Excel 2019
IFS関数が見つからず、エクセルのバージョンを確認したい場合は、以下の手順を試してみて下さい。
まずエクセルを開き、 画面左上の「ファイル」タブ をクリックし、左側の一覧から「その他」→ 「アカウント」を選択します。
そうすると、画面右上の[製品情報] の下に、Office 製品の名前と、場合によっては完全なバージョン番号が表示されます。
IFS関数で「最後の論理式」を指定する方法
IF関数では、論理式に当てはまらない場合に表示する文字は、第3引数の[値が偽の場合]に設定します。(下の例:”×”)
一方、IFS関数では、最後の引数「論理式」を「TRUE」と設定し、最後の「真の値」に、論理式に当てはまらない場合に表示したい文字を設定します。(下の例:TRUE,”×”)
この「TRUE」の入力は、IF関数には無かった新ルールですので、必ず覚えるようにしましょう。
IFS関数の使い方の手順
それでは、実際にIFS関数の使い方を手順に沿って解説します。
下の表にIFS関数を利用して、点数を『100点は◎』、『80~99点は〇』、『40~79点は△』、『40未満は×』、の4つで判定します。
手順1.IFS関数の論理式と真の値を設定(1セット目:◎)
D3セルにIFS関数を挿入し、『100点は◎』を設定するために、1セット目の論理式と真の値を入力します。次の引数を設定するため、末尾には「,」(コロン)を入力します。
=IFS(C3=100,"◎",
手順2.IFS関数の論理式と真の値を設定(2セット目:〇)
次に、『80~99点は〇』を設定します。
手順1で『100点は◎』を設定し終えているので、『80以上は〇』という条件を引数に設定します。
=IFS(C3=100,"◎",C3>=80,"〇",
手順3.IFS関数の論理式と真の値を設定(3セット目:△)
次に、『40~79点は△』を設定します。
手順1,2で80点以上の論理式は設定し終えているので、『40以上は△』という条件を引数に設定します。
=IFS(C3=100,"◎",C3>=80,"〇",C3>=40,"△",
手順4.IFS関数の論理式と真の値を設定(4セット目:×)
最後に、『40未満は×』を設定します。
手順3までで、40点以上の論理式は設定し終えているので、『40未満は×』という条件を引数に設定します。引数の設定が完了したので、関数を閉じるために、末尾には「)」括弧を入力します。
=IFS(C3=100,"◎",C3>=80,"〇",C3>=40,"△",C3<40,"×")
手順5.IFS関数の結果を確認
IFS関数を「Enter」キーで確定し、下のセルにもIFS関数をコピペします。
そうすると、表の点数の大きさによって、『◎〇△×』の4つに判定することが出来ます。
上の例では、IFS関数の引数の条件や真の値を直接文字で設定しましたが、下の数式のように、セルを参照することもできます。
=IFS(C3=100,$G$3,C3>=80,$G$4,C3>=60,$G$5,C3<60,$G$6)
IFS関数の複数条件の使い方(実例1)ABC評価
IFS関数は、成績表の点数を判定しA、B、Cなどで評価するなどに役立ちます。
下の例では、点数を『80点以上であればA』、『40~79点はB』、『40未満は×』の3つで評価しています。
=IFS(C3>=80,$G$3,C3>=60,$G$4,C3<60,$G$5)
IFS関数の複数条件の使い方(実例2)税区分に合った税込金額
IFS関数を使って、税区分(課税、非課税、軽減税率)に合わせた税込金額を算出することも出来ます。
下の例では、『非課税は本体価格×1.0倍』、『課税は本体価格×1.1倍』、『軽減税率は本体価格×0.8倍』の3つで評価しています。
=IFS(D3="非課税",C3,D3="課税",C31,D3="軽減税率",C31.08)
IFS関数の複数条件の使い方(実例3)年齢、性別を判断
IFS関数の中に、OR関数やAND関数、NOT関数を利用すると、さらに細かく条件を設定することが出来ます。
下の例では、『12才未満、65歳以上であれば800円』、『12才以上、65歳未満の女性は1200円』『12才以上、18歳未満の男性は1500円』『18才以上、65歳未満の男性は2000円』という条件で値段を判定しています。
=IFS(OR(D3<12,D3>=65),800,AND(C3="女",D3<65),1200,D3<18,1500,D3<65,2000)
IF関数でも、OR関数やAND関数、NOT関数を用いることが出来ます。
下の記事で詳しい使い方を紹介していますので、合わせて参考にしてみてください。
IFS関数で「条件に当てはまらない」「それ以外」を設定する使い方(実例4)
IFS関数で「条件に当てはまらない場合」「それ以外」を設定する際は、最後の2つの引数を「TRUE,それ以外の場合の値」を指定します。
例えば、『80点以上は〇』、『40~79点は△』、『39点以下は×』の3つで判定する場合、最後の『39点以下は×』に、この使い方を利用します。
=IFS(C3>=80,"〇",C3>=40,"△",TRUE,"×")
このように、最後の引数に「TRUE」を設定することで、条件に当てはまらない場合の表示をすべてカバーすることができるので、大変便利です。
もし「それ以外」を利用せずに、どの論理式にも当てはまらない値が出てくると、エラー値「#N/A」が発生してしまいます。
IFS関数でエラーが発生する原因と対策
IFS関数でエラーが発生するケースは2つ存在します。
IFS関数でエラーが発生する原因
1.論理式の条件に当てはまる値が存在しない
2.引数の数が奇数で設定(論理式や値の引数が漏れている)
1つ目の論理式の条件に当てはまる値が無いというケースを防ぐために、最後の引数は、「TRUE,それ以外の場合の値」を指定するようにしましょう。
また、下のように、IFS関数の引数の数は必ず偶数になります。奇数で設定している場合は、論理式か値の設定が漏れていますので、関数の内容を確認してください。
IFS関数とIF関数との違い
IFS関数とIF関数は、どちらも条件に基づいて値を返すExcel関数です。
この2つの関数の違いを確認しておきましょう。
IF関数の構文は、以下のとおりです。
=IF(論理式,[値が真の場合],[値が偽の場合])
IFS関数の構文は、以下のとおりです。
=IFS(論理式1, 真の場合1, 論理式2, 真の場合2,論理式3, 真の場合3, ..., )
それぞれの構文を見て分かるとおり、一番の違いは、論理式を設定出来る数の違いです。
IF関数に、2つ以上の論理式を設定するためには、IF関数の中にIF関数を挿入する入れ子というテクニックを使う必要があります。
そのため、IF関数で『〇』『△』『×』といった複数条件で表示する場合、以下のように構文を設定する必要があります。
一方、IFS関数は、複数の条件を簡潔に記述できるため、下の例のように、複雑な条件分岐を扱いやすくなります。
IFS関数とVLOOKUP関数を組み合わせた使い方
このIFS関数とVLOOKUP関数を組み合わせて利用すると、さらにIFS関数の用途が広がります。
IFS関数の引数「論理式」にVLOOKUP関数を挿入することで、
『表を検索して該当する値を抽出し、その抽出値を条件によって別の値を変換する』
ことが出来ます。
下の表の場合、G3セルに、IF関数とVLOOKUP関数を組み合わせた数式を挿入して、商品番号の販売高が700(千円)以上であれば「〇」、500~700(千円)であれば「△」、500(千円)未満であれば「×」をG3セルに直接表示させます。
=IFS(VLOOKUP(F3,$B$2:$D$10,3,FALSE)>=700,"○",VLOOKUP(F3,$B$2:$D$10,3,FALSE)
>=500,"△",TRUE,"×")
もちろん、IF関数にもVLOOKUP関数を組み合わせて活用することもできます。
下の記事で詳しく使い方を紹介していますので、興味のある方は参考にしてみてください。
使い方のポイント:IFS関数の最後の論理式は「TRUE」
今回は、IF関数がバージョンアップした新関数、IFS関数の使い方を紹介しました。
条件に当てはまらない場合の表示を設定するときは、最後の論理式を[TRUE]と入力するところがポイントです。
IFS関数があれば、IF関数は今後使う必要はありません。どんどん実践に役立てて下さい。