リテラアップダウンロード

ExcelのVLOOKUP関数の使い方|別シートを参照する方法など

ExcelのVLOOKUP関数の使い方

この記事では、Excel(エクセル)のVLOOKUP関数の使い方について初心者でもわかりやすく解説します。

VLOOKUP関数は利用頻度の高い関数で、求人情報でも「VLOOKUP関数が使えればOK」といった記載が見られるなど様々なビジネスシーンで活用されています。

VLOOKUP関数で別シートを参照する方法や複数条件を設定する方法など応用についても解説しています。ぜひ参考にしてください。

VLOOKUP関数とは?わかりやすく解説

Excel(エクセル)のVLOOKUP関数とは、表の縦方向にデータを検索し条件に一致した値を取り出してくれる関数です。 VLOOKUPのVは「垂直」という意味の「Vertical」からきており 、「探す」という意味の「LOOKUP」とあわせて「垂直に探す」ということになります。

大量のデータの中から探したい値を機械的に探すことができるため、時間の短縮になり単純ミスも抑えられるでしょう。基礎的な使い方と応用的な使い方を紹介していきますので、用途に合わせて参考にしてください。

VLOOKUP関数の構文

Excel(エクセル)のVLOOKUP関数の構文は「=VLOOKUP(“検索値”, 検索範囲, 列番号, [検索方法])」です。引数は4つと少し多めになっていますが、それぞれ詳しくみていきましょう。

  • 第1引数:検索値
  • 第2引数:範囲
  • 第3引数:列番号
  • 第4引数:検索の型(FALSE/TRUE)

第1引数:検索値

まず第1引数である「検索値」です。こちらは検索したい値を「”」「”」で囲んで入力します。「ノート」といったような文字列でも数値でも構いません。こちらに入力した値を元に検索することになるので間違えないようにしましょう。

ExcelのVLOOKUP関数の構文

またこの引数にはセル参照を使うことも可能です。その場合は「”」「”」なしで入力しましょう。

ExcelのVLOOKUP関数の構文

第2引数:範囲

次に第2引数である「範囲」です。こちらは検索するための元データの範囲を指定します。検索したい範囲のデータだけでなく、検索値がある列や取り出したいデータがある列も全て含めるようにしましょう。

こちらは別のシートにある表も範囲として設定することができます。詳しくはこの記事の後半に書かれている「応用編」を参照ください。

ExcelのVLOOKUP関数の構文

第3引数:列番号

第3引数は「列番号」です。こちらは指定した検索値と同じものが見つかった場合、どの列にあるデータを取得するのかを指定します。元データの表の何列目にあるか、数字で指定します。

Excelのシートの列番号ではなく、あくまで第2引数で指定した範囲の中での列番号となりますのでご注意ください。例では取り出したい値が表の中で2列目にあたるので、「2」と入力しています。

ExcelのVLOOKUP関数の構文

第4引数:検索の型(FALSE/TRUE)

最後は第4引数である「検索の型」になります。検索値と完全に一致しない場合にどのような処理をするかを指定します。何も指定しないと自動的にTRUEが適用されます。

  • FALSE:完全に一致するデータのみを検索範囲から探し、なければ「#N/A」と表示します。
  • TRUE:検索値に一番近いデータを範囲から取り出します。

第1〜4までの引数を全て合わせると、セルには「=VLOOKUP(B3,B6:C10,2,FALSE)」と入力されています。

ExcelのVLOOKUP関数の構文

VLOOKUP関数の使い方【基本編】

Excel(エクセル)のVLOOKUP関数の基本的な使い方をご紹介します。
ここでは例として、ID、出身県、年齢が記載された表を使い、検索したIDの人の出身県と年齢を表示させる関数を作成していきます。

STEP.1
まず元データとして画像のような表を作成します。検索値であるIDの項が必ず一番左の列にくるようにしてください。

ExcelのVLOOKUP関数の使い方【基本編】

STEP.2
次に、「検索したいデータ」を入力する欄と「そのIDを元に抽出されたデータ」を表示する欄を作成します。例では「ID」の入力欄と「検索したIDの出身県」「検索したIDの出身県年齢」の表示欄を作成しています。

ExcelのVLOOKUP関数の使い方【基本編】

STEP.3
「検索したIDの出身県」の表示欄のセル内にVLOOKUP関数を入力していきます。第1引数に「検索値」を入力します。例では先程作成した検索したいIDを入力するための欄のセルを参照しましょう。

