• 公開日:
  • 更新日:

ExcelのVLOOKUP関数で別シートの範囲を参照する使い方

ExcelのVLOOKUP関数で別シートの範囲を参照する使い方をご紹介します。

VLOOKUP関数は、引数に指定する範囲を別シートから参照することができます。参照したいデータをカテゴリや品種別で分けたい場合に1枚にまとめる必要がないので便利です。

以下では、別シートの範囲を参照する方法と参照がうまくいかない場合の原因と対処法をご紹介しています。

手順で使用するフォーマットのダウンロードはこちら

ExcelのVLOOKUP関数で別シートの範囲を参照する方法

VLOOKUP関数で検索範囲を別シートで指定して検索する方法をご紹介します。引数に指定するセルや範囲を数式バーに手入力するとエラーにつながるので、必ず選択するようにしてください。

上記の画像は、VLOOKUP関数の引数に指定する検索値(例:「受注シート」の商品コード)と範囲(例:「価格テーブル」のB列からE列)がそれぞれ別シートにあります。以下では、「受注シート」の商品コードを入力すると「価格テーブル」内のデータを検索して検索値に紐づく種類、商品名、単価を「受注シート」に抽出する方法をご紹介します。

フォーマットの表が同じシート内にあるので別シートに移動させます。シートタブの右側にある「+」を選択して新しいシートを作成します。

新しく作成したシートタブをダブルクリックし、シート名(例:価格テーブル)を変更します。

受注シートに戻ります。①価格テーブル(例:B2セルからE9セル)を選択し、Ctrl+Xでデータを切り取ります。②価格テーブルのシートに移動します。

任意のセル(例:B2セル)を選択し、Ctrl+Vで貼り付けます。列の幅が合わない場合は、列番号をドラッグして調整してください。

VLOOKUP関数の第3引数に指定する列番号を可変させたいので、①見出しの上(例:C2セル)に「2」を入力します。抽出したいのは範囲の2列目以降なので、2から入力しています。②C2セルを選択し、Ctrlを押しながらフィルハンドルをドラッグします。

見出しの上に番号が表示されました。これでVLOOKUP関数を入力するまでの準備が整いました。受注シートに移動します。

D4セルに「=VLOOKUP(」を入力し、検索値に指定するC4セルを選択して、カンマで区切ります。価格テーブルに移動します。

価格テーブルのシートに移動します。検索範囲に指定したい表を含む列番号(例:B列からE列)を選択して、カンマで区切ります。列全体を指定することで、後からデータを追加する際に範囲を修正する必要がないので便利です。

先ほど入力した番号を列番号に指定します。C2セルを選択して、カンマで区切ります。

①完全一致したデータを抽出するので、検索方法でFALSEを選択し、Enterを押します。②受注シートに移動します。

D4セルに結果が表示されました。このまま数式をコピーすると参照がずれてしまうので、適切な位置を「$」で固定していきます。「C4」はC列を固定するのでCの前に「$」を入力します。「B:E」は列全体を固定するのでBとEの前に「$」を入力して絶対参照します。「C2」は2行目を固定するので2の前に「$」を入力します。

D4セルのフィルハンドルをドラッグして数式をコピーします。

4行目に結果が表示されました。D4セルからF4セルを選択し、F4セルのフィルハンドルをドラッグして数式をコピーします。

「価格テーブル」の範囲を参照して「受注シート」に検索結果を表示することができました。

別シートの範囲が参照できない場合

検索範囲に指定するデータをカテゴリ別に分けて別シートに保存している場合、複数シートを扱うのは操作ミスが増える原因にもなります。

確認する範囲が増えるので、ひとつずつ丁寧に確認していきましょう。

以下の記事で別シートの参照がうまくいかない場合の対処法をご紹介しています。

ExcelのVLOOKUP関数で別シート参照がうまくいかない場合