スプレッドシートのSWITCH関数の使い方|ケース分岐をIFネストよりスッキリ書く実務7パターン

スポンサーリンク

「部署コードを部署名に変換したい」「ステータスコードに応じてラベルを出し分けたい」。スプレッドシートの一覧表でよくある作業ですよね。こんなときに IF関数 のネストで書くと、条件が増えるたびに括弧が深くなって、後から修正するのも一苦労です。

そんなときに便利なのが SWITCH関数 です。判定したい値と、それに対する結果をペアで並べていくだけで、IFネストよりずっと読みやすいケース分岐が書けます。プログラミングのswitch文と同じ発想なので、エンジニア出身の方には馴染みのある関数ですね。

この記事ではSWITCH関数の基本構文から、部署コード変換・曜日名変換・進捗ラベル表示・ARRAYFORMULAによる一括判定など、実務でそのまま使える7パターンを早見表付きで紹介します。#N/A#VALUE!エラーの対処法、IF関数IFS関数CHOOSE関数との使い分けまで整理しますよ。

  1. スプレッドシートのSWITCH関数とは?値の完全一致でケース分岐する関数
    1. SWITCH関数で何ができる?
  2. SWITCH関数の構文と引数
    1. 基本構文
    2. 引数の説明
    3. SWITCH関数の動作イメージ早見表
  3. SWITCH関数の基本的な使い方
    1. 文字列のコードでケース分岐する
    2. 数値のコードでケース分岐する
    3. 数式の結果に対してケース分岐する
    4. 基本パターンの早見表
  4. 実務で使えるSWITCH関数の活用パターン7選
    1. パターン1: 部署コードから部署名を自動変換する(総務・人事向け)
    2. パターン2: 申請ステータスを処理コメントに変換する
    3. パターン3: 曜日番号を日本語の曜日名に変換する
    4. パターン4: 進捗ステータスコードを日本語ラベルに変換する(タスク管理向け)
    5. パターン5: 範囲条件の代用としてTRUEパターンで使う(IFSの代わり)
    6. パターン6: 既定値で「該当なし」「未分類」を必ず返すようにする
    7. パターン7: ARRAYFORMULAで列全体を一括変換する(Sheets限定)
  5. SWITCH関数のよくあるエラーと対処法
    1. #N/Aエラー(一致する値がない)の対処法
    2. #VALUE!エラー(引数が不正)の対処法
    3. 全角・半角の不一致に注意
    4. 文字列と数値の混在に注意
  6. SWITCH関数と似た関数の使い分け
    1. IFネスト→SWITCH関数への書き換え(Before/After)
    2. SWITCH関数とIFS関数の使い分け
    3. SWITCH関数とCHOOSE関数の使い分け
    4. SWITCH関数とVLOOKUP関数の使い分け
  7. SWITCH関数のよくある質問(FAQ)
  8. ExcelのSWITCH関数との違い
  9. まとめ:SWITCH関数で完全一致のケース分岐をスッキリ書こう
    1. この記事で紹介した関数・関連記事

スプレッドシートのSWITCH関数とは?値の完全一致でケース分岐する関数

SWITCH関数(読み方: スイッチ関数)は、1つの値を複数の候補と照合し、最初に一致した候補に対応する結果を返す関数です。関数名はプログラミング言語のswitch文に由来していて、「ケース分岐」という考え方をそのまま関数化したものですね。

たとえば「部署コードがS01なら営業部、A01なら総務部、F01なら経理部」のように、値と結果のペアを並べていくだけで分岐が完成します。IF関数のネストのように IF(... IF(... IF(...))) と入れ子になることがないので、条件が5つ・10個と増えても式が読みやすいままです。

SWITCH関数で何ができる?

SWITCH関数が活躍するのは、おもに次のような場面です。

  • 部署コード・支店コード・商品コードなどの コード値を表示用のラベルに変換 したいとき
  • 申請ステータス(「承認」「却下」「保留」)に応じて コメントやアイコンを出し分け たいとき
  • WEEKDAY関数 の結果(1〜7)を 日本語の曜日名に変換 したいとき
  • タスクの進捗コード(0〜4)を 「未着手」「進行中」などの日本語ラベル に変換したいとき
  • 候補が10個以下で固定されていて、わざわざVLOOKUP関数で別テーブルを作るほどでもないとき

