この記事では、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引数である「検索値」です。こちらは検索したい値を「”」「”」で囲んで入力します。「ノート」といったような文字列でも数値でも構いません。こちらに入力した値を元に検索することになるので間違えないようにしましょう。
またこの引数にはセル参照を使うことも可能です。その場合は「”」「”」なしで入力しましょう。
第2引数:範囲
次に第2引数である「範囲」です。こちらは検索するための元データの範囲を指定します。検索したい範囲のデータだけでなく、検索値がある列や取り出したいデータがある列も全て含めるようにしましょう。
こちらは別のシートにある表も範囲として設定することができます。詳しくはこの記事の後半に書かれている「応用編」を参照ください。
第3引数:列番号
第3引数は「列番号」です。こちらは指定した検索値と同じものが見つかった場合、どの列にあるデータを取得するのかを指定します。元データの表の何列目にあるか、数字で指定します。
Excelのシートの列番号ではなく、あくまで第2引数で指定した範囲の中での列番号となりますのでご注意ください。例では取り出したい値が表の中で2列目にあたるので、「2」と入力しています。
第4引数:検索の型(FALSE/TRUE)
最後は第4引数である「検索の型」になります。検索値と完全に一致しない場合にどのような処理をするかを指定します。何も指定しないと自動的にTRUEが適用されます。
- FALSE:完全に一致するデータのみを検索範囲から探し、なければ「#N/A」と表示します。
- TRUE:検索値に一番近いデータを範囲から取り出します。
第1〜4までの引数を全て合わせると、セルには「=VLOOKUP(B3,B6:C10,2,FALSE)」と入力されています。
VLOOKUP関数の使い方【基本編】
Excel(エクセル)のVLOOKUP関数の基本的な使い方をご紹介します。
ここでは例として、ID、出身県、年齢が記載された表を使い、検索したIDの人の出身県と年齢を表示させる関数を作成していきます。
今回は絶対参照でも相対参照でも問題ありませんが、コピー&ペーストで関数を使い回す時に相対参照を使用するとエラーが発生しやすくなります。絶対参照で書く癖をつけるとよいでしょう。詳しくは記事の最後に載せているエラーリストをご確認ください。
STEP3~6をまとめると、セルには「=VLOOKUP(F3,$B$4:$D$12,2,FALSE)」と入力されることになります。
VLOOKUP関数で別シートを参照する方法
VLOOKUP関数を使って、別シートを参照する方法をみていきましょう。
VLOOKUP関数の数式が入力されたシートとは別のシートから、検索値に一致したデータの値を抽出します。
このように指定すれば、「シート名」のシート上にある「セル範囲」を指定できるようになります。これはVLOOKUP以外の関数にも共通する記述方法なので、ぜひ覚えておきましょう。
VLOOKUP関数で複数条件を設定する方法
VLOOKUP関数では基本的には1つの条件しか設定できません。しかし元データに工夫を加えることで、複数条件に合致するデータを抽出することが可能です。
A3セルに「=B3&”_”&C3」と入力し、オートフィルで残りのセルを埋めましょう。B3セルとC3セルの間に「”_”」を入れて年と月の堺を分かりやすくしています。
これで複数条件に合致する値を参照して対応するデータを抽出できました。
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です。
住所から郵便番号を取得する方法
次は日本郵便で配布されている郵便番号データを用いて住所から郵便番号を取得する方法を説明していきます。
入力後「Enter」キーを押し、セルの右下にマウスを移動させるとカーソルが黒い十字マークに変化します。この時ダブルクリックすると、一番下の行まで数式をコピーしてくれます。
VLOOKUP関数とIF関数を組み合わせた使い方
Excel(エクセル)のVLOOKUP関数は、IF関数と組み合わせると検索する条件を細かく設定することが可能です。
複雑な条件を持つセルを検索したい時に便利ですので、使い方をみていきましょう。
- IF関数の論理式(条件)にVLOOKUP関数を組み合せる例
- IF関数の判定結果にVLOOKUP関数を組み合わせる例
IF関数の論理式(条件)にVLOOKUP関数を組み合せる例
検索条件として、IF関数の論理式をVLOOKUP関数に組み込むやり方を紹介します。例では売上げ表を使用して、商品名を入力すると目標の売上を達成しているか否かを判定します。
第3引数の列の指定は第2引数で設定する表の中で「何番目の列」に相当するかを指定することに注意しましょう。
IF関数の判定結果にVLOOKUP関数を組み合わせる例
次に、IF関数の判定結果にVLOOKUP関数を組み合わせる例を紹介します。今度はIF関数で条件を設定し、その結果が真もしくは偽の場合にVLOOKUP関数を使用します。
ここでは年齢と性別を入力すると、性別に応じた平均身長が表示されるような関数を設定します。
まずC13が「男」であれば、男の平均身長を表から取り出すために先ほど作成したVLOOKUP関数(男版)を第2引数に使用して「=IF(C13=”男”,VLOOKUP(B13,$B$4:$D$10,2,FALSE),””)」と入力します。
D13を「=IF(C13=”男”,VLOOKUP(B13,$B$4:$D$10,2,FALSE),IF(C13=”女”,VLOOKUP(B13,$B$4:$D$10,3,FALSE),””))」と書き換えましょう。これで関数の設定は完了です。
VLOOKUP関数の#N/Aエラーや検索結果がおかしい原因
Excel(エクセル)でVLOOKUP関数を使っていると、「#N/A」エラーが表示されたり検索結果がおかしいことがあります。VLOOKUP関数は引数が4つと多く引数にミスが発生しやすくなるので、よくあるミスと対策を確認しておきましょう。
- VLOOKUP関数で#N/Aエラーが表示される
- VLOOKUP関数で表示される検索結果がおかしい
VLOOKUP関数で#N/Aエラーが表示される
VLOOKUP関数で#N/Aエラーが表示される時の主な原因と対策を紹介します。
#N/Aエラーは、合致するデータがないときに表示されます。ここではVLOOKUP関数をコピーして使用した時によく起こる間違いを紹介します。
VLOOKUP関数で表示される検索結果がおかしい
VLOOKUP関数の結果が、想定と異なりおかしい場合についてみていきましょう。これは検索範囲の数値が下降順にならんだ表を使って「TRUE(近似一致)」で検索する時に発生することがあります。
VLOOKUP関数の検索型には「TRUE(近似一致)」と「FALSE(完全一致)」があります。近似一致にすると思わぬ結果となることがあるため、同一のセルを検索したい時は「FALSE(完全一致)」を使用しましょう。
VLOOKUP関数でよくあるエラーと確認ポイント
Excel(エクセル)のVLOOKUP関数でよくあるエラーと確認ポイントについてご紹介します。
【よくあるエラー一覧】
- 検索値が先頭列になく検索対象が見つからない
- 範囲を相対参照で記述してしまい、参照していた表の範囲がズレてしまう
- 検索値が文字列の場合、表記ゆれで上手く検索できない
- 第4引数を指定していないため、検索結果がおかしい
【各エラーの対応方法と確認ポイント】
- 検索値は必ず表の一番左側、先頭列におくようにしましょう。慣れてくると忘れがちなポイントですので注意してください。
- この記事の本文中でも何回か出てきましたが、第2引数を相対参照で書いてしまうとコピー&ペーストで他のセルで使い回した時に表の範囲がズレてしまいます。参照する表のアドレスは固定のため、必ず絶対参照で記載するようにしましょう。
- VLOOKUP関数は検索値と完全に一致する時に値を取得することができます。例えば全角・半角が異なっていたり、文字列の前後に空白があったりと微妙な違いで上手く検索できていない場合があります。
- 第4引数を指定しないと、自動的に「TRUE」で設定されてしまいます。完全に一致する値がない場合は近似値を取得していまいますので、思い通りの結果が得られないことがあります。
ExcelのVLOOKUP関数についておさらい
Excel(エクセル)のVLOOKUP関数は引数が4つと多めで、元データの形式にもルールがあるため難しいと感じている方も多いかもしれません。
そのような場合には今回ご紹介した簡単な例題などを参考に取り組んでみましょう。どうしてもエラーがでたり正しい値が取得できなかったりする場合はエラーリストを確認し、当てはまる原因がないか検討してみてください。
今話題のリスキリングは手元から!
リテラアップアプリのご利用について、法人の方は下記フォームよりお問い合わせください。
(Excel,WordなどOffice製品やPC関連の技術的な質問にはお答えできかねます。ご了承ご了承ください。)