ExcelのVLOOKUP関数の使い方【基本編】

STEP.4
第2引数には表の範囲を入力します。例では「$B$4:$D$12」と絶対参照で記載しています。絶対参照で記載する場合は、範囲をマウスで指定した後にアルファベットと数字の前にそれぞれ「$」マークを挿入しましょう。

今回は絶対参照でも相対参照でも問題ありませんが、コピー&ペーストで関数を使い回す時に相対参照を使用するとエラーが発生しやすくなります。絶対参照で書く癖をつけるとよいでしょう。詳しくは記事の最後に載せているエラーリストをご確認ください。

ExcelのVLOOKUP関数の使い方【基本編】

STEP.5
第3引数には抽出したいデータがある列を指定します。例では出身県のあるデータは2列目となっていますので「2」と入力しましょう。

ExcelのVLOOKUP関数の使い方【基本編】

STEP.6
第4引数は検索の型です。今回は完全に一致した場合のみデータを抽出したいので「FALSE」と入れて下さい。全て入力し終わったら「Enter」キーを押しましょう。

STEP3~6をまとめると、セルには「=VLOOKUP(F3,$B$4:$D$12,2,FALSE)」と入力されることになります。

ExcelのVLOOKUP関数の使い方【基本編】

STEP.7
実際にID入力欄にいずれかのIDを入力してみましょう。表から正しい値が取得されていればOKです。

ExcelのVLOOKUP関数の使い方【基本編】

STEP.8
年齢の方も同様に関数を入力しましょう。先程作成した関数の第3引数を3と変更すればOKです。以上で操作は完了です。

ExcelのVLOOKUP関数の使い方【基本編】

VLOOKUP関数で別シートを参照する方法

VLOOKUP関数を使って、別シートを参照する方法をみていきましょう。

VLOOKUP関数の数式が入力されたシートとは別のシートから、検索値に一致したデータの値を抽出します。

STEP.1
取り出したい値があるデータを用意しましょう。ここでは商品の購買データを使用します。分かりやすいシート名を付けておきましょう。例では元データのあるシートを「商品データ」、VLOOKUP関数を入力するシートを「報告書用」と名付けています。

VLOOKUP関数で別シートを参照する方法

STEP.2
「商品データ」シートにあるデータを、「報告書用」シートに取り出します。例ではC4セルに「=VLOOKUP(B4,商品データ!A2:D10,4,FALSE)」と入力しています。範囲のセル参照では、別シートの値を指定するために「シート名!セル範囲」となっています。

このように指定すれば、「シート名」のシート上にある「セル範囲」を指定できるようになります。これはVLOOKUP以外の関数にも共通する記述方法なので、ぜひ覚えておきましょう。

VLOOKUP関数で別シートを参照する方法

STEP.3
入力したら「Enter」キーを押しましょう。検索値の商品名を入力すると、別シートにある値を取り出すことができます。

VLOOKUP関数で別シートを参照する方法

VLOOKUP関数で複数条件を設定する方法

VLOOKUP関数では基本的には1つの条件しか設定できません。しかし元データに工夫を加えることで、複数条件に合致するデータを抽出することが可能です。

STEP.1
複数の項目が入ったデータを用意しましょう。例では「年」、「月」、「イベント」の項目が入ったスケジュール帳を使用します。

VLOOKUP関数で複数条件を設定

STEP.2
検索したい条件を複数選択し、それらの項目を組み合わせたデータ列を作成します。例では「〇〇年××月」という複数条件を指定したいので、「年」と「月」のセルを結合させたデータ列をA列に新規作成します。

A3セルに「=B3&”_”&C3」と入力し、オートフィルで残りのセルを埋めましょう。B3セルとC3セルの間に「”_”」を入れて年と月の堺を分かりやすくしています。

VLOOKUP関数で複数条件を設定

STEP.3
2つの条件を結合したセルをVLOOKUP関数の検索値として参照します。例では「2016年4月」の時期にあったイベントを検索してみましょう。A14セルに「2016_4」、D14セルに「=VLOOKUP(A14,A3:D12,4,FALSE)」と入力します。

VLOOKUP関数で複数条件を設定

これで複数条件に合致する値を参照して対応するデータを抽出できました。

VLOOKUP関数で複数条件を設定

VLOOKUP関数の使い方【応用】

VLOOKUP関数に関して覚えておくと便利な使い方を紹介します。

  • 完全一致なしの場合に指定の文字列を返す方法
  • 住所から郵便番号を取得する方法

