IFS関数の使い方!複数条件・AND関数・OR関数・NOT関数の指定方法は?

IFS関数の使い方!複数条件・AND関数・OR関数・NOT関数の指定方法は? スプシの使い方

IFS関数は、ExcelやGoogleスプレッドシートで利用できる、複数の条件を順番に評価して、最初に真 (TRUE) となった条件に対応する値を返す便利な関数です。従来のIF関数を何重にもネストさせる(入れ子にする)必要がなくなり、複雑な条件分岐をよりシンプルに、可読性高く記述できます。

本記事では、IFS関数の基本的な使い方から、AND関数、OR関数、NOT関数といった他の論理関数との組み合わせ方までを、具体的な例を交えて分かりやすく解説します。

IFS関数の基本的な使い方

IFS関数は、指定された「条件」と「値」のペアを、記述された順に評価していきます。そして、最初に「真 (TRUE)」と評価された条件が見つかった時点で、その条件に対応する「値」を返し、関数の評価を終了します。

構文

=IFS(条件1, 値1, [条件2, 値2], ..., [条件N, 値N])
  • 条件1, 条件2, …, 条件N: 評価される論理式(例: `A1>90`, `B2=”東京”`)。TRUE または FALSE を返す式を指定します。
  • 値1, 値2, …, 値N: 対応する条件が TRUE と評価された場合に返される値。

最低1つの「条件」と「値」のペアが必要です。通常、どの条件にも一致しない場合に備えて、最後のペアとして `TRUE, デフォルト値` を指定することが推奨されます。

IFS関数の具体的な使い方

いくつかの具体的なシナリオでIFS関数の使い方を見てみましょう。

例1: 成績に基づいて評価を返す

セルA1に入力された点数に応じて、「優」「良」「可」「不可」の評価を返します。

=IFS(A1>=90, "優", A1>=75, "良", A1>=60, "可", TRUE, "不可")

解説: A1が90点以上なら「優」、そうでなく75点以上なら「良」、そうでなく60点以上なら「可」、それ以外(60点未満)の場合は最後の `TRUE` が評価され「不可」を返します。

例2: 売上に基づいてボーナスを計算する

セルB2に入力された売上金額に応じて、ボーナス額を計算します。

=IFS(B2>=100000, 10000, B2>=50000, 5000, B2>=20000, 2000, TRUE, 0)

解説: 売上が10万円以上なら1万円、5万円以上なら5千円、2万円以上なら2千円、それ以外(2万円未満)の場合は0円を返します。

例3: 順位差分の計算(0位がない場合)

セルC2とD2に順位が入力されており、0位がない(1位が最高)場合の勝ち負けを判定します。順位は数値が小さい方が良いとします。

=IF(C2 < D2, "勝ち", "負け")

解説: C2の順位がD2より小さい(良い)場合は「勝ち」、そうでなければ(同順位または負け)「負け」を返します。この例ではシンプルなIF関数を使用しています。

例4: 順位差分の計算(0位がある場合)

セルC2とD2に順位が入力されており、0位(未ランクインなど特別な意味を持つ)が存在する場合の順位差を計算します。ここでは、一方だけが0位の場合、その相手の順位(のマイナス値)を差とし、両方とも0位でない場合は単純な引き算をします。

=IFS(C2=0, -D2, D2=0, C2, TRUE, C2-D2)

解説: C2が0ならD2のマイナス値を、そうでなくD2が0ならC2の値を、どちらも0でなければC2からD2を引いた値を返します。

例5: 複数の相手との勝ち負け判定

セルB2の順位が、セルC2、D2、E2のすべての順位よりも小さい(良い)場合に「〇」、いずれか一つにでも負けている(または同順位)場合に「✕」を表示します。

=IF(AND(B2<C2, B2<D2, B2<E2), "〇", "✕")

解説: `AND`関数を使い、B2がC2、D2、E2のすべてより小さいという条件をまとめています。すべての条件を満たす場合のみ`AND`関数がTRUEを返し、IF関数によって「〇」が表示されます。一つでもFALSEがあれば「✕」が表示されます。この例もIF関数とAND関数の組み合わせです。

AND関数、OR関数、NOT関数との組み合わせ

IFS関数は、他の論理関数(AND, OR, NOT)と組み合わせることで、さらに柔軟で複雑な条件設定が可能になります。

IFS関数とAND関数の組み合わせ

AND関数は、指定されたすべての条件が真 (TRUE) の場合に TRUE を返します。「複数の条件を同時に満たす場合」という条件をIFS関数で使いたいときに便利です。

例: セルA1の点数が特定の範囲内にあるかどうかで評価する場合

=IFS(AND(A1>=80, A1<=100), "優秀", AND(A1>=60, A1<80), "良", TRUE, "改善の余地あり")

解説: A1が80点以上かつ100点以下なら「優秀」、そうでなく60点以上かつ80点未満なら「良」、それ以外の場合は「改善の余地あり」を返します。

IFS関数とOR関数の組み合わせ

OR関数は、指定された条件のいずれか一つでも真 (TRUE) の場合に TRUE を返します。「いずれかの条件を満たす場合」という条件をIFS関数で使いたいときに便利です。

例: セルB2の値が「東京」または「大阪」の場合に分類する場合

=IFS(OR(B2="東京", B2="大阪"), "主要都市", TRUE, "地方")

解説: B2が「東京」または「大阪」のどちらかなら「主要都市」、それ以外の場合は「地方」を返します。

IFS関数とNOT関数の組み合わせ

NOT関数は、指定された条件が偽 (FALSE) の場合に TRUE を返し、真 (TRUE) の場合に FALSE を返します。つまり、条件を反転させます。「特定の条件を満たさない場合」という条件を指定したいときに使います。

例: セルC2の値が “エラー” でない場合に分類する場合

=IFS(NOT(C2="エラー"), "正常", TRUE, "エラー")

解説: C2が “エラー” という文字列でないなら「正常」、そうである(”エラー” である)場合は「エラー」を返します。

まとめ

IFS関数は、複数の条件分岐を簡潔に記述できる非常に強力な関数です。基本的な使い方に加え、AND関数、OR関数、NOT関数といった論理関数と組み合わせることで、より複雑で実用的な条件設定も可能になります。従来のネストしたIF文で読みにくくなっていた数式も、IFS関数を使えばすっきりと整理できるでしょう。ぜひ活用して、データ処理や分析の効率を向上させてください。

コメント