MENU

Excel関数のVLOOKUPで別表からデータを引っ張る方法を解説

※写真はイメージです。実物とは異なる場合があります。

  • URLをコピーしました!

「商品IDを入力したら、別シートにある商品一覧表から自動的に商品名と単価が表示されるようにしたい」 「社員番号を入れるだけで、別の表から氏名を引っ張ってきたい」

Excelを使っていると、このような「別の表から特定のデータを検索して取り出したい」という場面がよくありますよね。そんな時に絶大な威力を発揮するのが「VLOOKUP(ブイルックアップ)関数」です。

VLOOKUP関数は、同じシート内だけでなく、別のシート(別表)にあるデータをも参照して引っ張ってくることができます。これが使いこなせると、手入力の手間が激減し、入力ミスも大幅に減らせるため、業務効率が格段に上がります。

この記事では、Excel初心者の方に向けて、VLOOKUP関数で別シートのデータを参照する具体的な手順とその活用術を、わかりやすく解説します。

目次

VLOOKUP関数とは?基本の仕組みをかみ砕いて解説

まずは、VLOOKUP関数がどのような仕組みで動いているのか、基本を整理しておきましょう。

VLOOKUPは、「Vertical Lookup(垂直検索)」の略です。その名の通り、指定した表を「縦方向」に検索し、条件に一致した行から、好きな列のデータを取り出す関数です。

例えば、「商品ID」をキーにして「商品名」を取り出したい場合、VLOOKUP関数は以下のような動きをします。

  1. 指定された範囲の「一番左の列」から、探したい値(商品IDなど)を上から順に探す。
  2. 見つかった行の、指定された「〇番目の列」にある値を抜き出す。

この機能があるため、大量のデータの中から特定の情報を探してコピー&ペーストするという手間を、数式一つで自動化できるのです。

VLOOKUP関数の基本構文

VLOOKUP関数を使うには、4つの「引数(ひきすう)」を指定する必要があります。

`=VLOOKUP(検索値, 範囲, 列番号, 検索方法)`

それぞれの意味をかみ砕くと以下のようになります。

  • 検索値:何を探すか。(例:セルに入力した「商品ID」や、直接指定した「"消しゴム"」という文字列など)
  • 範囲:どこから探すか。検索対象となるデータの範囲です。この範囲の「一番左の列」に、検索値が含まれている必要があります。
  • 列番号:範囲の中の左から数えて何列目のデータを取るか。(例:1列目がID、2列目が商品名なら「2」を指定)
  • 検索方法:どのように探すか。一般的には「FALSE(完全一致)」を指定します。これにより、検索値とぴったり一致するデータだけを探し出します。

【実践】別シートの表からデータを引っ張る具体的な手順

それでは、実際に別シートにある「データ一覧表」から情報を引っ張ってくる方法を解説します。

1. 事前準備:データ一覧表を作成する

まず、参照元となる「データの一覧表」を別シートに準備しましょう。例えば、「商品リスト」という名前のシートに、以下のような表がある想定です。

  • A列:品番(検索のキーとなる列。必ず左端に配置します)
  • B列:商品名
  • C列:単価

2. 数式を入力する

データを表示させたいシートのセルに、以下のように入力していきます。

例えば、現在のシートのD4セルに「品番」を入力し、その隣のセルに「商品名」を自動表示させたい場合は、以下のような数式になります。

`=VLOOKUP(D4, '商品リスト'!A2:C100, 2, FALSE)`

ここで重要なのが、範囲指定の前に「シート名!」を加えるという点です。

  • '商品リスト'!A2:C100 :「商品リスト」という名前のシートの、A2からC100の範囲を参照するという意味になります。

3. マウス操作で簡単に指定する方法

手入力でシート名を書くのが難しい場合は、マウス操作で指定するのが簡単です。

  1. `=VLOOKUP(D4, ` まで入力する。
  2. そのままマウスで「商品リスト」シートのタブをクリックし、参照したいセル範囲(A2:C100など)をドラッグして選択する。
  3. すると、数式バーに自動的に `'商品リスト'!A2:C100` と入力されます。
  4. そのまま `, 2, FALSE)` と続けて入力し、Enterキーを押せば完了です。

