スプレッドシートのLOOKUP関数の使い方を解説!VLOOKUPよりシンプル

「VLOOKUP関数は知ってるけど、LOOKUP関数って何…?」と思われる方も多いのではないでしょうか。

LOOKUP関数は、VLOOKUPやHLOOKUPの関数と同様に、指定の条件を入力することで、自動的に参照したいデータが返されるものです。

指定する条件がシンプルなため、LOOKUP関数のほうが使いやすいと思われる方もいるでしょう。

一方でVLOOKUPやHLOOKUPと比べて、細かい指定ができないといったデメリットもあるので注意が必要です。

今回はスプレッドシートのLOOKUP関数について、使い方や注意点、VLOOKUPやHLOOKUPとの違いをわかりやすく解説します。

スプレッドシートで条件に一致したデータを参照をしたい

早速LOOKUP関数でどのようなことができるのか見てみましょう。

例えば次のような見積書のフォーマットと商品マスタがあるとします。

スプレッドシートの参照関数であるLOOKUPを使うためのサンプル表

LOOKUP関数が使えると、商品コード(A列)の入力だけで自動的に単価(B列)が反映されます。

商品コードと単価の両方を入力する手間がなくなり、単価が変更になった時の修正漏れがなくなります。

スプレッドシートのLOOKUP関数が利用可能

LOOKUP関数は、次の3つの引数からできています。

※引数とは関数に入力する値のことを指します。

※VLOOKUPやHLOOKUP関数は引数が4つなので、この点が異なります。

=LOOKUP(検索キー、検索範囲、[結果範囲])

それぞれの引数を、見積書の単価(B3セル)を出す場合を想定して説明します。

スプレッドシートの参照関数であるLOOKUPを使うためのサンプル表

引数詳細
検索キー検索する「値」を示します。
上図の見積書のA3セルに入力する商品コードを指します。
検索範囲上記の指定キーを検索する「範囲」を示します。
上図では、商品マスタのF列を指します。
[結果範囲]指定した範囲の中から、取得する「行」または「列」の値を示します。
上図では商品マスタ内の単価を出したいので、G列を指します。

LOOKUP関数の使い方と使用例

実際にLOOKUP関数を使った事例を3つご紹介します。

見積書の作成(完全一致)

まずは先程紹介した見積書にLOOKUP関数を使って入力していきます。

1.商品コードの入力

商品マスタの表から商品コードを選びA3セル以降に転記していきます。

※見積書の表の商品コードのセルには値のコピーで、文字列をセルに入力する形です。

2.単価にLOOKUP関数を入力

B3セルには次のように入力します。

=LOOKUP(A3,F:F,G:G)

スプレッドシートでLOOKUP関数を使用する例

※検索結果配列を使いLOOKUP(A3,F:G)と引数2個にすることも可能です。

3.LOOKUPの入力確定

Enterキーを押すと次のとおりにLOOKUPを実行した結果データが返されます。

スプレッドシートのLOOKUPは参照関数なので、条件に一致したセルの値が表示

B3セルに”500”と表示されました。

ここでは次のような指示を与えています。

「A3セルの値(商品コード=B001)をF列(マスタの商品コード)から検索して、一致する値のG列(単価)を参照せよ」

この結果、G5セルに入力されている”500”が返されたことになります。

VLOOKUPやHLOOKUPは、範囲の中から◯行目(もしくは◯列目)の値を返すよう指示しますが、LOOKUPでは一致する値の行(もしくは列)を直接指定します。

(例)VLOOKUPの場合

=VLOOKUP(A3,F:G,2,0)

→ F列からA3と一致する値を検索し、2列目を指定する

LOOKUPの場合

=LOOKUP(A3,F:F,G:G)

→ F列からA3と一致する値を検索し、一致する行のG列を参照する

4.残りの商品コードの単価を算出

B3セルの数式をコピーしてB4セル以降に貼り付ければ単価の参照は完成です。

スプレッドシートのLOOKUP関数をオートフィルで自動入力

※なお、F列やG列の下の行の方に他の表がある場合は、検索範囲と結果範囲の引数のセル範囲を絞り込む必要があります。

5.数量と小計の算出

最後に数量を入れ、小計には単価×数量の数式を予め設定することで、必要最小限の入力で見積書が完成です。

LOOKUP関数を利用した商品の見積もりスプレッドシート

