SWITCHでケースを選ぶ
SWITCHを使い、入力値を複数の結果のいずれかに対応付けます。
「SWITCHでケースを選ぶ」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。
SWITCH がある理由
1つの値を完全一致する候補のリストと比較する場合、ネストした IF では同じ処理の繰り返しになりがちです。同じセル参照を何度も入力することになります。
SWITCH 関数を使えば、この問題を解決できます。値を一度だけ指定し、それぞれの候補と返す結果を並べます。1つの数式の中に、すっきりした参照テーブルを記述したように読めます。
SWITCH の構文
構造は次のとおりです:SWITCH(expression, value1, result1, value2, result2, ..., default)。
- expression は評価する対象で、通常はセルです。
- 次に、候補となる各値と、その結果を組み合わせて指定します。
- 最後に省略可能なデフォルトを指定すると、どの候補にも一致しなかった場合を処理できます。
値はペアで指定し、最後にデフォルトだけを単独で置くこともできます。
=SWITCH(A2, "N", "North", "S", "South", "Unknown")最初の実例
セル A2 に1〜7の日付番号が入り、曜日名を表示するとします。SWITCH で各番号をラベルに対応付けます。
SWITCH は完全一致で expression と各値を比較するため、1に一致するのは1だけで、「1に近い値」では一致しません。
=SWITCH(A2,1,"Mon",2,"Tue",3,"Wed",4,"Thu",5,"Fri",6,"Sat",7,"Sun")デフォルトの追加
セル A2 に、リストにない値である8や入力ミスが入っていたらどうなるでしょうか。デフォルトを指定しないと、SWITCH は #N/A エラーを返します。
最後に、前に対応する値を置かない引数を1つ追加します。SWITCH は、最後に単独で置かれた引数を、どの値にも一致しなかった場合に使うデフォルトとして扱います。
=SWITCH(A2,1,"Mon",2,"Tue",3,"Wed","Invalid day")SWITCH は完全一致で比較する
最も重要なルールは、SWITCH が完全一致だけを確認することです。「より大きい」や「範囲内」といった比較はできません。
そのため、SWITCH はコード、ID、ステータス、カテゴリ名に適しています。一方、点数の範囲で成績を判定する用途には適していません。範囲を扱うには、ネストした IF、または比較条件を使う IFS が必要です。
=SWITCH(B2,"A","Approved","P","Pending","R","Rejected","Review")SWITCH とネストした IF の比較
同じロジックを2通りで比較してみましょう。ネストした IF では A2 を3回繰り返します。
=IF(A2="N","North",IF(A2="S","South",IF(A2="E","East","West")))
SWITCH では A2 を1回だけ指定し、後はすっきりしたペアが続きます。括弧も繰り返しも少なく、後から読んだり編集したりするのがはるかに簡単です。
=SWITCH(A2,"N","North","S","South","E","East","West")数値や数式を返す
IF と同じように、SWITCH の結果にはテキストラベルだけでなく、数値や計算式も指定できます。
ここでは、配送コードによって定額料金を決めます。コードが STD なら5、EXP なら15を返し、それ以外の場合はデフォルト料金の25になります。
=SWITCH(C2,"STD",5,"EXP",15,25)TRUE を使う巧妙な方法
実は、SWITCH で範囲も扱える方法があります。expression に TRUE を指定し、各 value に完全な比較式を指定します。SWITCH は、TRUE と一致した最初の比較式の結果を返します。
これにより、SWITCH のすっきりしたレイアウトを保ちながら、ネストした IF の範囲判定を再現できます。比較式は高い値から低い値の順に並べてください。
=SWITCH(TRUE, A2>=90,"A", A2>=80,"B", A2>=70,"C", "F")さらに詳しい例
A2 のステータスコードを、わかりやすいメッセージと次の対応に変換するとします。4つのコードを対応付け、安全のためのデフォルトも指定します。
1は「新規注文」を意味します2は「発送済み」を意味します3は「配達済み」を意味します4は「キャンセル済み」を意味します- それ以外は「記録を確認」を意味します
=SWITCH(A2,1,"New order",2,"Shipped",3,"Delivered",4,"Cancelled","Check record")利用可能なバージョン
SWITCH は Excel 2019、Excel for Microsoft 365、Google Sheets で利用できます。Excel 2013 以前のような非常に古いバージョンにはありません。
古いバージョンでブックを開くと、SWITCH が #NAME? と表示されることがあります。その場合は、どのバージョンでも使えるネストした IF に切り替えてください。
SWITCH のベストプラクティス
次の点を覚えておくと、SWITCH を最大限に活用できます。
- コード、ステータス、カテゴリなど、完全一致に使います。
- #N/A の予期しないエラーを避けるため、必ずデフォルトを追加します。
- 値と結果のペアをそろえて配置し、確認しやすくします。
- 範囲の判定には
SWITCH(TRUE, ...)の方法を使うか、IFS を使います。
クイックチェック
SWITCH が値をどのように比較するかについて理解度を確認します。
まとめ:SWITCH でケースを選ぶ
SWITCH を使って、1つの値を複数の結果に対応付ける方法を学びました。重要な点は次のとおりです。
- 構文は
SWITCH(expression, value1, result1, ..., default)です。 - 完全一致で判定するため、コードやステータスに適しています。
#N/Aを避けるため、必ずデフォルトを指定します。- 範囲の判定が必要な場合は、
SWITCH(TRUE, comparison, result, ...)を使います。
=SWITCH(A2,"N","North","S","South","E","East","West")よくある質問
「SWITCHでケースを選ぶ」レッスンは無料ですか?
はい。「SWITCHでケースを選ぶ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。
「SWITCHでケースを選ぶ」で何を学びますか?
SWITCHを使い、入力値を複数の結果のいずれかに対応付けます。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Excel Formulas Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「SWITCHでケースを選ぶ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このExcel Formulas Academyレッスンでコードを書いて実行できますか?
はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 複数の結果に対応するIFのネスト
- SWITCHでケースを選ぶ
- CHOOSEで項目を選ぶ
- 複雑なロジックを読みやすく保つ