VLOOKUP関数は、大量のデータから目的のデータを取り出せるため、仕事での使用頻度が高い関数です。引数が多く難しいと感じがちですが、使えると検索の精度や効率が上がります。
今回は、「関数VLOOKUPの基本的な使い方と使用するケース」をご紹介します。
※本記事で使用したExcelのバージョンは、「Microsoft® Excel® for Microsoft 365 MSO (バージョン 2206 ビルド 16.0.15330.20260) 64 ビット」です。
VLOOKUP関数とは
VLOOKUP関数は、Excel関数の中で「検索/行列」に分類される関数です。
大量のデータから垂直(vertical)方向にデータを探し、対応した値を取り出せます。
VLOOKUP関数の数式は次のように入力します。
【VLOOKUP関数の数式】
=VLOOKUP(検索値,範囲,列番号,検索方法)
引数には以下の4つを指定する必要があります。
- 検索値:データの中から探す値
- 範囲:検索値と取り出す値のある場所
- 列番号:「範囲」の中で、取り出したい値がある列(左から何列目か)
- 検索方法:「完全一致」または「近似値」どちらの方法でデータを探すのか
VLOOKUP関数を使用するケース
VLOOKUP関数は、大量のデータから対応するデータを取り出したいときに使用します。
件数が少ないデータならば、1行ずつ確認しながら探すことも可能です。けれども、行数が多くなると見落としが発生したり、前後の行のデータを間違って取り出したりと正確に検索しづらくなります。
次のようなケースは、大量のデータから検索する機会が多く、VLOOKUP関数を使用が適しています。
- 商品一覧のIDを元に商品名を取り出したい。
- 顧客名簿の会員番号を元に、氏名を取り出したい。
- 売上一覧表の日付を元に、売上金額を取り出したい。
VLOOKUP関数の基本的な使い方
ここでは、従業員一覧の例を参考に、VLOOKUP関数の使い方をお伝えします。
このデータでは、右側の一覧表の中から「ID」を使って「氏名」を取り出します。
はじめに、取り出したいデータが揃っている表を用意しましょう。
データの表を用意するときには、検索値のある項目を一番左の列にして作成してください。

取り出した値を表示したいセルに「=VLOOKUP(」と入力すると、「=VLOOKUP(検索値,範囲,列番号,検索方法)」とガイドが表示されます。

以下を参考に、引数を「検索値」から順に半角カンマ「,」で区切りながら指定していきましょう。
【検索値】
「=VLOOKUP(」に続けて、「ID」を入力して検索するためのセル「B4」と入力するかセルをクリックして指定してください。
数式バーには「=VLOOKUP(B4,」と表示されています。

【範囲】
次に、どの範囲から値を探し出すのかを指定します。見本では、右側の一覧表を項目名も含めて選択しました。
数式バーには「=VLOOKUP(B4,F2:I12,」と表示されています。

【列番号】
列番号は、取り出す値が一覧表の「左から何列目」にあるかを指定します。見本の場合は、取り出したい「氏名」は、一覧表の左から2列目にあるため、「2」と入力します。
数式バーには「=VLOOKUP(B4,F2:I12,2,」と表示されています。

【検索方法】
検索方法には次のどちらかを入力します。
- 「FALSE」:検索値と完全に一致する場合に対応する値を取り出す。(「0」でも可)
- 「TRUE」:検索値が一致しない場合、近い値(近似値)を元に対応する値を取り出す。(「1」でも可)
VLOOKUP関数を難しく感じさせる原因のひとつがこの検索方法です。けれども、多くの場合、見本のデータのように単純に値を取り出す目的に使われ、検索方法は完全一致の「FALSE」を使用します。「完全一致はFALSE」をまず覚えておき、VLOOKUPに慣れたら「TRUE」の使い方もマスターしてください。

検索値TRUEを使うケース
VLOOKUP関数を使いこなせてくると、完全一致ではなく「近似値」で値を取り出したい場合が出てきます。
見本の場合、点数を入力すると「~以上~未満」でいくつかに区分けされた「成績」の値を取り出しています。
検索方法「TRUE」は、上から下へ検索し検索値と同じ値があれば対応する値を取り出します。同じ値が無い場合は、検索値より小さい値の中から検索値に一番近い値を探し、対応した値を取り出します。
上から下へ検索する性質があるため、あらかじめ「範囲」の左端の列を「昇順」に並び替えておくのがポイントです。

VLOOKUP関数でおこりやすい「#N/A」エラー
VLOOKUP関数を使用していると「#N/A」と表示されることがあります。
これは、参照する範囲に合致したデータがない場合に表示されるエラーです。
エラーの原因でよくあるのが、「検索値」と「範囲」のどちらかが「文字列」になっている場合です。
「検索値」と「文字列」両方が同じ種類の書式ではない場合、それぞれ別の値として判断されてしまいます。エラーが出たら、ツールバーの「数値の書式」で書式を確認してみましょう。

他にも、#N/Aエラーの原因は、範囲内に「検索値」が入力されていないことや、オートフィルでコピーした際に「範囲」がずれてしまっているなどの可能性もあります。VLOOKUP関数が入っているセルをクリックし、数式バーで確認しましょう。
まとめ
今回は、「関数VLOOKUPの基本的な使い方と使用するケース」を紹介しました。
VLOOKUP関数は、仕事での使用頻度が高い関数ですのが、引数が多く難しいと感じがちです。ただ、使えると検索の精度や効率が上がりますので、ぜひ、活用してみてください。
