【EXCEL | SWITCH関数】条件の結果によって出す答えを変える

スポンサーリンク

条件の結果によって出す答えを変える

IF関数 で条件分岐の数式を作っていると、条件のあるセルの値によって答えを変えたいことってありますよね?

2つや3つくらいならIF関数で特に問題ないと思いますが、それ以上増えたり、後から分岐の数が増えたりなんかすると、IF関数で書いていると、数式が複雑になって混乱しやすくなっちゃいます。

例えばこんな感じです。

A列に条件として、○、△、□、●、▲、■を選択する項目があります。

そのA列の選択肢によって、B列の表示を以下のようにします。

○→1

△→2

□→3

●→4

▲→5

■→6

それ以外→-

IF関数を使うと次のような数式になります。

=IF( A2="○", 1, IF( A2="△", 2, IF( A2="□", 3, IF( A2="●", 4, IF( A2="▲", 5, IF( A2="■", 6, "-" ))))))

B列に、上記の数式を入力します。

いや~、ややこしいですね。

今回紹介するSWITCH関数を使うことで、こういった条件式をシンプルに分りやすく書くことが出来ます。


SWITCH関数

構文

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

  • …評価の対象となるセルや数式を指定します。
  • …「式」に対する条件となる値を指定します。
  • 結果…「式」が「値」に一致する場合に表示する結果を指定します。
  • 既定値…一致する「値」がなかった場合に表示する結果を指定します。

”式”と”値”が一致するかどうかを調べて、最初に一致する”値”に対応する”結果”が返されます。値と結果のペアは最大で126組指定出来ます。

※SWITCH関数では、式に指定出来るのは1つだけになります。複数の条件式の結果によって答えを分けたい場合ははIFS関数を使います。


それでは早速、先程IF関数で書いた数式を

=IF( A2="○", 1, IF( A2="△", 2, IF( A2="□", 3, IF( A2="●", 4, IF( A2="▲", 5, IF( A2="■", 6, "-" ))))))

SWICH関数で書き直します。

次のようになります。

=SWITCH(A2, "○", 1, "△", 2, "□", 3, "●", 4, "▲", 5, "■", 6, "-")

評価したい対象は、A列の値なので、「式」にはA2を入れます。(3行目以降は、A3→A4となります)

「値」と「結果」の組み合わせは、全部で6種類ですね。カンマで区切って順番に記述します。

最後に、値が見つからなかった場合の値(「既定値」)を入れます。

IF関数で書いたときに比べて、シンプルで分かりやすい数式になっていることが分かります。

これなら、条件が増えたときも対応が簡単です。

ではEnterで確定して、B8セルまで数式をコピーし、結果を確認しましょう。

IF関数の時と同じ結果が出ました。