完全一致なしの場合に指定の文字列を返す方法

検索した条件と完全に一致するデータがない場合に指定した文字列を返すことができます。

「完全一致なしの場合」という条件分岐を扱うため、IF関数とVLOOKUP関数を組み合わせて使用します。

例えば画像のようなデータで、B2セルに入力された得点の賞金の金額をVLOOKUP関数でD2セルに表示させてみましょう。この時「確認用」のセルをC2に作成しておくのがポイントです。

完全一致なしの場合に指定の文字列を返す

B2で入力した検索値が表中に存在するかを確認するため、セルC2にVLOOKUP 関数の数式を作成します。「=VLOOKUP(B3,B6:C10,1,TRUE)」と入力しましょう。

ここで表示させたいのは「検索値」を検索した結果なので、第3引数は「1」とすることに気を付けてください。また1列目が昇順 (A-Z) で並べられていないようなデータはエラーになり使用できません。

完全一致なしの場合に指定の文字列を返す

続いてD3には「=IF(B3=C3,VLOOKUP(B3,B6:C10,2,TRUE),”完全一致なし”)」と入力してください。「”」で文字を囲うのを忘れないようにしましょう。

完全一致なしの場合に指定の文字列を返す

これでB2に入力した検索値とC2で確認用に検索した結果が合致しない場合、D2に「完全一致なし」と表示されます。試しに表中にない顧客IDをB2に入力してみましょう。D2に「完全一致なし」と表示されたらOKです。

完全一致なしの場合に指定の文字列を返す

住所から郵便番号を取得する方法

次は日本郵便で配布されている郵便番号データを用いて住所から郵便番号を取得する方法を説明していきます。

STEP.1
まず日本郵便のサイトにアクセスし、郵便番号データのファイルをダウンロードしましょう。画像の矢印の所を左クリックしてください。

ExcelのVLOOKUP関数で住所から郵便番号を取得する方法

STEP.2
ダウンロードが終わったらファイルの上で右クリックし、「すべて展開(T)」を選んでください。csvファイルが出てくるのでファイルを開きましょう。

ExcelのVLOOKUP関数で住所から郵便番号を取得する方法

STEP.3
こちらのcsvファイルにある表を、VLOOKUP関数が使えるように修正します。一列目に新しい行を加え、「=C1&D1&E1」と入力しましょう。これは分離されている住所を繋げて表示させるための作業です。

入力後「Enter」キーを押し、セルの右下にマウスを移動させるとカーソルが黒い十字マークに変化します。この時ダブルクリックすると、一番下の行まで数式をコピーしてくれます。

ExcelのVLOOKUP関数で住所から郵便番号を取得する方法

STEP.4
次に郵便番号を検索したい住所が記載されているファイルを開きましょう。先程ダウンロードした郵便番号のcsvファイルを、新しいシートとしてドラッグ&ドロップで追加してください。

ExcelのVLOOKUP関数で住所から郵便番号を取得する方法

STEP.5
元のシートに戻り、郵便番号を表示させたいセルに「=VLOOKUP(C3,KEN_ALL_ROME!$A$1:$H$124523,2,FALSE)」と入力しましょう。範囲は絶対参照で書くようにするのがポイントです。

ExcelのVLOOKUP関数で住所から郵便番号を取得する方法

STEP.6
問題なく郵便番号が取得できていたら、残りのセルもオートフィル機能を使って関数をコピーしましょう。以上で操作は完了です。

ExcelのVLOOKUP関数で住所から郵便番号を取得する方法

VLOOKUP関数とIF関数を組み合わせた使い方

Excel(エクセル)のVLOOKUP関数は、IF関数と組み合わせると検索する条件を細かく設定することが可能です。

複雑な条件を持つセルを検索したい時に便利ですので、使い方をみていきましょう。

  • IF関数の論理式(条件)にVLOOKUP関数を組み合せる例
  • IF関数の判定結果にVLOOKUP関数を組み合わせる例

IF関数の論理式(条件)にVLOOKUP関数を組み合せる例

検索条件として、IF関数の論理式をVLOOKUP関数に組み込むやり方を紹介します。例では売上げ表を使用して、商品名を入力すると目標の売上を達成しているか否かを判定します。

STEP.1
例のようなデータを用意しましょう。商品名を入力して結果を判定する欄も作成してください。

IF関数とVLOOKUP関数を組み合せる

