営業部の佐藤さんは、毎月提出する売上報告書の作成に頭を悩ませていました。顧客リスト、商品マスタ、そして実際の売上データ。これらを一つ一つ手作業で照合し、集計するのは時間もかかり、ミスも発生しやすい作業です。VLOOKUP関数を使えば、この作業を大幅に効率化できるのですが、どうも一歩踏み出せない。そんな状況を打破するための、VLOOKUP関数の実践的な使い方を解説します。
VLOOKUP 使い方:脱・手作業!業務効率化の鍵
VLOOKUP関数とは?
VLOOKUP関数は、Excelで特定の値を検索し、対応する別の列の値を返す関数です。簡単に言うと、「このIDの商品名は何?」「この顧客の住所はどこ?」といった問い合わせに、Excelが自動で答えてくれるようなイメージです。大量のデータから必要な情報を探し出す作業を効率化し、入力ミスを減らすことができます。
VLOOKUP関数の基本構文
VLOOKUP関数は、以下の4つの引数で構成されています。
- 検索値:検索したい値(例:商品コード、顧客ID)
- 範囲:検索対象となるテーブル範囲(例:商品マスタ、顧客リスト)
- 列番号:範囲内で、取得したい値が入力されている列番号(左から数えて何番目か)
- 検索の型:検索方法を指定(TRUE=近似一致、FALSE=完全一致。通常はFALSEを使用)
数式で表すと、=VLOOKUP(検索値, 範囲, 列番号, 検索の型)となります。Microsoftの公式ドキュメントにも記載されているように、引数の指定を間違えると正しい結果が得られません。(参照: Microsoft公式サイト)
商品マスタから商品情報を抽出する例
例えば、A列に商品コード、B列に商品名、C列に単価が記載された「商品マスタ」シートがあるとします。別のシートで、商品コードを入力したら自動的に商品名と単価が表示されるようにするには、VLOOKUP関数を使用します。
- 商品名を表示したいセルに、
=VLOOKUP(と入力します。 - 検索値として、商品コードが入力されているセル(例えばA2)を指定します。
- 範囲として、「商品マスタ」シートのA1:C100(商品コード、商品名、単価が含まれる範囲)を指定します。
- 列番号として、商品名が記載されている列(B列なので2)を指定します。
- 検索の型として、完全一致を意味するFALSEまたは0を指定します。
- 数式を完成させると、
=VLOOKUP(A2, 商品マスタ!$A$1:$C$100, 2, FALSE)となります。単価を表示する場合は、列番号を3に変更します。
F4キーを押して範囲を絶対参照にすることを忘れないようにしましょう。実務でよく見かけるのは、この絶対参照を忘れて数式をコピーし、結果がズレてしまうケースです。経理の現場では、この設定を忘れて集計がずれるケースをよく見かけます。

業務効率化の事例集
売上管理表の自動作成
売上データには商品コードしか記載されておらず、商品名や単価が別の商品マスタに記載されている場合、VLOOKUP関数を使って商品名や単価を自動的に表示させることができます。これにより、手作業での転記ミスをなくし、正確な売上管理表を作成できます。

顧客リストとの連携で請求業務を効率化
顧客コードに基づいて、顧客リストから住所や電話番号を請求データに転記する作業も、VLOOKUP関数で効率化できます。顧客情報が変更された場合でも、顧客マスタを修正すれば、請求データに自動的に反映されます。
勤怠管理への応用:部署名の一括表示
従業員IDをキーにして、人事システムから従業員名や部署名を取得し、Excelで作成したシフト表に自動的に表示させることができます。これにより、手入力による入力ミスを減らし、正確なシフト管理を実現できます。

筆者の経験では、このVLOOKUPを使った自動化で、月末の締め作業にかかる時間を大幅に削減できたという事例をよく耳にします。
応用テクニックでレベルアップ
エラー表示を回避!IFERROR関数の活用
VLOOKUP関数で検索値が見つからない場合、#N/Aエラーが表示されます。このエラー表示を回避するために、IFERROR関数を組み合わせることができます。IFERROR関数は、数式がエラーを返す場合に、指定した値を表示する関数です。
例えば、=IFERROR(VLOOKUP(A2, 商品マスタ!$A$1:$C$100, 2, FALSE), "該当なし")と入力すると、A2セルに商品コードが存在しない場合、「該当なし」と表示されます。

別ブック参照でデータ集計を効率化
VLOOKUP関数は、別のExcelブックを参照することもできます。参照先のブックを開いた状態で、範囲を指定する際に、別のブックを選択するだけです。ただし、参照先のブックを閉じると、VLOOKUP関数は正しく動作しません。別ブックを参照する場合は、ブックを常に開いておくか、参照元のブックにデータをコピーすることをおすすめします。
INDEX関数とMATCH関数の合わせ技
VLOOKUP関数は、検索値が範囲の左端の列に存在する必要があります。もし、検索値が左端の列にない場合は、INDEX関数とMATCH関数を組み合わせることで、VLOOKUP関数と同様の検索を実現できます。
例えば、商品名から商品コードを検索したい場合などに有効です。数式は少し複雑になりますが、=INDEX(商品マスタ!$A$1:$A$100,MATCH(B2,商品マスタ!$B$1:$B$100,0))のように記述します。
陥りやすいミスとその解決策
#N/Aエラー頻発の原因と対策
VLOOKUP関数で最もよくあるエラーは、#N/Aエラーです。このエラーは、検索値が範囲内に見つからない場合に表示されます。#N/Aエラーの原因としては、以下のものが考えられます。
- 検索値が範囲内に存在しない
- 検索値と範囲内の値のデータ型が異なる(数値と文字列など)
- 検索値または範囲内に不要なスペースが含まれている
対策としては、検索値と範囲内の値が一致しているか、データ型が同じであるか、不要なスペースが含まれていないかを確認しましょう。Microsoft公式サイトにも、#N/Aエラーのトラブルシューティングが詳しく解説されています。(参照: Microsoft公式サイト)
絶対参照の落とし穴
VLOOKUP関数で範囲を指定する際に、絶対参照($マーク)を使用しないと、数式をコピーした際に範囲がずれてしまい、正しい結果が得られないことがあります。範囲を指定する際は、必ずF4キーを押して絶対参照に設定しましょう。

完全一致と近似一致の使い分け
VLOOKUP関数の「検索の型」を間違えると、意図しない結果が表示されることがあります。特に、TRUE(近似一致)を指定した場合、検索値が見つからない場合に、最も近い値を返してしまうため、注意が必要です。通常はFALSE(完全一致)を指定しましょう。
ポイント: VLOOKUP関数は、検索範囲の中で最初に見つかった値のみを返します。もし検索範囲に重複する検索値がある場合、意図しない結果になる可能性があるため、注意が必要です。
プロのコツ
テーブル機能を活用したスマートな範囲指定
VLOOKUP関数の範囲指定に、テーブル機能を使うと、数式がより見やすくなり、メンテナンスも容易になります。テーブルに新しい行を追加した場合、VLOOKUP関数の範囲も自動的に拡張されるため、数式を修正する必要がありません。

テーブル機能は、Excel 2019以降、Microsoft 365で利用可能です。
ワイルドカードで曖昧検索を使いこなす
VLOOKUP関数では、ワイルドカード文字(や?)を使って、曖昧な検索を行うことができます。例えば、商品コードの一部しかわからない場合に、「A-00」のように指定することで、A-00で始まるすべての商品を検索できます。
ショートカットキーで作業効率アップ
VLOOKUP関数を入力する際に、以下のショートカットキーを活用することで、作業効率を大幅に向上させることができます。
- F4キー:セル参照を絶対参照、相対参照、複合参照と切り替える
- Ctrl + Shift + Enter:配列数式として確定する(VLOOKUPではあまり使いませんが、他の関数と組み合わせる際に役立ちます)
- Alt + =:SUM関数を自動入力する(VLOOKUPとは直接関係ありませんが、データ集計でよく使うので覚えておくと便利です)
注意点: ワイルドカードを使用する際は、検索範囲内のデータに意図しない文字列が含まれていないか確認しましょう。
まとめ
VLOOKUP関数は、Excelにおけるデータ検索の強力なツールです。基本をマスターし、応用テクニックや注意点を理解することで、日々の業務効率を大幅に改善できます。この記事で学んだVLOOKUP 使い方を参考に、ぜひ業務効率化に役立ててください。
- VLOOKUP関数は、指定した範囲内で特定の値を検索し、対応する別の列の値を返す
- 基本構文は
=VLOOKUP(検索値, 範囲, 列番号, 検索の型) - IFERROR関数と組み合わせることで、エラー表示を回避できる
- テーブル機能を使うと、範囲指定が楽になる
- 絶対参照($マーク)を忘れないように注意


コメント