
LOOKUP関数は1つの行や列から値を検索し、特定範囲の値を抽出するExcelの関数だ。他にも、表の中から縦方向に値を探すVLOOKUP関数、横方向に値を探すHLOOKUP関数がある。それぞれの違いを理解し、正しく関数を活用しよう。
目次
ExcelのLOOKUP関数の使い方が分からない、という方もいるのではないだろうか。LOOKUP関数は1つの行や列から特定の値を探すのに便利な関数だ。
本記事では、ExcelのLOOKUP関数の使い方について解説する。VLOOKUP関数やHLOOKUP関数との違いについてもまとめた。
ExcelのLOOKUP関数とは?
ExcelのLOOKUP関数は1つの行や列から特定の値を探すための関数だ。
たとえば、以下のようにIDごとに個人情報がまとめられた表があったとする。ここから、IDが「1」の人の「名前」や「年齢」を取得したいという場合にLOOKUP関数は活用できる。
LOOKUP関数には次の3つの情報を指定する必要がある。
- 検索する値
- 検索範囲(行・列)
- 取得したい行・列の範囲
■LOOKUP関数の書式
LOOKUP関数の書式は次のとおり。
=LOOKUP({検索値},{検索範囲},{対応範囲})
検索値には検索したい値を入力する。たとえば、上記の個人情報が書かれた表から、IDが「1」の情報を検索したいなら、「1」と記入する。
検索範囲は、検索値をどこからどこまで探せば良いのかを指定する。検索値である「1」はIDの項目から探せば良いので、「A2:A8」と入力する
最後の対応範囲は、取得したい行や列がある範囲を入力する。たとえば、「年齢」を取得したいのであれば、「C2:C8」と入力する。
■LOOKUP関数のベクトル形式・配列形式とは?
LOOKUP関数にはベクトル形式と配列形式の2種類の使い方がある
- ベクトル形式:1つの行あるいは1つの列から値を探す
- 配列形式:表の中(複数の行や列)から値を探す
たとえば、A1からA6までの範囲から値を探す(検索する)場合は、A列のみになるため、ベクトル形式での検索になる。
A1からB6までの範囲から値を探す場合は、A列とB列の2つであるため、配列形式ということになる。
なお、現在は配列形式は非推奨となっている。表の中(複数の行や列)から値を探す場合、VLOOKUP関数やHLOOKUP関数の方が便利だからだ。
基本的にはLOOKUP関数の「検索範囲」には、1行あるいは1列を指定しよう。
■VLOOKUP関数との違い
VLOOKUP関数は表の中(複数の行や列)から、縦方向に値を探す関数である。たとえば、IDが「2」の情報を探す場合、以下のように縦方向に順番に探していく。
VLOOKUP関数はLOOKUP関数と違って、「表の何列目のデータを取得したいか」を指定する。たとえば、「年齢」を取得したい場合、左から3番目なので「3」を指定する。
つまり、VLOOKUP関数には次の3つの情報を指定する必要がある。
- 検索する値
- 検索範囲(表)
- 取得したい値がある列番号
■HLOOKUP関数との違い
HLOOKUP関数は表の中(複数の行や列)から、横方向に値を探す関数である。
HLOOKUP関数に関しては、「表の何行目のデータを取得したいか」を指定する。たとえば、IDが「4」の人の情報を取得したい場合、上から5行目なので「5」を指定する。
HLOOKUP関数には次の3つの情報を指定する必要がある。
- 検索する値
- 検索範囲(表)
- 取得したい値がある行番号
ExcelのLOOKUP関数が便利なシーン
ExcelのLOOKUP関数が便利なシーンを2つ紹介しよう。
- 登録IDから個人情報を抜き出す
- テストの点数に応じてコメントを行う
■1.登録IDから個人情報を抜き出す
まず、登録IDから個人情報を抜き出す方法を紹介する。
以下のようにIDごとに個人情報が書かれた表があるとする。LOOKUP関数を使えば、IDを指定するだけで、そのIDの人の情報を簡単に取得することが可能だ。
以下では、「=LOOKUP(F2,A2:A8,B2:B8)」と入力した。LOOKUP関数によって、F2に書かれたIDの情報を取得しようとしている。
F2は「4」と入力されている。つまり、LOOKUP関数で「4」の値を「A2〜A8」の範囲から探している。そして、「B2〜B8」の範囲から情報を取得しようとしている。
実行すると「佐々木」と表示された。「B2〜B8」の範囲から、IDが「4」であるものを探していたため、このような結果となっている。
今度は、IDが「4」の人の「年齢」を取得してみよう。以下では「=LOOKUP(F2,A2:A8,C2:C8)」と入力した。
「A2〜A8」から「4」を探すのは同じだが、今度は「C2〜C8」の範囲から情報を取得しようとしている。
実行すると、「63」が表示された。「C2〜C8」の範囲から、IDが「4」であるものを探していたため、このような結果となっている。
最後に、IDが「4」の人の「出身地」を取得してみよう。以下では「=LOOKUP(F2,A2:A8,D2:D8)」と入力した。
今度は「D2〜D8」の範囲から情報を取得しようとしている。
実行すると「神奈川」と表示されており、「D2〜D8」の範囲からIDが「4」の情報を取得できていることが分かる。
■2.テストの点数に応じてコメントを行う
今度はLOOKUP関数で、テストの点数に応じて別のコメントを書き込む方法を見ていこう。
以下では、「=LOOKUP(B2,{0,70,80},{“不合格”,”追試”,”合格”})」と入力している。LOOKUP関数の「検索範囲」には「{0,70,80}」と指定している。
そして、「対応範囲」には「{“不合格”,”追試”,”合格”}」を指定している。こうすることで、B2の値が「0点以上70点未満」なら「不合格」、「70点以上80点未満」なら「追試」、「80点以上」なら「合格」と表示できるようになる。
実行すると「追試」と表示された。B2は「78」なので「追試」で合っていることになる。
他の行にも関数を反映させると次のようになる。70点未満の場合は「不合格」、80点以上の場合は「合格」と表示されていることが分かる。
まとめ
本記事ではLOOKUP関数の使い方について解説した。最後に、LOOKUP関数の書式についておさらいしよう。
LOOKUP関数の書式:
「 =LOOKUP({検索値},{検索範囲},{対応範囲}) 」
また、VLOOKUP関数やHLOOKUP関数との違いは次のとおり。
- LOOKUP関数:1行や1列の中から値を探し、特定範囲の値を取得する
- VLOOKUP関数:表の中(複数の行や列)から縦方向に値を探し、特定列の値を取得する
- HLOOKUP関数:表の中(複数の行や列)から横方向に値を探し、特定行の値を取得する
LOOKUP関数を使えば、表の中から簡単に一部分の情報を抜き出せる。
構成/編集部