条件分岐(IF, IFS, CHOOSE, SWITCH)の違いと使い方

Excelで条件分岐をするときに使える関数には、IF関数、IFS関数、CHOOSE関数、SWITCH関数があります。それぞれの関数の違いや使い分けについて解説します。また、関数判定用のフロチャート図も用意しています。

はじめに

ExcelのIF関数は、条件分岐を行うために使われる代表的な関数の一つです。
しかし、複雑な条件式を書く場合、IF関数のネストが必要になることがあります。
さらに、IF関数の改良版であるIFS関数や、CHOOSE関数やSWITCH関数といった関数も存在します。
IF, IFS, CHOOSE, SWITCHの関数の違いや、どのように使い分けるべきかについて解説します。

各関数の違い(まとめ)

関数名条件分岐数条件指定の制約処理速度
(条件数が少ない場合)
処理速度
(条件数が多い場合)
可読性
IF関数のネスト1~64特になし×
IFS関数1~127特になし
CHOOSE関数1~2541から始まる連番
SWITCH関数1~126^1特になし×

【各項目の解説】

  • 条件分岐数
    • 各関数が処理できる条件分岐の数を示す。
    • IFのネストやCHOOSEは条件分岐数に制限があるが、IFSやSWITCHは制限がなく、多数の条件分岐に対応可能。
  • 条件指定の制約
    • CHOOSE関数のみ、1から始まる連番である必要がある。
    • 連続していない数字や、文字列ごとに分岐させるなら、CHOOSE関数は使用できない。
  • 処理速度
    • IF関数
      • 最も基本的な条件分岐構文であり、単純な条件に対して高速に処理可能。
      • ただし、条件が複雑になると、処理速度が低下する。
    • IFS関数
      • 複数の条件を評価する必要がある場合に使用される。
      • IFよりも条件を簡潔に表現できるため、処理速度がやや高速。
    • CHOOSE:複数の値の中から1つを選択する場合に使用されます。 一般的には、IFよりも速い処理速度を持ちます。
    • SWITCH:多数の条件分岐がある場合に使用されます。条件分岐が多い場合でも、複雑な条件でも高速に処理できます。 ただし、条件分岐の数が少ない場合は、IFよりも遅くなる可能性があります。
  • 可読性
    • 各関数の関数式の読みやすさを示す。
    • IF関数のネストやCHOOSE関数は条件分岐が増えるとネストが深くなってしまい、読みにくくなる傾向がある。
    • IFS関数やSWITCH関数は条件分岐を一覧できるため、比較的読みやすいと言えます。

1.値と結果の引数をペア換算

2.MECEとは、Mutually Exclusive Collectively Exhaustiveの略で、相互に排他的かつ網羅的であること

3.非該当条件とは、いずれの条件にも該当しない条件のこと。例えば、

各関数の違い(詳細)

IF関数のネスト

IF関数のネストは、具体例を挙げると、以下のようになります。

=IF(条件1=1,"りんご",IF(条件2=2,"バナナ",IF(条件3=3,"オレンジ","該当なし"))) 


条件1がTRUEの場合は「りんご」、条件1がFALSEで条件2がTRUEの場合は「バナナ」が返ります。
条件1と条件2が共にFALSEで、条件3がTRUEの場合は「該当なし」が返ります。

IFS関数

IFS関数は、具体例を挙げると、以下のようになります。

=IFS(条件1, "りんご", 条件2, "バナナ", 条件3, "オレンジ",条件4, "該当なし") 

条件1がTRUEの場合は「りんご」、条件2がTRUEの場合は「バナナ」、条件3がTRUEの場合は「オレンジ」が返ります。
条件1~3の範囲外の場合は「該当なし」になります。

CHOOSE関数

CHOOSE関数は、具体例を挙げると、以下のようになります。

=CHOOSE(条件, "りんご", "バナナ", "オレンジ","非該当") 


この場合、条件が1の場合は「りんご」、条件が2の場合は「バナナ」、条件が3の場合は「オレンジ」が返ります。 「りんご」「バナナ」「オレンジ」にも該当しない場合は、「該当なし」が返ります。

