複数の値の中から一致した値を求める「SWITCH」関数。Excel 2019から新たに追加された。基本的な使い方に加えて、仕事に役立つ実例も紹介する。

複数の値から一致した値を求めるSWITCH(スイッチ)

 SWITCH関数を使えば、「値」の中から「検索値」で指定したセルの中身と一致するものを探し、一致した「値」の直後にある「結果」を返す。すべてカンマ(,)で区切って並列に並べていけばいいだけなので、分かりやすい。この関数は新しく追加されたもので、買い切り型のOffice 2019(Excel 2019)、またはサブスクリプション型のOffice 365を使っている場合のみ使用できる。

書式

書式 SWITCH(検索値,値1,結果1,値2,結果2,…,既定の結果)
検索値(必須) 検索対象となるセルを指定する
値1(必須) 1つめの検索される値を指定する
結果1(必須) 「検索値」が「値1」に一致したときに返す値を指定する
値2(必須) 2つめの検索される値を指定する
結果2(必須) 「検索値」が「値2」に一致したときに返す値を指定する
値3、結果3以降(省略可) 3つめ以降の値やその値に一致したときに返す値を指定する
既定の結果(省略可) 「検索値」が「値」のどれにも一致しなかったときに返す値を指定する

基本的な使い方

 下図は、B2セルの値が「1」位なら「金」、「2」位なら「銀」、「3」位なら「銅」、それ以外なら「メダルなし」という文字列をC2セルに表示する例。

 「検索値」で設定したセルの中身が、「値1」「値2」「値3」と一致する場合は、それぞれ「結果1」「結果2」「結果3」を表示する。「値」の中に一致するものがないときは「既定の結果」を表示する。「IFS」関数とSWITCH関数は使い方がよく似ているが、SWITCH関数は「値」に等号や不等号の記号を使った範囲は指定できない。1対1で一致するものに対して使用する。文字列を表示させるには、「"」(ダブルクォーテーション)で囲む。「値」と「結果」のセットは126個まで設定可能だ。

一致するものがないときは「既定の結果」を返す。ここでは「既定の結果」は「メダルなし」という文字列だ
一致するものがないときは「既定の結果」を返す。ここでは「既定の結果」は「メダルなし」という文字列だ

【仕事での使い方】部署名に対応する部署コードを調べる

「部署名」に応じた「部署コード」を探して表示し、まだ部署コードが設定されていない「新規事業部」は「-」と表示したい
「部署名」に応じた「部署コード」を探して表示し、まだ部署コードが設定されていない「新規事業部」は「-」と表示したい

 社員名簿で、部署名に応じた部署コードを入力したい。「データの入力規則」機能を使い、リストから選択する方法もあるが、その都度選択するのは面倒だし、間違いも起こりやすい。そんなときに便利に利用できるのがSWITCH関数だ。データが増えれば増えるほど、リストから選択するより簡単で時短になる。

 ではC3セルに部署コードを表示してみよう。まず、「検索値」に「部署名」が記載されたセルB3を指定する。そして「値1」を「開発部」、「結果1」に開発部の部署コードである「101」を指定する。その後も「営業部は201」、「広報部は301」……というように、「部署名」と「部署コード」の2つを1セットにしてカンマで区切って記述していく。最後だけは「"-"」と指定。これは、これより左の「値」が「検索値」のセルの中身と一致しなかった場合に表示する文字列だ。いわゆる「その他」である。

 ここでは、「新規事業部」にはまだ部署コードが割り振られていないため、「-」となった。C3セルの入力ができたら、これを下方向にドラッグしてコピーすれば、すべての社員の部署コードが一気に表示できる。

C3セルに図の式を入力すると、部署名に応じた部署コードを表示できる。ドラッグすれば残りのセルにも関数式をコピーできる
C3セルに図の式を入力すると、部署名に応じた部署コードを表示できる。ドラッグすれば残りのセルにも関数式をコピーできる