STEP.2
目標の売上げを「C15」に設定しましょう。商品の売上高がこの目標の売上金額を上回っていれば「達成」、下回っていれば「未達」と表示させるように設定していきます。

IF関数とVLOOKUP関数を組み合せる

STEP.3
セル「D15」にIFを使用した条件を入力しましょう。D15セルに「=IF((商品の売上金額)>=C15,”達成”,”未達”)」と入力します。第1引数の中の「商品の売上金額」にはVLOOKUP関数を用いて表の中の数値を参照します。

IF関数とVLOOKUP関数を組み合せる

STEP.4
「(商品の売上金額)」の部分を「VLOOKUP(B15,$B$3:$E$11,4,FALSE)」と書き換えましょう。これは、B15セルと一致する行の4列目(月間売上金額)のセルの値を取り出すことに相当します。

第3引数の列の指定は第2引数で設定する表の中で「何番目の列」に相当するかを指定することに注意しましょう。

IF関数とVLOOKUP関数を組み合せる

STEP.5
「Enter」キーを押せば関数の入力は完了です。B15に任意の商品名を入力してみましょう。売上高がC15で設定していた目標額を超えていれば「達成」超えていなければ「未達」と表示されます。

IF関数とVLOOKUP関数を組み合せる

IF関数の判定結果にVLOOKUP関数を組み合わせる例

次に、IF関数の判定結果にVLOOKUP関数を組み合わせる例を紹介します。今度はIF関数で条件を設定し、その結果が真もしくは偽の場合にVLOOKUP関数を使用します。

ここでは年齢と性別を入力すると、性別に応じた平均身長が表示されるような関数を設定します。

STEP.1
例のような平均身長が入力されたデータを用意しましょう。年齢や性別を入力して結果を判定する欄も作成してください。

IF関数とVLOOKUP関数を組み合せる

STEP.2
まず入力した歳に応じた「男の平均身長」と「女の平均身長」をそれぞれ取り出す関数を記述してみましょう。それぞれVLOOKUP関数を用いて「VLOOKUP(B13,$B$4:$D$10,2,FALSE)」(男版)「VLOOKUP(B13,$B$4:$D$10,3,FALSE)」(女版)となります。適当なセルにメモ書きしておき、使用したら消去してください。

IF関数とVLOOKUP関数を組み合せる

STEP.3
次にC13に入力された性別を判定して、その結果に応じた表示をさせる条件式をD13に入力します。

まずC13が「男」であれば、男の平均身長を表から取り出すために先ほど作成したVLOOKUP関数(男版)を第2引数に使用して「=IF(C13=”男”,VLOOKUP(B13,$B$4:$D$10,2,FALSE),””)」と入力します。

IF関数とVLOOKUP関数を組み合せる

STEP.4
C13が「女」の場合に女の平均身長を表から取り出すために、IF関数の第3引数に再度IF関数を入れていきます。

D13を「=IF(C13=”男”,VLOOKUP(B13,$B$4:$D$10,2,FALSE),IF(C13=”女”,VLOOKUP(B13,$B$4:$D$10,3,FALSE),””))」と書き換えましょう。これで関数の設定は完了です。

IF関数とVLOOKUP関数を組み合せる

STEP.5
平均身長を検索したい「歳」と「性別」を入力してみましょう。表から正しい値が取得できたらOKです。

IF関数とVLOOKUP関数を組み合せる

VLOOKUP関数の#N/Aエラーや検索結果がおかしい原因

Excel(エクセル)でVLOOKUP関数を使っていると、「#N/A」エラーが表示されたり検索結果がおかしいことがあります。VLOOKUP関数は引数が4つと多く引数にミスが発生しやすくなるので、よくあるミスと対策を確認しておきましょう。

  • VLOOKUP関数で#N/Aエラーが表示される
  • VLOOKUP関数で表示される検索結果がおかしい

VLOOKUP関数で#N/Aエラーが表示される

VLOOKUP関数で#N/Aエラーが表示される時の主な原因と対策を紹介します。

#N/Aエラーは、合致するデータがないときに表示されます。ここではVLOOKUP関数をコピーして使用した時によく起こる間違いを紹介します。

STEP.1
VLOOKUP関数をコピーして使用するようなデータを準備します。例では商品IDを入力すると、その商品の単価を2箇所に表示するようなシステムを作成します。

VLOOKUP関数で#N/Aエラーが表示される

STEP.2
B14に任意の商品IDを、C14に商品IDから単価の値を取り出すVLOOKUP関数を「=VLOOKUP(B14,B3:E11,2,FALSE)」と入力します。