※上図のように手入力が必要なセルだけを黄色にすることで、他の人とシートを共有した際にもわかりやすくなります。

スマートな提案(近似値)

LOOKUPは簡単に近似値も出してくれるので、顧客の予算内で買えるものの提案にも役立ちます。

例えば、次のようなシートを作ることで、顧客予算(A3セル)を入力するだけで、提案可能商品がわかります。

LOOKUP関数の機能スマートな近似値として、近い値を持つセルを近似値として表示

B3セルの指示は次のとおりです。

「A3セルの値(220,000)の値(完全一致、なければ近似値)をC7:C13セル(金額)から探し、B7:B13セル(商品)を参照せよ」

その結果、顧客予算の22,000円で購入できるノートPC(A)が返されました。

スプレッドシートのLOOKUP関数のスマートな近似値を使った実行結果

スマートな提案(商品名で検索)

顧客によっては、購入する商品名は決まっていて、その金額を知りたいというケースもあります。

その場合は以下の入力をすることで参照可能です。

  • 検索キーに具体的な”商品名”を入力する
  • 検索範囲をB7:D13と広げる

LOOKUP関数のスマートな提案機能

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

LOOKUP関数を使う際、重要な注意点が2点あります。

  1. 参照するデータが必ず昇順(A→Zで並び替え)になっていること
  2. 検索できる範囲は1行のみ(もしくは1列のみ)であること

一見便利なLOOKUP関数ですが、実際に使うと上記の点が非常に気になります。

2つの注意点がどのような点でネックなのか、それぞれ解説します。

参照するデータが必ず昇順になっていること

例えば先程の提案可能商品を検索する際、金額が入ったC列を昇順(A-Z)から降順(Z→A)の場合は次の結果が返されます。

スプレッドシートのLOOKUP関数は参照する列のデータの並びが昇順になっていないと正しい値が帰ってこない

この通り関数は変わっていないにもかかわらず、結果が「ノートPC(A)」から「タブレット」に変わってしまいました。

正しい結果を得るためには、フィルター機能を使って昇順に並び替える必要があります。

検索できる範囲は1行のみ(もしくは1列のみ)である

下図のように、商品マスタにセール時の金額も記載されている場合、LOOKUP関数は少し不便です。

検索可能な範囲が1行(または1列)のみのため、常に一番端(下図のセール時の価格)を返してしまいます。

LOOKUP関数のデメリット

引数を3つにすることで防ぐことはできますが、仕様を理解していないと、想定と異なる値が表示されることがあります。

一方で、VLOOKUP関数では次の通り細かい指定が可能です。

【タブレットの価格を出す場合】

  • セール時以外=VLOOKUP(A3,B7:D13,2,0)
  • セール時=VLOOKUP(A3,B7:D13,3,0)

元々LOOKUP関数がVLOOKUPやHLOOKUPよりも古く作られたため、機能的にはVLOOKUPやHLOOKUPのほうが便利です。

VLOOKUP/HLOOKUPと異なり、検索対象が行または列どちらでもよいのがLOOKUP関数のメリットですが、今はXLOOKUPもあります。

スプレッドシートのXLOOKUP関数の使用法・注意点を解説!VLOOKUP上位互換な参照関数

そのため、LOOKUP関数を使う優先度は低く、他の人が作成したスプレッドシートなどで使われていた場合に関数の中身が理解できれば問題ありません。

まとめ・終わりに

今回、スプレッドシートの参照関数であるLOOKUP関数について紹介しました。

LOOKUP関数は見積書や請求書を作成する際や、スマートに提案する際に便利です。

見積書では入力項目を減らすことができ、提案時には予算内の商品、希望商品の価格がすぐにわかります。

今回解説したように以下の4つのことがスプレッドシートのLOOKUP関数で実現可能です。

  1. 商品コードがわかれば、単価を入力する手間が省けること
  2. 必要最小限の入力で小計を出せること
  3. 価格改定があった場合も、商品マスタを変更するだけで見積書に反映されること
  4. 予算を入力するだけで提案可能な商品がわかること

一方でデータを昇順に並び替える必要がある、単一行(もしくは列)しか指定できないといった重要な注意点もあります。

機能としてはVLOOKUPやHLOOKUP、新しいXLOOKUP関数のほうが実務上の活用範囲が広いため、LOOKUPよりも先に覚えることをおすすめします。