数式でswitch case文のような処理を実行する (LOOKUP関数を用いて場合分けをシンプルに書く) - Excel

Excelの数式で場合分けをするための方法を紹介します。
補足
新しいバージョンのExcelではSWITCH関数を利用すると同様の処理をよりシンプルに実現できます。SWITCH関数を利用した方法についてはこちらの記事を参照して下さい。
補足
LOOKUP関数以外に、VLOOKUP関数、HLOOKUP関数を利用しても同様の処理ができます。VLOOKUP関数の利用についてはこちらの記事を、 HLOOKUP関数の利用についてはこちらの記事を参照してください。 また、LOOKUP,VLOOKUP,HLOOKUP関数の違いについてはこちらの記事で紹介しています。

概要

Excelの数式で値や計算結果の値で場合分けしたいことがあります。プログラム言語ではswitch~case文などを使って条件分岐できますがExcelにはswitch文のような構文はありません。
Excelで条件分岐と似た処理を実現する方法としてLOOKUP関数を用いる方法があります。LOOKUP関数を用いると、値に応じてセルの内容を変えることができます。この記事ではLOOKUP()関数の利用例を紹介します。

補足

場合分けの方法には、IF文を利用する方法もあります。IF文の利用についてはこちらの記事を参照してください。

LOOKUP関数の書式

ベクトル形式
LOOKUP(検査値, 判定値, 出力)
判定値と出力には、「1行n列」の範囲か「n行1列」の範囲を与えます。
または
配列形式
LOOKUP(検査値, 配列)
配列には、2次元配列以上の配列を与えます。

ベクトル形式のシンプルな例

A1以外の適当なセルに以下の式を入力します。今回の例ではB1に式を入力しました。
=LOOKUP(A1,{1,2,3;"りんご","みかん","パイナップル"})

A1に"1"を入力すると 数式を入力したセルに「りんご」が表示されます。


A1に"2"を入力すると 数式を入力したセルに「みかん」が表示されます。


A1に"3"を入力すると 数式を入力したセルに「パイナップル」が表示されます。


入力された値に応じてセルの表示内容が変わることが確認できます。

ベクトル形式で検査値と配列にセル範囲を使用する例

検査値と配列にセル範囲を指定することもできます。
Excelを起動します。


下記の表を作成します。(H列とI列に検査値と出力を設定します。)


B2のセルに下記の数式を入力します。
=LOOKUP(A2, H1:H9, I1:I9)
検査値をH1からH9のセル範囲の値とし、出力をI1からI9のセルの値とします。


設定直後の状態です。A2セルに値が設定されていないため、"#N/A"が表示されています。


A2セルに、"Pear" を入力します。検査値の"Pear"に対応する値の「なし」がB2セルに表示されます。


A2セルを "Orange" に変更します。検査値に対応する「みかん」がB2セルに表示されます。


A2セルを"Banana"に変更すると、「バナナ」がB2セルに表示されます。

配列形式の例

補足
配列形式を利用する場合は、入力の配列の形状により大きく動作が変わるため、VLOOKUP関数、HLOOKUP関数のどちらかの関数を使うことをお勧めします。
利用例はこちらの記事を参照してください。

このページのキーワード
  • Excel
  • 数式
  • LOOKUP関数
  • 場合分け
著者
iPentecの企画・分析担当。口が悪いのでなるべく寡黙でありたいと思っている。が、ついついしゃべってしまい、毎回墓穴を掘っている。
最終更新日: 2024-01-24
作成日: 2011-06-07
iPentec all rights reserverd.