VLOOKUP関数で#N/Aエラーが表示される

STEP.3
続けもう一つの単価の欄にもVLOOKUP関数を入力します。この時、先ほど入力した関数をコピーしてペーストしましょう。すると#N/Aエラーが表示されます。

VLOOKUP関数で#N/Aエラーが表示される

STEP.4
ペーストしたセルの関数を確認してみましょう。すると第1引数や第2引数の指定を、絶対参照ではなく相対参照で記述していたため参照セルがコピー元からズレていることが分かります。

VLOOKUP関数で#N/Aエラーが表示される

STEP.5
このように関数をコピーして使用する場合、参照セルを固定するには「$」を使用して絶対参照で記述する必要があります。再度絶対参照で書かれた関数をコピー&ペーストしてみましょう。今度は範囲が固定され、正しい値が取得されました。

VLOOKUP関数で#N/Aエラーが表示される

VLOOKUP関数で表示される検索結果がおかしい

VLOOKUP関数の結果が、想定と異なりおかしい場合についてみていきましょう。これは検索範囲の数値が下降順にならんだ表を使って「TRUE(近似一致)」で検索する時に発生することがあります。

STEP.1
例のように、5位から1位まで下降順にならんだランキングデータを用意しましょう。

VLOOKUP関数で表示される検索結果がおかしい

STEP.2
近似一致型で検索値に近似した数値の結果を取り出しましょう。今回は、1以上5以下の値を0.5刻みで変化させてそれぞれの検索値の時に取り出される結果を見ていきます。

VLOOKUP関数で表示される検索結果がおかしい

STEP.3
VLOOKUP関数では、数値に対して近似一致を指定した場合「検索値または検索値未満の最大値」が戻り値となりますが、データが昇降順に並んでいないため「検索値または検索値未満の最大値」とは異なるおかしな値が表示されていることが分かります。

VLOOKUP関数で表示される検索結果がおかしい

STEP.4
VLOOKUP関数を使用する時、検索範囲は昇順に並べかえる必要があります。正しくデータを並び替えてから再度VLOOKUP関数を使用してみましょう。今度は正しい値が表示されました。

VLOOKUP関数で表示される検索結果がおかしい

VLOOKUP関数の検索型には「TRUE(近似一致)」と「FALSE(完全一致)」があります。近似一致にすると思わぬ結果となることがあるため、同一のセルを検索したい時は「FALSE(完全一致)」を使用しましょう。

VLOOKUP関数でよくあるエラーと確認ポイント

Excel(エクセル)のVLOOKUP関数でよくあるエラーと確認ポイントについてご紹介します。

【よくあるエラー一覧】

  1. 検索値が先頭列になく検索対象が見つからない
  2. 範囲を相対参照で記述してしまい、参照していた表の範囲がズレてしまう
  3. 検索値が文字列の場合、表記ゆれで上手く検索できない
  4. 第4引数を指定していないため、検索結果がおかしい

【各エラーの対応方法と確認ポイント】

  1. 検索値は必ず表の一番左側、先頭列におくようにしましょう。慣れてくると忘れがちなポイントですので注意してください。
  2. この記事の本文中でも何回か出てきましたが、第2引数を相対参照で書いてしまうとコピー&ペーストで他のセルで使い回した時に表の範囲がズレてしまいます。参照する表のアドレスは固定のため、必ず絶対参照で記載するようにしましょう。
  3. VLOOKUP関数は検索値と完全に一致する時に値を取得することができます。例えば全角・半角が異なっていたり、文字列の前後に空白があったりと微妙な違いで上手く検索できていない場合があります。
  4. 第4引数を指定しないと、自動的に「TRUE」で設定されてしまいます。完全に一致する値がない場合は近似値を取得していまいますので、思い通りの結果が得られないことがあります。

ExcelのVLOOKUP関数についておさらい

Excel(エクセル)のVLOOKUP関数は引数が4つと多めで、元データの形式にもルールがあるため難しいと感じている方も多いかもしれません。

そのような場合には今回ご紹介した簡単な例題などを参考に取り組んでみましょう。どうしてもエラーがでたり正しい値が取得できなかったりする場合はエラーリストを確認し、当てはまる原因がないか検討してみてください。

リテラアップアプリのご利用について、法人の方は下記フォームよりお問い合わせください。

(Excel,WordなどOffice製品やPC関連の技術的な質問にはお答えできかねます。ご了承ご了承ください。)