【Excel】IF関数で3段階以上の判定をする!ExcelのIFS関数との使い分けと可読性の改善

【Excel】IF関数で3段階以上の判定をする!ExcelのIFS関数との使い分けと可読性の改善
🛡️ 超解決

Excelで複数の条件に基づいて判定を行いたい場合、IF関数をネストする方法があります。しかし、条件が増えるにつれて数式が複雑になり、読みにくくなるという課題が生じます。特に3段階以上の判定では、数式の管理が困難になることがあります。この記事では、IF関数のネストによる多段階判定の限界と、より簡潔で分かりやすいIFS関数の使い方を解説します。IFS関数との使い分けについても触れ、Excelでの条件判定を効率化する方法を学びましょう。

IFS関数は、Excel 2019およびMicrosoft 365で利用可能な関数です。それ以前のバージョンでは利用できないため注意が必要です。

【要点】IF関数とIFS関数による複数条件判定の理解と活用

  • IF関数のネスト: 3段階以上の条件判定で数式が複雑化する問題点を理解する。
  • IFS関数: 複数の条件を順番に評価し、最初に真となった条件の結果を返す関数であることを把握する。
  • 使い分け: Excelのバージョンや条件の数、可読性を考慮してIF関数とIFS関数を適切に選択する。

ADVERTISEMENT

IF関数ネストの限界とIFS関数の登場

Excelで複数の条件分岐を行う際、最も基本的な方法はIF関数を繰り返しネスト(入れ子に)することです。例えば、点数に応じて「優」「良」「可」「不可」の4段階で評価する場合、以下のような数式が考えられます。

この数式は、最初のIF関数で点数が80点以上かを判定し、それ以外の場合に次のIF関数で60点以上かを判定、さらにそれ以外の場合に40点以上かを判定、というように条件を順番に評価していきます。しかし、条件が5段階、6段階と増えるにつれて、数式はどんどん長くなり、括弧の数が膨大になります。

このようなネストされたIF関数は、見た目が非常に複雑になり、どの条件がどの結果に対応しているのかを把握するのが難しくなります。数式の編集やデバッグ(誤りの発見と修正)に多くの時間がかかる原因となります。また、数式の入力ミスや括弧の閉じ忘れといったヒューマンエラーも発生しやすくなります。

お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

IFS関数による複数条件判定

IFS関数は、このようなIF関数ネストの課題を解決するために導入されました。IFS関数は、複数の条件を順番に評価し、最初に「真(TRUE)」となった条件に対応する値を返します。Excel 2019およびMicrosoft 365で利用可能です。

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

=IFS(論理式1, 真の場合の値1, 論理式2, 真の場合の値2, ... )

この構文では、`論理式1` が真であれば `真の場合の値1` が返され、`論理式1` が偽であれば次に `論理式2` が評価されます。`論理式2` が真であれば `真の場合の値2` が返され、以降、条件が満たされるまで続きます。どの論理式も真とならなかった場合は、エラー値 `#N/A` が返されます。

IFS関数を使った複数条件判定の具体例

先ほどの点数判定の例をIFS関数で書き換えてみましょう。セルA1に点数が入っていると仮定します。

この数式は、IF関数のネストよりもはるかにシンプルで、各条件とそれに対応する結果がペアで記述されているため、非常に分かりやすいです。条件の追加や変更も容易に行えます。

IFS関数は、条件が最大61個まで指定できます。これは、IF関数のネストで実質的に扱える条件数よりも大幅に多く、複雑な判定ロジックにも対応できます。

IF関数とIFS関数の使い分け

IF関数とIFS関数は、どちらも条件分岐を行うための関数ですが、使い分けるべき場面があります。どちらを選択するかは、Excelのバージョン、条件の数、そして数式の可読性を考慮して決定します。

Excelのバージョンによる制約

最も重要な制約は、IFS関数がExcel 2019およびMicrosoft 365でしか利用できない点です。もし、Excel 2016以前のバージョンを使用しているユーザーとファイルを共有する必要がある場合は、IFS関数は使用できません。そのような場合は、IF関数のネストで対応する必要があります。

Excelのバージョン互換性を考慮する必要がある場合は、IF関数ネストを選択するのが安全です。ただし、その場合でも、数式が複雑になりすぎないように、条件の数を抑えるか、あるいは別の機能(後述するテーブルやPower Queryなど)の利用を検討することも重要です。

条件の数と数式の可読性

条件が2つ程度であれば、IF関数を1回ネストするだけで十分分かりやすい数式になります。例えば、「合格」「不合格」の判定などです。

しかし、条件が3つ以上になると、IF関数のネストは急速に読みにくくなります。そのような場合は、IFS関数を使用することで、数式の可読性を大幅に向上させることができます。IFS関数は、各条件と結果が明確にペアになっているため、数式の意図を把握しやすくなります。

