VLOOKUP関数で別シートのデータをコピー!手順を含めてやさしく解説

2023年12月7日

VLOOKUP関数で、特定の表の中にある数値を抽出して、必要な箇所に設定することは何度かやってきました。

この抽出する値が入っている表と、その抽出した値を設定する場所が別のシートにある場合はどうすればいいのでしょうか?

60爺

やり方は、はっきり言って簡単です。

今言った例は、かなり多くの場合、利用されますね。

たとえば、今回の例で示す「住所と郵便番号の一覧」と、「特定の住所から郵便番号を設定する一覧」が別シートにある場合です。

マスタ(住所と郵便番号の一覧)と特定の一覧(特定の住所から郵便番号を設定する一覧)を別にすれば、特定の一覧が非常に見やすくなります。

それでは、「VLOOKUP関数で別シートのデータを抽出」する方法を手順を示しながら解説していきます。

ゆっくりとご覧になって利器解しましょう。

スポンサーリンク

VLOOKUP関数で別シートのデータをコピー

始めに、今回やりたいことを確認しましょう。これを理解しておかないと何も始まりませんので。

VLOOKUP関数で別シートのデータをコピー

今回、実施するのは、シート「郵便番号取得」にあるセルへ、シート「yubin_bango」にある郵便番号を取得してセットすることです。

即ち、シート「郵便番号取得」にあるセルへ、VLOOKUP関数で別シート「yubin_bango」のデータを検索して抽出してきます。

これは、抽出元のデータ(シート「yubin_bango」:住所-郵便番号変換マスタ)を別のシートで管理できるようになるため、自分が管理すべきシートの見た目が非常に分かりやすくなるんです。

それでは、その手順を示していきますね。


実施手順

目的

シート「郵便番号取得」にある列「住所」を基に、シート「yubin_bango」から郵便番号を検索して抽出し、シート「郵便番号取得」にある列「郵便番号」にセットする

これから、セルA2にある「奈良県奈良市大安寺西」に該当する郵便番号をシート「yubin_bango」から取得し、シート「郵便番号取得」にあるセルB2へセットします。

始めに、セルB2へカーソルを持っていきます。

fxをクリックします。

「関数の挿入」画面が表示されます。

VLOOKUPを見つけて、OKをクリックします。

「関数の引数」画面が表示されます。

検索値は、住所「奈良県奈良市大安寺西」のあるA2となります。検索値の入力欄をクリックした後、セルA2をクリックします。

上記のように、関数の引数画面の検索値に「A2」がセットされます。

次に、範囲の入力を行います。

範囲は、シート「yubin_bango」にある住所と郵便番号全てです。範囲の入力欄をクリックした後、シート「yubin_bango」をクリックします。

上記のように、関数の引数画面の範囲に、シート名である「yubin_bango!」がセットされます。

次に住所の値が入っているセルA2をクリックします。

上記のように、関数の引数画面の範囲の「yubin_bango!」の次に「A2」が追加されます。

shiftキーを押しながら、最後のデータであるB124575をクリックします。

上記のように、関数の引数画面の範囲の「yubin_bango!A2」の次に「B124575」が追加されます。

ここで、F4キーを押下してください。

すると、ご覧のように、それぞれのセルのアルファベットと数字に「$マーク」が追加されます。

この「$」は参照するセルを固定する意味です。この先、このセルの内容をコピーしますが、その際、セルを固定しておかないと、範囲がずれてしまうからです。

行番号に「2」、検索方法に「0(FALSE)」を入力してOKをクリックします。

・列番号の2は、今回範囲で指定した列の2番目「郵便番号」を指します。
・検索方法の「0」は「FALSE」に置き換え可能ですが、検索する内容との完全一致を示すものです。

すると、セルB2に、「奈良県奈良市大安寺西」の郵便番号がセットされます。

セルB2にカーソルを持っていくと、VLOOKUPがセットされていることが分かります。

他項目の郵便番号を設定

セルB2へカーソルがある状態でカーソルをセルB2の右下に合わせると+マークが出ます。この状態で、左クリックしたままマウスを動かし、セルB20まで持っていきます。

左クリックを離すことで、B2の内容がコピーされ、各項目に郵便番号がセットされます。

これで、VLOOKUP関数で別シートのデータを抽出する方法を、手順を含めた解説は終了です。

やってみると、すごく簡単ですね!

この方法を採用して、住所から郵便番号を一括して取出していますよ。

VLOOKUP関数の引数

記事を終わる前に、VLOOKUP関数の引数について復習しておきましょう。

VLOOKUP関数の引数

VLOOKUP関数の引数は次のようになります。

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

4つの引数があります。

  • 検査値:検索する対象(文字列、セル、数値)
  • 範囲:検索値が含まれるセル範囲
  • 列番号:範囲で指定したセル範囲のうち、抽出したい結果が含まれる列番号
  • 検索方法:近似一致を検索する場合は TRUE(1)、完全一致を検索する場合は FALSE(0)

引数について、注意すべき事項を羅列します。

VLOOKUP を正常に機能させるには、検索値は範囲の最初の列に必ず位置していなければなりません。

60爺

言葉で言うとわかりにくいですなあ!

例を出して説明します。

№と都道府県・県庁所在地のマスタがセルB5~D12に設定されています。VLOOKUP関数を使って次の検索をしています。

  • セルC3:№から都道府県を抽出、結果はOKです
  • セルD3:都道府県から県庁所在地を抽出、結果はNGです

なぜ、こうなったかを確認していきます。

まずは、セルC3の内容を確認します。

次に、セルD3の内容を確認します。

VLOOKUPの内容は次の通りです。

  • C3:=VLOOKUP(B3,$B$6:$D$12,2,0)
  • D3:=VLOOKUP(C3,$B$6:$D$12,3,0)

セルD3では、都道府県を検索値にするので、範囲は、都道府県の列が先頭に来るようにしないとエラーになるんです。

そのため、範囲は$C$6:$D$12としなければなりません。ここが変更になるので、列番号も2と変更になります。

この結果、上記のように県庁所在地が正しく表示されました!

検索値が複数該当する場合は最上段が優先される。

VLOOKUP関数では、検索値に該当する値が複数あった場合、最も上のセルが抽出されます。

先程の例で、№が全て「2」だった場合、上記のように「2」を選択すると、一番上の行の値「北海道」が抽出されます。

VLOOKUP関数には、このような制約があるので注意が必要です。

以上の他にも、VLOOKUP関数は複数条件を使えるんですが、60爺はあまりお勧めしません。代替方法を開設した記事はこちらです。

最後に

VLOOKUP関数で別シートのデータを抽出する方法を、手順を含めてやさしく解説しました。

VLOOKUP関数で別シートのデータを抽出するのは簡単ですので、どなたでもすぐ利用できます。

また、この方法であれば、データを抽出するマスタを別に設定できるので、データを抽出するシートも美しくなるので一石二鳥ですね。

皆様も、VLOOKUP関数を利用するときは、是非、使ってみてください。

■追記:エクセルをテーマに記事をいくつか書いています

スポンサーリンク
この記事を書いた人

60爺

60路を越え、RaspberryPi と出会い、その関係でブログ開設(2017/2~)となりました。始めてみると、コツコツやるのが性に合ってしまい、漢字の記事から家の補修・将棋・windows10関係・別名・言い方などジャンルを拡大して今に至ってます。まだまだ、元気なので新たな話題を見つけて皆様に提供できればと思っています。「プロフィールはこちら