エクセル入門
4大分岐関数の使い分け(IF/IFS/SWITCH/CHOOSE)

Excelの初心者向け入門解説
公開日:2026-05-19 最終更新日:2026-05-19

4大分岐関数の使い分け(IF/IFS/SWITCH/CHOOSE)


Excelには複数の「分岐関数」がありますが、実はそれぞれ得意分野が違います。
「IF関数だけで何でも力技で書いていた……」
という人も多いかもしれませんが、適切に使い分けると数式は圧倒的に読みやすくなります。


この記事では、4つの分岐関数の特徴と、実務で迷わないための選び方を分かりやすく解説します。
分岐関数とは?
「条件によって返す結果を切り替える関数」のことです。
たとえば「テストの点数が80点以上なら『合格』、それ以外なら『不合格』にする」という処理を指します。

ページ内目次

分岐関数の特徴まとめ

4つの関数の違いを一覧表にまとめました。

関数名 得意な用途 特徴
IF 2択 最も基本。「〇〇か、それ以外か」の判定向き。
IFS 多段階判定 3つ以上の条件を上から順番に評価する。
SWITCH 完全一致 特定の値と「一致するか」だけを判定。同じ値を何度も書かない。
CHOOSE 番号選択 1, 2, 3...という「連番」に対応した結果を返す。


1. IF関数:すべての基本!単純な2択なら迷わずこれ

特徴
条件が成り立つか、成り立たないかの2つのルートに分岐させる基本の関数です。
「〇〇か、それ以外か」を判定するときに使います。構文Excel=IF(条件式, 真の場合, 偽の場合)

具体例
テストの点数が80点以上なら「合格」、それ以外は「不合格」
=IF(A1>=80, "合格", "不合格")
条件が2つ(合格か不合格か)だけなら、IF関数が最もシンプルです。


2. IFS関数:3つ以上の複雑な条件を上から順に判定

特徴
IF関数を何個も重ねる(ネストする)必要がなくなり、3択以上の複雑な条件をスッキリ書ける関数です。

超重要
IFS関数は「上から順番」に判定される!IFS関数は、数式に書いた条件を左(上)から順番に判定し、最初に条件を満たした段階で処理を終了します。
そのため、条件を書く順番を間違えると正しく動作しません。

❌ 間違った設定例
=IFS(A1>=60, "可", A1>=80, "優")
一見正しそうですが、これだと「80点」の場合、最初の条件(A1>=60)をクリアしてしまうため、その時点で「可」が返されてしまいます。

⭕️ 正しい設定例
=IFS(A1>=80, "優", A1>=60, "可", TRUE, "不可")
このように、条件の厳しい順番(または数値の大きい順番)に書くのが実務で事故を防ぐ鉄則です。
※最後に TRUE を指定すると、それまでの条件にどれも当てはまらなかった場合の「その他(デフォルト値)」を設定できます。


3. SWITCH関数:「この値ならこれ!」という完全一致の分岐

特徴
特定のセル(または数式)の値が、指定したキーワードと「完全に一致するかどうか」だけを判定する関数です。

注意
SWITCH関数は「一致判定専用」です「80以上(>=80)」のような比較条件は使えません。ピンポイントの「値」の判定のみに対応しています。

構文
=SWITCH(式, 値1, 結果1, 値2, 結果2, ..., デフォルト結果)

具体例
役職名に応じて手当の金額を切り替える
=SWITCH(A1, "部長", 50000, "課長", 30000, "係長", 10000, 0)
IFS関数と違って、同じセル名(例:A1)を何度も書く必要がないため、数式がスマートになります。


4. CHOOSE関数:1, 2, 3…の「番号」に対応する候補を選択

特徴
最初の引数に「1からの連番(数値)」を指定し、その番号に対応する位置にある候補を引っ張り出す関数です。
条件式を書く必要がないため、シンプルで分かりやすい数式になります。

構文
=CHOOSE(インデックス, 値1, 値2, 値3, ...)

具体例
曜日番号(1~7)を日本語の曜日名に変換する
(※WEEKDAY関数で日曜日=1、月曜日=2……となっている場合)
=CHOOSE(WEEKDAY(A1), "日", "月", "火", "水", "木", "金", "土")

CHOOSE関数の弱点と注意点
手軽な反面、実務では以下のデメリットに注意が必要です。
  • 「1」から始まる連番しか扱えない(0やマイナスの数値、文字列は不可)。
  • 番号と結果の対応関係(なぜ1番目が"日"なのか等)が数式内でしか分からないため、後から見たときに保守性が下がる(可読性が落ちる)場合がある。


応用:実務では関数に埋め込まず「マスタ表」化を検討しよう

中級者向けのテクニックとして、対応させたいデータ(分岐させたい数)が多くなる場合は、関数内にすべてを書き込むSWITCH関数やIFS関数よりも、「別作成の対応表」を使って や で検索した方が管理しやすいケースが多々あります。

条件の追加・変更が頻繁にある場合は、数式を書き換えるのではなく「マスタ表+XLOOKUP/VLOOKUP/INDEX/OFFSET」の組み合わせを検討しましょう。