NOTE: SWITCH関数はGoogleスプレッドシートの全バージョンで使えます。Excelでは2019以降またはMicrosoft 365で対応しています。古いExcel(2016以前)と互換性が必要なファイルでは使えないので、その場合はIFネストやVLOOKUPで代用してください。Excel版の詳しい解説は ExcelのSWITCH関数の使い方 もあわせてご覧ください。

SWITCH関数の構文と引数

基本構文

=SWITCH(式, 値1, 結果1, [値2, 結果2], ..., [既定値])

最初に判定したい「式(セル参照や数式)」を1つ書き、その後に 「値, 結果」のペア を並べていきます。最後の引数を1つだけ余らせると、それが「どの候補にも一致しなかったとき」の 既定値 として扱われます。

引数の説明

引数必須/任意説明
必須比較対象となるセル参照、数値、文字列、または数式
値1必須式と照合する最初の候補
結果1必須値1と一致したときに返す値
値2〜値126任意追加の候補(最大126ペアまで指定可)
結果2〜結果126任意各値に対応する結果
既定値任意どの候補にも一致しなかったときに返す値(省略可だが、省略すると#N/Aエラー)

値と結果は必ずセットで指定します。引数を後ろから数えて 奇数番目 が余ったときに、それが既定値として扱われる仕組みです。文字列を値にする場合は "S01" のようにダブルクォーテーションで囲み、数値の場合は囲みません。

TIP: 既定値は省略可能ですが、省略すると一致しなかったときに #N/A エラーが返ります。実務では「該当なし」「未分類」など意味のある文字列を入れておくと、後から見たときにも安全です。

SWITCH関数の動作イメージ早見表

数式の例A2の値戻り値
=SWITCH(A2, "S01", "営業部", "A01", "総務部", "該当なし")“S01”営業部
=SWITCH(A2, "S01", "営業部", "A01", "総務部", "該当なし")“A01”総務部
=SWITCH(A2, "S01", "営業部", "A01", "総務部", "該当なし")“X99”該当なし
=SWITCH(A2, "S01", "営業部", "A01", "総務部")“X99”#N/A(既定値なし)
=SWITCH(A2, 1, "S", 2, "A", 3, "B", "未評価")2A
=SWITCH(A2, 1, "S", 2, "A", 3, "B", "未評価")99未評価

上から順に値を照合していき、最初に一致した結果を返したら処理は終了 します。同じ値を複数回書いても、最初に書いた結果しか返らない点に注意してください。

SWITCH関数の基本的な使い方

文字列のコードでケース分岐する

実務でいちばん多いパターンです。A列に部署コード、B列に変換した部署名を表示するケースで見てみましょう。

=SWITCH(A2, "S01", "営業部", "A01", "総務部", "F01", "経理部", "該当なし")

A2が「S01」なら「営業部」、「A01」なら「総務部」、「F01」なら「経理部」、それ以外なら「該当なし」が返ります。IF関数のネストで同じことを書くと =IF(A2="S01", "営業部", IF(A2="A01", "総務部", IF(A2="F01", "経理部", "該当なし"))) になりますが、SWITCH関数なら「A2=」を3回も繰り返さずに済むのがメリットです。

数値のコードでケース分岐する

評価ランク(1〜4)を S/A/B/C のラベルに変換するパターンです。数値の場合は値をダブルクォーテーションで囲む必要はありません。

=SWITCH(B2, 1, "S", 2, "A", 3, "B", 4, "C", "未評価")

B2が「1」なら「S」、「3」なら「B」、範囲外(0や5など)なら「未評価」が返ります。コードが連続した整数(1, 2, 3, …)なら CHOOSE関数 のほうが短く書けますが、コードが「1, 3, 5」のように飛び飛びだったり、「0=未着手」のように0始まりだったりする場合はSWITCH関数の出番です。

数式の結果に対してケース分岐する

引数の「式」には、セル参照だけでなく数式そのものを書くこともできます。たとえばWEEKDAY関数の結果を日本語の曜日に変換するパターンです。

=SWITCH(WEEKDAY(A2), 1, "日", 2, "月", 3, "火", 4, "水", 5, "木", 6, "金", 7, "土")

WEEKDAY(A2)は1〜7の数値を返すので、その結果を直接SWITCH関数の「式」に渡しています。中間セルに曜日番号を表示する必要がないので、列が増えずスッキリします。

基本パターンの早見表

数式用途既定値の扱い
=SWITCH(A2, "S01", "営業部", "A01", "総務部", "該当なし")文字列コード→ラベル変換“該当なし”
=SWITCH(B2, 1, "S", 2, "A", 3, "B", 4, "C", "未評価")数値コード→ラベル変換“未評価”
=SWITCH(WEEKDAY(A2), 1, "日", 2, "月", ..., 7, "土")数式の結果→ラベル変換省略(1〜7で全パターン網羅)
=SWITCH(TRUE, A2>=80, "A", A2>=60, "B", TRUE, "C")範囲判定の代用(IFSのほうが推奨)最後のTRUE

実務で使えるSWITCH関数の活用パターン7選

ここからは、実務でそのまま使えるSWITCH関数の活用パターンを7つ紹介します。「コード変換」「ラベル変換」「曜日変換」「複合条件」「配列対応」など、よくある場面を網羅しているので、自分のケースに近いものから試してみてください。

パターン1: 部署コードから部署名を自動変換する(総務・人事向け)

社員データの部署コードを、報告書に貼るための読みやすい部署名に変換する場面です。A列に社員名、B列に部署コードが入っているとします。

=SWITCH(B2, "S01", "営業部", "A01", "総務部", "F01", "経理部", "H01", "人事部", "IT1", "情報システム部", "不明")

候補が10個以下の場合は、SWITCH関数が最もシンプルです。マスタテーブルを別シートに作らずに済むので、軽い変換ならこれで十分ですよ。

TIP: 部署コードが20個・30個と増えてくる場合は、別シートにマスタテーブルを作って VLOOKUP関数 で参照したほうがメンテしやすくなります。「マスタを更新するときに数式を書き換えるかどうか」が分かれ目です。

パターン2: 申請ステータスを処理コメントに変換する

申請管理シートで、ステータス(「承認」「却下」「保留」など)に応じたコメントを表示するパターンです。

=SWITCH(B2, "承認", "処理完了", "却下", "差し戻し対応", "保留", "確認待ち", "取下げ", "対応不要", "ステータス不明")

B2が「承認」なら「処理完了」、「保留」なら「確認待ち」が返ります。担当者がコメント欄に書く文言を統一できるので、後から検索したり集計したりするのもラクになります。

パターン3: 曜日番号を日本語の曜日名に変換する

WEEKDAY関数 の結果を日本語の曜日に変換する定番パターンです。A列に日付が入っているとします。

=SWITCH(WEEKDAY(A2), 1, "日", 2, "月", 3, "火", 4, "水", 5, "木", 6, "金", 7, "土")

WEEKDAY関数の戻り値は1=日曜〜7=土曜なので、それぞれに対応する日本語を並べるだけです。「曜日(営業日/休日)」を出し分けるなら、次のように2パターンにまとめることもできます。

=SWITCH(WEEKDAY(A2, 2), 6, "休日", 7, "休日", "営業日")

WEEKDAY関数の第2引数に2を指定すると「月曜=1〜日曜=7」になるので、6(土)と7(日)だけ「休日」、それ以外はすべて既定値の「営業日」が返ります。

TIP: 曜日変換は TEXT関数=TEXT(A2, "ddd")(→月、火…)と書く方法もあります。SWITCH関数のメリットは 任意のラベル(例: 「Mon」「Tuesday」「定休日」)に自由に変換できる こと。TEXT関数では「月」を「Mon」に変えられないので、表記をコントロールしたい場面ではSWITCH関数を選びましょう。

パターン4: 進捗ステータスコードを日本語ラベルに変換する(タスク管理向け)

タスク管理シートで、数値の進捗コード(0〜4)を読みやすいラベルに変換する例です。

=SWITCH(A2, 0, "未着手", 1, "進行中", 2, "レビュー中", 3, "完了", 4, "差し戻し", "不明")

数値コードの場合もダブルクォーテーションは不要です。コードを直接見るよりラベル表示にすると、一目で状況がわかりますよね。スプレッドシートで条件付き書式と組み合わせると、ラベルに応じてセルの色を変えることもできます。

パターン5: 範囲条件の代用としてTRUEパターンで使う(IFSの代わり)

SWITCH関数は本来 完全一致しか判定できません が、第1引数にTRUEを指定する裏ワザを使うと、範囲条件(80点以上ならAなど)も書けます。

=SWITCH(TRUE, A2>=80, "A", A2>=60, "B", A2>=40, "C", "D")

仕組みはこうです。

  1. 第1引数を TRUE にする
  2. 値の位置に A2>=80 のような比較式を書く(結果はTRUE/FALSEになる)
  3. TRUEと一致した最初の結果が返る

ただし、このパターンは IFS関数 のほうが意図が伝わりやすいので、範囲判定なら基本的にはIFS関数を使うことをおすすめします。

=IFS(A2>=80, "A", A2>=60, "B", A2>=40, "C", TRUE, "D")

このIFS版とほぼ同じ意味ですね。SWITCH関数のTRUEパターンを使うのは「マクロ内などでIFS関数が使えない環境」「すでにSWITCH関数で書き始めていて統一したい」場合に限定しましょう。

パターン6: 既定値で「該当なし」「未分類」を必ず返すようにする

SWITCH関数の 既定値は必ず設定しておく のがおすすめです。理由は、未登録のコードが入力されたときに #N/A エラーを返さず、データの異常に気付きやすくするためです。

=SWITCH(A2, "S01", "営業部", "A01", "総務部", "該当なし")

「該当なし」の行が一覧表に並べば、コードの入力ミスや新規コードの追加漏れがすぐ発見できます。エラー値(#N/A)だと、フィルタや並べ替えで除外されたり、SUM関数の対象範囲でエラーが伝播したりして扱いづらいんですよね。

TIP: 既定値に空文字""を入れると「何も表示しない」設定にできます。=SWITCH(A2, "S01", "営業部", "A01", "総務部", "") のように書けば、未登録コードは空欄になります。

パターン7: ARRAYFORMULAで列全体を一括変換する(Sheets限定)

スプレッドシート特有の機能、ARRAYFORMULA を組み合わせて列全体を一括判定するパターンです。残念ながら SWITCH関数は直接ARRAYFORMULA化できません (配列を渡しても1セル分の結果しか返らないため)。代わりに IFS関数 を使います。

=ARRAYFORMULA(IFS(B2:B100="", "", B2:B100="S01", "営業部", B2:B100="A01", "総務部", TRUE, "該当なし"))

B2:B100="" で空白行は空白のまま残し、データがある行だけラベル変換しています。1つの数式で列全体に対応するので、フィルダウン不要・データ追加にも自動対応する設計です。

「SWITCH関数で書きたいけれど配列対応したい」場合は、思い切ってIFS関数に書き換えるのが現実的な解です。SWITCH関数は1セル単位の処理が前提、と覚えておきましょう。

SWITCH関数のよくあるエラーと対処法

SWITCH関数は構文がシンプルな分、エラーパターンも限定的です。代表的なものを早見表でまとめます。

エラー・現象原因対処法
#N/A値が候補に一致せず、既定値も省略している最後の引数に「該当なし」など既定値を追加する
#VALUE!引数の数が不正(値だけあって結果がない)値と結果がペアになっているか確認する
#NAME?関数名のスペルミス(SWICH・SWHICHなど)=SWITCH と正しく入力する
#ERROR!カンマの数が合わない・カッコ忘れ引数の区切りとカッコの対応をチェック
期待と違う結果が返る全角/半角の不一致(”S01″と”S01”)ASC関数で半角に統一してから判定
期待と違う結果が返る文字列と数値の混在(”1″と1)比較対象の型を揃える

#N/Aエラー(一致する値がない)の対処法

SWITCH関数でいちばん多いエラーです。式の値がどの候補にも一致せず、既定値も指定されていないときに発生します。

=SWITCH(A2, "S01", "営業部", "A01", "総務部")

A2が「F01」の場合、一致する候補がないため #N/A エラーになります。対処法は最後に既定値を追加する だけです。

=SWITCH(A2, "S01", "営業部", "A01", "総務部", "該当なし")

既存のSWITCH関数のエラーを後から隠したいだけなら、IFERROR関数 で囲む方法もあります。

=IFERROR(SWITCH(A2, "S01", "営業部", "A01", "総務部"), "該当なし")

ただし、はじめからSWITCH関数の既定値を設定するほうがシンプルで読みやすいので、IFERRORは応急処置と考えましょう。

#VALUE!エラー(引数が不正)の対処法

引数の数が不足している場合に発生します。値だけを指定して、対応する結果を書き忘れるケースが典型です。

=SWITCH(A2, "S01")

この式では値1(”S01″)に対応する結果1がないためエラーになります。「値と結果はペア」というルールを意識して、引数を1つずつ数えながら書きましょう。

全角・半角の不一致に注意

SWITCH関数の値の照合は 大文字と小文字を区別しません(「abc」と「ABC」は同じと判定)が、全角と半角は区別します(「S01」と「S01」は別物)。データの表記ゆれがある場合は、事前にASC関数で半角に統一しておくと安心です。

=SWITCH(ASC(A2), "S01", "営業部", "A01", "総務部", "該当なし")

ASC(A2)で全角英数字を半角に変換してから判定するので、入力時のばらつきを吸収できます。

文字列と数値の混在に注意

数値の「1」と文字列の「”1″」は別物として扱われます。コード列に文字列で「1」が入力されていると、数値の1では一致しません。

=SWITCH(A2, 1, "S", 2, "A", "未評価")

A2が文字列の「”1″」だと、上の式では「未評価」が返ります。セルの表示形式が「文字列」になっている場合は、=SWITCH(VALUE(A2), 1, "S", ...) のように VALUE関数 で数値に変換してから判定するか、判定する値も文字列で揃えて =SWITCH(A2, "1", "S", "2", "A", ...) と書きます。

SWITCH関数と似た関数の使い分け

ケース分岐や条件判定に使える関数は他にもあります。それぞれの特徴を比較して、場面に応じて使い分けましょう。

関数判定方式範囲条件既定値向いている場面
SWITCH完全一致不可最後の引数コード→ラベル変換(候補10個以下)
IF(ネスト)自由な条件式最後のELSE条件1〜2個の単純な分岐
IFS自由な条件式TRUE+値で代用範囲条件(80点以上ならAなど)
CHOOSE連続整数のインデックス不可なし(#VALUE!)連番(1,2,3…)→値の変換
VLOOKUP完全一致/近似一致近似なら可別途設定候補10個超のマスタ参照

IFネスト→SWITCH関数への書き換え(Before/After)

部署コードを3種類で判定する場合を見比べてみましょう。

Before(IFネスト):

=IF(A2="S01", "営業部", IF(A2="A01", "総務部", IF(A2="F01", "経理部", "該当なし")))

After(SWITCH関数):

=SWITCH(A2, "S01", "営業部", "A01", "総務部", "F01", "経理部", "該当なし")

IFネストでは A2= を3回繰り返していますが、SWITCH関数では1回で済みます。条件が増えるほど、この差は大きくなりますよ。読み手も「これは値の照合だな」と一目で意図が掴めるのがメリットです。

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

SWITCH関数は完全一致専用、IFS関数は自由な条件式が書けます。

  • 値の完全一致で振り分け → SWITCH関数
  • >= < などの範囲条件で振り分け → IFS関数
  • 条件式を細かくカスタマイズ → IFS関数

たとえば「80点以上ならA、60点以上ならB...」のような範囲判定にはSWITCH関数は不向きです。IFS関数を使いましょう。

=IFS(B2>=80, "A", B2>=60, "B", B2>=40, "C", TRUE, "D")

逆に「コードが完全に一致するかどうか」を判定するなら、SWITCH関数のほうが意図が明確に伝わります。

SWITCH関数とCHOOSE関数の使い分け

CHOOSE関数連続した整数(1, 2, 3, ...) をインデックスとして値を返す関数です。

=CHOOSE(B2, "S", "A", "B", "C")

B2が1なら"S"、2なら"A"、3なら"B"、4なら"C"が返ります。値が1から始まる連番なら、こちらのほうが短く書けます。

ただし、CHOOSE関数は次のケースに弱いです。

  • 値が 0始まり(CHOOSEは1以上が必要)
  • 値が 飛び飛び(1, 3, 5など)
  • 値が 文字列(CHOOSEは数値のみ)
  • 既定値が設定できない (範囲外は#VALUE!エラー)

これらに該当する場合はSWITCH関数を使いましょう。「コードがそのまま連番ならCHOOSE、そうでなければSWITCH」と覚えておくとラクです。

SWITCH関数とVLOOKUP関数の使い分け

候補が10個を超えてくると、SWITCH関数の式は長くなってメンテしづらくなります。そんなときは別シートにマスタテーブルを作って VLOOKUP関数 で参照したほうが扱いやすいです。

  • 候補10個以下・固定 → SWITCH関数(マスタ不要、式に直接書ける)
  • 候補10個超・変動あり → VLOOKUP関数(マスタ更新で対応可能)
  • 複数列を参照したい → VLOOKUP関数やQUERY関数

部署マスタのように「部署コード」「部署名」「部署長名」「所在地」のように複数列ある情報を扱うなら、SWITCH関数では対応できません。素直にマスタテーブル+VLOOKUPを使いましょう。

SWITCH関数のよくある質問(FAQ)

Q1. SWITCH関数とIF関数のネスト、どちらを使うべき?

A. 「値の完全一致で振り分ける」場合は、SWITCH関数のほうが読みやすいです。IF関数のネストは、条件が >= < などの範囲判定や、複数条件の組み合わせ(AND/OR)を含む場合に使います。値の照合だけなら迷わずSWITCH関数を選びましょう。

Q2. SWITCH関数とIFS関数の違いは何?

A. SWITCH関数は 1つの式と複数の候補値を完全一致で照合 します。IFS関数は 複数の条件式を順番に評価 します。「部署コードならSWITCH」「点数の範囲判定ならIFS」と覚えると使い分けやすいです。詳しくは スプレッドシートのIFS関数の使い方 もご覧ください。

Q3. SWITCH関数で範囲条件(80点以上ならAなど)を書ける?

A. 第1引数に TRUE を指定すれば書けますが、可読性の観点からは IFS関数 のほうが推奨です。=IFS(A2>=80, "A", A2>=60, "B", TRUE, "C") のように書いたほうが意図が伝わります。

Q4. SWITCH関数の既定値を省略するとどうなる?

A. どの値にも一致しないと #N/A エラーが返ります。実務では「該当なし」「未分類」「空文字""」など、意味のある既定値を設定しておくのがおすすめです。

Q5. SWITCH関数をARRAYFORMULAで列全体に適用したい

A. SWITCH関数は配列引数に対応していないため、ARRAYFORMULAでは1セル分しか結果が返りません。列全体に適用したい場合は IFS関数 に書き換えてください。例: =ARRAYFORMULA(IFS(A2:A100="", "", A2:A100="S01", "営業部", TRUE, "該当なし"))

Q6. SWITCH関数は古いExcelでも使える?

A. Excel 2019以降またはMicrosoft 365でのみ使えます。Excel 2016以前と互換性が必要なファイルでは、IFネストかVLOOKUP関数で代用してください。

Q7. SWITCH関数で値を大文字・小文字区別して判定したい

A. SWITCH関数は値の照合で大文字・小文字を区別しません("abc"と"ABC"が一致する)。区別したい場合は EXACT関数 を使ってIFS関数で書き換えます。例: =IFS(EXACT(A2, "ABC"), "X", EXACT(A2, "abc"), "Y", TRUE, "")

ExcelのSWITCH関数との違い

SWITCH関数はExcel(2019以降)とGoogleスプレッドシートで 基本動作はほぼ同じ です。構文・引数・既定値の扱いはすべて共通で、ファイルをやり取りしても結果がずれることはありません。

項目GoogleスプレッドシートExcel(2019以降)
基本構文=SWITCH(式, 値1, 結果1, ..., [既定値])同じ
最大ペア数126ペア126ペア
既定値最後の奇数引数最後の奇数引数
大文字・小文字区別しないしない
全角・半角区別するする
配列対応なし(ARRAYFORMULAでも1セル分)なし(スピル非対応)
対応バージョン全バージョン2019以降またはM365

両環境での差は実質ないので、Excelで作ったSWITCH関数の数式はそのままスプレッドシートに貼っても動きます。Excel版の詳しい解説は ExcelのSWITCH関数の使い方 をご覧ください。

まとめ:SWITCH関数で完全一致のケース分岐をスッキリ書こう

SWITCH関数は、値と結果のペアを並べていくだけで完全一致のケース分岐ができる シンプルな関数です。ポイントをおさらいしましょう。

  • 構文は =SWITCH(式, 値1, 結果1, 値2, 結果2, ..., 既定値)。値と結果は必ずペアで指定
  • 既定値を必ず設定して、#N/Aエラーを防ぐ。未登録コードの発見もしやすくなる
  • IFネストより読みやすく、条件の追加・変更がカンタン
  • 候補10個以下で固定なら SWITCH、10個超や変動ありなら VLOOKUP に切り替える
  • 範囲条件(>=など)には IFS関数、連番には CHOOSE関数 を使い分ける
  • 配列対応が必要なら IFS + ARRAYFORMULA に書き換える

まずは「部署コード→部署名」の変換から試してみてください。IF関数のネストの括弧地獄から解放されて、数式の見通しがグッと良くなりますよ。

この記事で紹介した関数・関連記事

タイトルとURLをコピーしました