初心者から上級者まで使える!Excel関数「VLOOKUP」の使い方と応用テクニック完全解説

Excelを使っていると「表から特定の値を探して取り出したい」という場面に多く出会います。そこで活躍するのが「VLOOKUP(ブイルックアップ)」関数です。VLOOKUPは業務で最もよく利用される関数のひとつで、売上管理、在庫管理、人事データの検索など幅広い場面で使えます。しかし一方で、「エラーが出てしまう」「思った通りに結果が返ってこない」という悩みを持つ方も少なくありません。この記事では、VLOOKUP関数の基本から応用までを丁寧に解説し、使いこなすためのコツを紹介します。Excel初心者の方はもちろん、すでに使ったことがある方もより深く理解できる内容です。

VLOOKUP関数とは?基本の考え方

VLOOKUP関数は、指定した「検索値」を表の中から探し出し、その行にある別の列の値を返す関数です。構文は以下の通りです。

=VLOOKUP(検索値, 範囲, 列番号, 検索方法)
  • 検索値:探したい値
  • 範囲:検索対象となる表の範囲
  • 列番号:範囲の中で取り出したい列番号(左端を1列目と数える)
  • 検索方法:完全一致なら「FALSE」、近似一致なら「TRUE」

例えば「商品コードから商品名を検索する」といったシーンで活用されます。


VLOOKUPの基本的な使い方

具体例を見てみましょう。

商品コード商品名単価
A001りんご120
A002みかん100
A003バナナ80

「A002」という商品コードから商品名を取り出す場合、次のように書きます。

=VLOOKUP("A002", A2:C4, 2, FALSE)

結果は「みかん」と表示されます。


よくあるエラーと原因

VLOOKUPを使うと、#N/A や #REF! といったエラーが出ることがあります。主な原因を整理しましょう。

  • #N/Aエラー:検索値が見つからない場合
    → スペースが混入している、完全一致を指定していない場合に起きやすい
  • #REF!エラー:列番号が範囲外
    → 範囲が3列なのに列番号を「4」としているケースなど
  • #VALUE!エラー:列番号が数値以外
    → 「列番号」に文字が入っている場合に発生

エラーが出たらまず「検索値」「範囲」「列番号」の指定を見直しましょう。


VLOOKUPと近似一致の使い方

検索方法で「TRUE」を指定すると近似一致検索になります。例えば点数に応じて評価をつける場合に便利です。

点数評価
0D
60C
80B
90A

次の式で「85点」の評価を求めてみましょう。

=VLOOKUP(85, A2:B5, 2, TRUE)

結果は「B」となります。これは「85点以上かつ90点未満の範囲に該当するから」です。


VLOOKUPの弱点と注意点

便利なVLOOKUPですが、いくつかの制約があります。

  1. 左から右にしか検索できない
    VLOOKUPは範囲の左端列を基準に検索します。そのため「右から左への検索」はできません。
  2. 列番号の固定が必要
    列番号を指定するため、表の構造が変わると数式が崩れやすいです。
  3. 処理が重くなることもある
    大量のデータを扱う場合、シートの動作が遅くなることがあります。

これらの弱点を補うには、後述するINDEX関数やXLOOKUP関数が役立ちます。


VLOOKUPを実務で使う具体例

売上管理で商品名を表示

注文データに商品コードしかない場合、VLOOKUPを使ってマスタ表から商品名を引き出すことで、見やすい売上表が作れます。

在庫管理で単価を自動計算

商品コードを入力すると自動で単価が表示され、数量を掛け合わせて金額を計算できます。

人事データの検索

社員番号から氏名や所属部署を呼び出すことで、異動リストや給与計算に活用できます。


VLOOKUPを使いこなすためのコツ

  • 絶対参照を活用する
    範囲を指定するときは「$」をつけて固定するとコピーがしやすい。
  • IFERRORと組み合わせる
    エラー時に「未登録」などと表示できる。 =IFERROR(VLOOKUP(A2, 商品マスタ!A:C, 2, FALSE), "未登録")
  • データの整形を事前に行う
    検索値に余分な空白や全角半角の違いがあると一致しないため、CLEAN関数やTRIM関数で整えておく。

VLOOKUPの代替:INDEXとMATCH

VLOOKUPの弱点を補う組み合わせとして有名なのが「INDEX」と「MATCH」です。

=INDEX(B2:B4, MATCH("A002", A2:A4, 0))

この式では「A002」をA列から探し、該当する行のB列の値を返します。
右から左への検索や列の追加削除に強い点がメリットです。


Excel 365での進化:XLOOKUP

最近のExcelでは「XLOOKUP」が登場し、VLOOKUPの進化版として注目されています。

=XLOOKUP("A002", A2:A4, B2:B4, "未登録")

XLOOKUPは左右どちらの検索も可能で、列番号指定も不要。
VLOOKUPでの弱点をほぼ解消しています。


まとめ

VLOOKUP関数は、Excelでのデータ検索を支える基本かつ強力なツールです。検索値・範囲・列番号・検索方法という4つの要素をしっかり理解すれば、多くの業務に応用できます。エラーが出た場合の原因を把握し、IFERRORやINDEX関数、XLOOKUPといった関数と組み合わせることで、より実務に即した使い方が可能です。

Excelの実務スキルを高めるためには、まずVLOOKUPをしっかりマスターすることが近道です。慣れてきたらINDEXやXLOOKUPも取り入れ、検索機能を自在に使いこなせるようにしましょう。

タイトルとURLをコピーしました