ここまで4つの分岐関数を紹介してきましたが、実務で「分岐させる選択肢が5個も10個もある」「将来的に選択肢が増減する可能性がある」という場合は、関数の中に直接条件を書き込むのはおすすめしません。
数式が長くなり、修正時のミス(実務事故)に繋がるからです。
中級者へのステップアップとして、データ量が多い場合は「別の場所(別シートなど)に対応表(マスタ表)を作り、検索関数で引っ張る」という設計に切り替えましょう。

IFS・SWITCH の代わりに → 「マスタ表 + XLOOKUP関数 / VLOOKUP関数」

「役職名(あるいはコード番号)に応じて手当を変える」といった処理は、関数内にすべてを書くのではなく、以下のようにシートを分け「XLOOKUP関数 / VLOOKUP関数」を使うのが実務の王道です。

マスタ表(別シートなど): 役職名と金額の一覧を作っておく
数式を入れるセル: =XLOOKUP(A2, 役職マスタ!A:A, 役職マスタ!B:B)

こうしておけば、手当の金額が変わったり、新しい役職が増えたりしても、数式をいじる必要は一切ありません。マスタ表を更新するだけで一発で反映されます。

CHOOSE の代わりに → マスタ表 + INDEX関数 / OFFSET関数」

CHOOSE関数は「1番目は〇〇、2番目は××」と数式の中に直接候補を並べますが、選択肢が多い場合や、後から選択肢が変わる可能性がある場合は「INDEX関数 / OFFSET関数」を使うのが実務の王道です。

マスタ表(別シートなど): 縦(または横)一列に候補を並べたリストを作っておく
数式を入れるセル: =INDEX(マスタの範囲, 番号)

なぜINDEX関数の方が良いのか?
CHOOSE関数は候補が増えるたびに関数の中に , "候補4", "候補5" と手動で書き足さなければならず、数式がどんどん長くなってしまいます。

一方、INDEX関数であれば、あらかじめセルに用意されたリストから「〇番目の値」を抜き出すだけです。選択肢が増えたり文言が変わったりしても、マスタ(セルの値)を書き換えるだけで済み、数式を直接いじる必要が一切ないため、シートが絶対に壊れません。


まとめ:迷ったときのフローチャート

どの関数を使うべきか迷ったら、以下の流れで判断してみましょう!

2択?
YES ──👉 【IF関数】
NO(3択以上)

├─ 範囲判定(〇〇以上など) ──👉 【IFS関数】(※条件の順番に注意!)

└─ 完全一致(〇〇なら、△△なら)

├─ 文字列や不連続な値 ──👉 【SWITCH関数】
└─ 1, 2, 3...のキレイな連番 ──👉 【CHOOSE関数】

それぞれの関数の強みと弱みを理解して、メンテナンスのしやすいスマートなExcelシートを作っていきましょう!


ワークシート関数全一覧(最新版) ・・・ これが最新版です。詳細解説ページへのリンクあり

エクセのワークシート関数の全一覧です。最新の関数および、(現時点で)Insiderも含みます。キューブ データベース関数 日付と時刻の関数 エンジニアリング関数 財務関数 情報関数 論理関数 検索/行列関数 数学/三角関数 統計関数 文字列関数 ユーザー定義関数 Web関数 2016で追加された関数 2019で追加…
関数辞典 AI版 ・・・ 生成AIで作成した関数解説
この関数辞典は生成AI(Gemini)によって作成したものです。Geminiの説明には不正確な情報が含まれていることがあります。検索 【Excel関数辞典】 調べたい関数名(大文字小文字は区別しない)を入力して「検索」ボタンを押すか、Enterキーを押してください。




同じテーマ「エクセル入門」の記事

MAXIFS関数、MINIFS関数(条件付き最大値最小値)
IFS関数(複数条件)
SWITCH関数(複数値での切替)
4大分岐関数の使い分け(IF/IFS/SWITCH/CHOOSE)
XLOOKUP関数とスピル入門
スピルについて
FILTER関数(範囲をフィルター処理)
SORT関数、SORTBY関数(範囲を並べ替え)
UNIQUE関数(一意の値)
RANDARRAY関数(ランダム数値)
SEQUENCE関数(連続数値)


新着記事NEW ・・・新着記事一覧を見る

2つのシート名を交換するVBAをGeminiに作らせてみた。|VBA技術解説(2026-05-22)
ヘッダーに合わせて列をソートして値貼り付けするスマートな方法|VBAサンプル集(2026-05-20)
4大分岐関数の使い分け(IF/IFS/SWITCH/CHOOSE)|エクセル入門(2026-05-19)
Excel主要関数 習得難易度 10段階(文字列・日付除く)|エクセル雑感(2026-04-27)
Excelのシート5分類|エクセル雑感(2026-03-27)
グループ別に全員共通の重複期間を算出|エクセル練習問題(2026-03-12)
ハイフン区切り文字列の『最初』と『最後』を抽出・結合|エクセル練習問題(2026-02-23)
AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.FILTER関数(範囲をフィルター処理)|エクセル入門
4.変数宣言のDimとデータ型|VBA入門
5.Excelショートカットキー一覧|Excelリファレンス
6.繰り返し処理(For Next)|VBA入門
7.RangeとCellsの使い方|VBA入門
8.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
9.マクロとは?VBAとは?VBAでできること|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