VLOOKUP関数で別シートのデータをコピー!手順を含めてやさしく解説
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(検査値,範囲,列番号,検索方法)
4つの引数があります。
- 検査値:検索する対象(文字列、セル、数値)
- 範囲:検索値が含まれるセル範囲
- 列番号:範囲で指定したセル範囲のうち、抽出したい結果が含まれる列番号
- 検索方法:近似一致を検索する場合は TRUE(1)、完全一致を検索する場合は FALSE(0)
なお、VLOOKUP関数を使用する際に注意すべき事項が2つあるので述べておきます。
- VLOOKUP を正常に機能させるには、検索値は範囲の最初の列に必ず位置していなければなりません。
- 検索値が複数該当する場合は最上段が優先される。
注意事項1
引数について、注意すべき事項を羅列します。
VLOOKUP を正常に機能させるには、検索値は範囲の最初の列に必ず位置していなければなりません。
言葉で言うとわかりにくいですなあ!
例を出して説明します。
№と都道府県・県庁所在地のマスタがセル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と変更になります。
この結果、上記のように県庁所在地が正しく表示されました!
もう一つ、注意事項を述べておきます。
注意事項2
検索値が複数該当する場合は最上段が優先される。
VLOOKUP関数では、検索値に該当する値が複数あった場合、最も上のセルが抽出されます。
先程の例で、№が全て「2」だった場合、上記のように「2」を選択すると、一番上の行の値「北海道」が抽出されます。
VLOOKUP関数には、このような制約があるので注意が必要です。
以上の他にも、VLOOKUP関数は複数条件を使えるんですが、60爺はあまりお勧めしません。
次の記事では、そのやり方と代替方法を解説しています。
最後に
VLOOKUP関数で別シートのデータをコピーする方法を、手順を含めてやさしく解説しました。
VLOOKUP関数で別シートのデータをコピーするのは簡単ですので、どなたでもすぐ利用できます。
また、この方法であれば、データを抽出するマスタを別に設定できるので、データを抽出するシートも美しくなるので一石二鳥ですね。
皆様も、VLOOKUP関数を利用するときは、是非、使ってみてください。
■追記:エクセルをテーマに記事をいくつか書いています
ディスカッション
コメント一覧
まだ、コメントがありません