SWITCH関数

SWITCH関数は、具体例を挙げると、以下のようになります。

=SWITCH(A1,1,"A",2,"B",3,"C","該当なし") 


この場合、条件が1の場合は「りんご」、条件が2の場合は「バナナ」、条件が3の場合は「オレンジ」が返ります。条件が1~3の範囲外の場合は、「該当なし」が返れされます。 排他条件の指定が可能で、条件が1~3の範囲外の場合もエラーしない点が特徴です。

各関数の使い分け

それぞれの関数は使い方によって最適なケースが異なるため、以下の順序でフィルタリングすることで使い分けの判定を行いましょう。

  1. 【条件数】
    • 条件が2つだけであれば、IF関数を使用することができます。しかし、3つ以上の条件がある場合は、IF関数、IFS関数、SWITCH関数のどれかを使用する必要があります。 「処理速度」「判読性」の観点からです。
  2. 【条件指定の制約】
    • 条件が1から始まる連番の場合、CHOOSE関数を使用することを検討しましょう。連続していない数字や、文字列ごとに分岐させる必要がある場合は、IF関数、IFS関数、SWITCH関数を使用することが適しています。
  3. 【CHOOSE関数とSWITCH関数で迷ったら】
    • 一般的に、CHOOSE関数は制限が多く、SWITCH関数を使用することをおすすめします。
  4. 【IFS関数とSWITCH関数で迷ったら】
    • 条件が複雑な場合は、SWITCH関数を使用することが適しています。ただし、保守的な人がいる場合は、IFS関数を使用することを検討しましょう。

次に、「どの関数を使用すべきか」のフローチャート図を記載しました。

開始
|
条件数
 |__ 1つ   → IF関数を使用
 |__ 2つ以上 → IF関数、IFS関数、SWITCH関数のいずれかを使用
|
条件指定の制約があるか?
 |__ 1から始まる連番 → CHOOSE関数を使用
 |__ それ以外 → SWITCH関数を使用
|
CHOOSE関数とSWITCH関数で迷ったら?
 |__ SWITCH関数を使用
|
IFS関数とSWITCH関数で迷ったら?
 |__SWITCH関数を使用
 |__ただし、保守的、且つ、小うるさい人が目を光らせている場合はIFS関数を使用
|
終了

以上が、IF関数、IFS関数、CHOOSE関数、SWITCH関数の使い分け方法の判定基準です。
適切な関数を選択することで、より効率的な処理が実現できます。

最後に

以上の説明を踏まえて、IF関数のネスト、IFS関数、CHOOSE関数、SWITCH関数の違いと使い分けについて理解することができたはずです。

各関数の使い分けとしては、「フローチャート図」を活用していただければと思います。

Excel関数を使用することで、より複雑な計算や分析を簡単に行うことができます。
また、関数を適切に使い分けることで、より効率的かつ正確なデータ処理を行うことができます。

参考記事

本記事の読みやすさをさらに向上させるために、Excel関数に関する原理原則についてまとめた記事を紹介します。

Excel関数を学ぶ前に

Excelほど、馴染みがあり、広く浸透しているツールもないでしょう。 さらに、Excel関数はExcel作業を便利するパッケージであり、習得することで、大きな進歩につながりま…

Excel関数の種類は大まかに知っておこう

冷静に、スムーズに仕事ができるため、Excel関数の種類を大まかに知っておくことが大切です。 Excel 2019では、Excel関数が全486関数もありますが、Excel機能を上手に活用…

Excel関数にはそれぞれ構文がある

Excel関数には構文があります。それが、引数と戻り値です。構文に沿えばいいだけです。言わば、数学の公式のようなものです。理論を知らなくても、公式に当てはめれば答え…

Excel関数の引数とは

Excelの引数は、料理を完成させるための材料のようなものです。しかも、材料に種類があります。その種類を理解すると、Excel関数を上手く使いこなせるようになります。

Excelの検索ダイアログから、関数を探す

Excelの検索ダイアログに使えば、目的の関数を発見しやすくなります。WEB検索する前に、Excel関数の検索ダイアログを使ってみましょう。