また、条件の数が多い場合でも、IFS関数であれば最大61個まで対応できるため、機能面でも有利です。複雑な判定ロジックをExcelで実装したい場合は、IFS関数の利用を積極的に検討すべきです。

数式としての管理のしやすさ

IFS関数は、IF関数のネストに比べて、数式としての管理が容易です。数式が短く、構造がシンプルであるため、後から数式を修正したり、他の人に説明したりする際に手間がかかりません。特に、複数の担当者でExcelファイルを共有する場合や、長期的にメンテナンスが必要なファイルでは、IFS関数による可読性の向上は大きなメリットとなります。

IF関数ネストで長くなった数式は、どこかに誤りがないか確認するだけでも一苦労です。IFS関数であれば、各条件と結果のペアを確認するだけで済むため、デバッグ作業も効率化できます。

ADVERTISEMENT

可読性をさらに改善する方法

IFS関数を使っても、条件が非常に多くなると数式が長くなることがあります。また、判定ロジックが複雑な場合、数式だけでは意図を伝えきれないこともあります。そのような場合に、さらに数式の可読性を改善するいくつかの方法を紹介します。

条件判定のためのテーブルの利用

判定ロジックが複雑な場合や、条件と結果の組み合わせが多い場合は、Excelのテーブル機能とLOOKUP関数(VLOOKUP、XLOOKUPなど)を組み合わせる方法が有効です。判定基準となる値を別シートや別テーブルに一覧で定義しておき、数式からはそのテーブルを参照するようにします。

例えば、先ほどの点数判定の例で、以下のようなテーブルを作成します。

このテーブルを作成しておけば、数式は非常にシンプルになります。例えば、XLOOKUP関数(Excel 2021以降、Microsoft 365で利用可能)を使う場合、以下のような数式で実現できます。

この方法の利点は、判定基準や結果を変更したい場合に、数式を直接編集するのではなく、テーブルの値を更新するだけで済むことです。これにより、数式の管理が格段に容易になり、誤りを減らすことができます。

名前付き範囲の活用

数式の中で参照しているセル範囲に名前を付ける「名前付き範囲」を活用することも、可読性向上に役立ちます。例えば、判定基準となる点数や評価のリストがある範囲に「評価基準」という名前を付けることができます。

数式が以下のようになります。

数式に意味のある名前が付いていることで、数式を見ただけで、その部分が何を表しているのかを理解しやすくなります。特に、複雑な数式を扱う場合や、他の人が作成した数式を理解する必要がある場合に有効です。

Power Queryの利用

データの前処理や変換、条件に基づくデータの加工といった場面では、Power Queryの利用も強力な選択肢となります。Power Queryは、Excel 2016以降(Microsoft 365では標準搭載)で利用できるデータ変換ツールです。

Power Queryエディター内では、GUI操作で条件列の追加や値の置換といった処理を直感的に行うことができます。複雑な条件分岐も、ステップごとに記録されるため、後から見直しや修正が容易です。最終的にExcelシートに結果を取り出すことができます。

大量のデータを処理する場合や、定期的に同じ条件でデータを加工する必要がある場合に、Power Queryは非常に効率的です。数式で実現しようとすると複雑になりがちな処理も、Power Queryを使えばシンプルに実装できることがあります。

IF関数とIFS関数の比較表

最後に、IF関数とIFS関数の主な違いを比較表にまとめました。

項目 IF関数 (ネスト) IFS関数
Excelバージョン 全バージョン Excel 2019以降, Microsoft 365
条件判定の仕組み 論理式1が真なら結果1、偽なら次のIFへ 論理式1が真なら結果1、偽なら論理式2へ
最大条件数 実質的に制限なし (ただし可読性が著しく低下) 61個
可読性 条件数が増えると低下 条件数が増えても比較的高い
構文の複雑さ ネストが深くなると複雑化 シンプルで分かりやすい
エラー時の挙動 IF関数のネスト構造による どの条件も真でなければ #N/A エラー

まとめ

Excelで3段階以上の条件判定を行う場合、IFS関数を利用することで、IF関数のネストによる数式の複雑化や可読性の低下といった問題を解決できます。IFS関数は、各条件と結果をペアで記述するため、数式が分かりやすくなります。

Excelのバージョン互換性を考慮する必要がある場合はIF関数ネストを選択しますが、それ以外の場合はIFS関数を積極的に活用しましょう。さらに、判定基準をテーブル化したり、名前付き範囲を利用したりすることで、数式の管理をより効率化できます。

これらの手法を使い分けることで、Excelでの条件判定処理をより正確かつ効率的に行うことが可能になります。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】