実務で役立つ!一歩上の活用テクニック

基本的操作ができるようになったら、実務でさらに便利に使うためのテクニックを取り入れてみましょう。

絶対参照を使って数式をコピーする

VLOOKUP関数を一つのセルに入力した後、下のセルにもコピーして使いたい場合、そのままコピーすると「範囲」まで一緒にズレてしまい、正しくデータを取得できなくなります。

これを防ぐには、範囲を「絶対参照」にする必要があります。 範囲を選択した状態で F4キー を押すと、`$A$2:$C$100` のように「$」マークがつきます。これにより、数式をどこにコピーしても参照範囲が固定されるため、ミスなく大量のデータを処理できます。

見積書や請求書の自動入力に活用する

この手法は、特に見積書や請求書の作成に最適です。 「品番」を入力しただけで「商品名」と「単価」が自動的に表示される仕組みを作っておけば、いちいち商品リストを確認して手入力する必要がなくなります。データの一元管理ができるため、商品価格が変更になった際も、参照元の「商品リスト」シートを更新するだけで、すべての書類に最新価格が反映されるようになります。

「テーブル機能」で参照範囲を効率化する

参照するデータが頻繁に増える場合、毎回範囲(A2:C100など)を広げるのは面倒です。そこで便利なのがExcelの「テーブル化」です。

参照元の表を選択して `Ctrl + T` でテーブルに変換し、テーブルに名前(例:「商品テーブル」)を付けておくと、数式の中で範囲を `商品テーブル` と記述するだけで済みます。データが追加されても自動的に範囲が拡張されるため、メンテナンスの手間が大幅に削減されます。

よくあるトラブルとエラーへの対処法

VLOOKUP関数を使っていて、期待した結果が出ないときは以下の点を確認してください。

「#N/A」エラーが出る原因と対策

`#N/A` は「値が見つかりませんでした」というエラーです。主な原因は以下の通りです。

  • 検索値が一覧表に存在しない:単純にデータがない場合はこのエラーになります。
  • 形式が一致していない:一方が「数値」で、もう一方が「文字列としての数字」になっている場合、見た目は同じでもExcelは「別物」と判断します。
  • 余計なスペースが入っている:セルの中に目に見えない空白(スペース)が入っていると、完全一致(FALSE)ではヒットしません。

【対策】IF関数を組み合わせて空白にする 検索値が空白のときや、データが見つからないときに `#N/A` ではなく空白を表示させたい場合は、`IFERROR` 関数や `IF` 関数を組み合わせます。 (例:`=IFERROR(VLOOKUP(…), "")` とすると、エラー時に何も表示されなくなります)

「#REF!」エラーが出る原因

`#REF!` は「参照先が見つからない」エラーです。 指定した「列番号」が、選択した「範囲」の列数を超えている場合に発生します。例えば、範囲を3列分しか選択していないのに、列番号に「4」を指定するとこのエラーになります。

「#VALUE!」エラーが出る原因

引数の指定方法が間違っている場合に発生します。列番号に 1 未満の数字を入れたり、構文に誤りがあったりしないか確認しましょう。

まとめ

VLOOKUP関数で別シートのデータを参照できるようになると、Excelでのデータ管理の幅が大きく広がります。

  • 基本は「検索値」「範囲」「列番号」「検索方法」の4つを指定すること
  • 別シートを参照するときは「シート名!範囲」という記述にする
  • 数式をコピーする場合は「絶対参照(F4キー)」を忘れずに
  • データ増減への対応には「テーブル機能」が便利

最初は数式の記述に戸惑うかもしれませんが、一度テンプレートを作ってしまえば、あとは自動でデータが引っ張られてくる快感を味わえるはずです。ぜひ、日々の業務の中で「ここを自動化できないか」と考えながら活用してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次