スプレッドシートLOOKUP関数の使い方|条件に一致した行または列の値を取得

記事内の「“”」「‘’」が全角になっていますが、スプレッドシートで指定する場合は半角に変更してください

本記事では、スプレッドシートのLOOKUP関数について解説していきます。

具体例を使いながら解説していますので、ぜひ参考にしてみてください。

目次

スプレッドシートのLOOKUP関数

スプレッドシートのLOOKUP関数は、条件に一致した行または列の値を取得する関数です。

並べ替えた行または列でキーを検索し、検索行または検索列と同じ位置にある結果範囲のセルの値を返します。

公式ドキュメント

続いてLOOKUP関数の使い方について解説していきます。

LOOKUP関数の使い方

スプレッドシートのLOOKUP関数の使い方は2通りあり、Excelでは「ベクトル形式」と「配列形式」とも呼ばれています。

ベクトル形式

LOOKUP(検索キー, 検索範囲,結果範囲)

スクロールできます
引数説明
検索キー行または列で検索する値を指定します。
検索範囲検索キーに一致しているか調べる単一行または単一列を指定します。
結果範囲値を取得したい行または列を指定します。検索範囲の範囲内で検索キーに一致した場所の値を返します。

配列形式

LOOKUP(検索キー, 検索結果配列)

スクロールできます
引数説明
検索キー行または列で検索する値を指定します。
検索結果配列検索キーを調べる行または列と、取得したい値が含まれる行または列をまとめて指定します。

ベクトル形式の引数は3つ、配列形式は2つとなります。それぞれの形式を使った具体例をみていきましょう。

LOOKUP関数を使った例

LOOKUP関数を使った具体例を、形式別にご用意しました。

以下の表を使ってそれぞれ解説していきます。

例①商品IDから売上を取得

1つ目の例では、A列の商品IDを指定して売上を取得してみましょう。

STEP
売上を表示したいセルを選択

今回はE9セルに結果を表示するので、E9セルを選択しておきます。

STEP
E9セルにLOOKUP関数を入力

=LOOKUP(“ID_0003”,A2:A7,E2:E7)

今回は検索キーとしてID_0003を指定しました。ID_0003の売上は¥1,200ですので、正しく取得できていますね。

このように、ベクトル形式では検索キーを調べる範囲と結果を返す範囲を別々に指定しましょう。

例②商品IDから項目名を取得

2つ目の例では、配列形式を使って商品IDから項目名を取得してみましょう。

STEP
項目名を表示したいセルを選択

今回もE9セルに結果を表示するので、E9セルを選択しておきます。

STEP
E9セルにLOOKUP関数を入力

=LOOKUP(“ID_0005”,A2:B7)

第2引数の範囲は単一行・単一列でなく、検索キーの範囲から結果までの範囲全てを囲うように指定しましょう。

今回はA列〜B列の2列でしたが、3列以上の場合は1列目が検索範囲になり最後の列が結果範囲になります。

VLOOKUP関数との違い

LOOKUP関数と同じように、条件に一致した行の値を取得する関数にVLOOKUP関数があります。

どちらかといえば、VLOOKUP関数の方が一般的に使われているでしょう。そんなVLOOKUP関数との違いについて説明いたします。

完全一致での検索ができない

1つ目の違いは、LOOKUP関数では完全一致での検索ができないことです。VLOOKUP関数は引数で完全一致か近似値検索かを指定できますが、LOOKUP関数にその引数はありません。

LOOKUP関数は、検索キーに一致する値がないと自動的に検索キーの次に大きい値を返してしまうのです。検索キーに一致する値がない場合は別の処理をしたいときなどは、VLOOKUP関数を利用するとよいでしょう。

参照範囲を昇順に並べ替える必要がある

2つ目の違いは、第2引数で指定する参照範囲を昇順に並べ替える必要があることです。LOOKUP関数を使った具体例では、検索キーとして参照したA列が昇順になっています。

データが昇順に並んでいない場合や並べ替えられない場合は、LOOKUP関数は使えないためVLOOKUP関数を利用しましょう。

VLOOKUP関数の使い方については「【スプレッドシート】VLOOKUP関数の使い方まとめ|応用テクニックあり」で解説していますので、あわせてチェックしてみてください。

まとめ

今回は、スプレッドシートのLOOKUP関数について解説してきました。

条件に一致した値を取得できる便利な関数ですが、LOOKUP関数ではなくVLOOKUP関数を利用する場合がほとんどです。

LOOKUP関数でできることはVOOKUP関数でもできますし、VLOOKUP関数でないとできないこともあるので基本的にはVLOOKUP関数を利用するとよいでしょう。

目次