Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

データのマッピングはExcel作業に欠かせないスキルです。便利なマッピング手法をいくつか身につけておくと、作業時間を大幅に短縮でき、業務フローも改善されます。この記事では、VLOOKUP関数を使ってExcelでデータをマッピングする4つの実用的な方法を解説します。さらに、値のN番目の出現を取得する方法や、VLOOKUP関数でエラーを非表示にするテクニックについてもご紹介します。

練習用ワークブックは以下のリンクからダウンロードできます。

ExcelでVLOOKUPを使ってデータをマッピングする4つの方法

この記事では、VLOOKUP関数MATCH関数COUNTIF関数INDIRECT関数IF関数と組み合わせて、データをマッピングする方法を解説します。それでは早速見ていきましょう。
ここでは Microsoft Excel 365 のバージョンを使用していますが、お使いの環境に合わせて他のバージョンでも問題なく操作できます。

方法1:VLOOKUP関数だけでデータをマッピングする

まずは最も基本的な方法である、VLOOKUP関数単体でのデータマッピングから始めましょう。
下図のように B4:D14 のセル範囲に、社員のID氏名所属部署の一覧データがあるとします。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

手順:

  • まず、セル G5 に以下の数式を入力します。

=VLOOKUP(G4,B5:D14,3,FALSE)

この数式では、セル G4 が検索対象のID(1008)を参照し、セル範囲 B5:D14ID氏名所属部署の各列を表しています。

数式の解説:

  • VLOOKUP(G4,B5:D14,3,FALSE) → テーブルの左端の列から値を検索し、同じ行内の指定した列から値を返します。ここでは、G4(lookup_value:検索値)を B5:D14(table_array:範囲)の中から探します。次の 3(col_index_num:列番号)は返す値の列位置を示し、最後の FALSE(range_lookup:検索方法)は検索値との完全一致を指定しています。
    • 結果 → Marketing(マーケティング)

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

最終的な結果は下図のようになります。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

方法2:VLOOKUPとMATCH関数を組み合わせたマッピング(双方向VLOOKUP)

2つ目の方法では、VLOOKUP関数MATCH関数を組み合わせて、特定の行と列が交差する位置にある値を取得します。これは「双方向VLOOKUP(Two-way VLOOKUP)」とも呼ばれるテクニックです。
ここでは、B4:E12 のセル範囲にある売上一覧データを使用します。商品名と、1月2月3月それぞれの販売数量が記録されています。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

手順:

  • まず、商品名を選択します。ここでは例として「Television(テレビ)」と「March(3月)」を選びます。
  • 次に、セル H6 に以下の数式を入力します。

=VLOOKUP(H4, B6:E10, MATCH(H5, B5:E5, 0), FALSE)

ここで、セル H4H5 はそれぞれ商品名を参照し、B5:E5 は列見出しを表しています。

数式の解説:

  • MATCH(H5, B5:E5, 0) → 配列内で指定した値と一致する項目の相対的な位置を返します。H5lookup_value(検索値)で、ここでは「3月」を指します。B5:E5 は照合元となるlookup_array(検査範囲)、最後の 0 は省略可能なmatch_type(照合の型)で、完全一致を意味します。
    • 結果 → 4
  • VLOOKUP(H4, B6:E10, MATCH(H5, B5:E5, 0), FALSE) → 上記より次のようになります
    • VLOOKUP(H4, B6:E10, 4, FALSE) → H4(lookup_value)を B6:E10(table_array)から検索し、4(col_index_num)で指定された列の値を返します。最後の FALSE(range_lookup)は完全一致の指定です。
    • 結果 → 243

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

最終的な結果は下図のようになります。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

方法3:VLOOKUPとCOUNTIF関数を組み合わせたマッピング

Excelでデータをマッピングするもう一つの方法として、VLOOKUP関数の中にCOUNTIF関数を組み込むやり方があります。シンプルで分かりやすいので、以下の手順に従ってください。
ここでは、B4:C11 のセル範囲にあるベストセラー書籍データを使用します。ベストセラーの書籍名と、その価格(USD)が記録されています。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

手順:

  • まず、セル F5 に以下の数式を入力します。

=IF(COUNTIF(B5:B9,F4),VLOOKUP(F4,B5:C9,2,TRUE),0)

この数式では、セル範囲 B5:C9ベストセラー書籍価格の列を表し、セル F4 は検索対象の書籍名(ここでは House of Wisdom)を参照しています。

数式の解説:

  • COUNTIF(B5:B9,F4) → 指定した条件を満たすセルの個数を範囲内でカウントします。B5:B9range(範囲)引数でベストセラー書籍のリストを指し、F4 は一致した値の出現回数を返すcriteria(条件)引数です。
    • 結果 → 1
  • VLOOKUP(F4,B5:C9,2,TRUE) → F4(lookup_value)を B5:C9(table_array)から検索し、2(col_index_num)で指定された列の値を返します。最後の TRUE(range_lookup)は近似一致の指定です。
    • 結果 → 25
  • IF(COUNTIF(B5:B9,F4),VLOOKUP(F4,B5:C9,2,TRUE),0) → 上記より次のようになります
    • IF(1,25,0) → 条件が満たされているかどうかを判定し、TRUEなら一方の値を、FALSEならもう一方の値を返します。ここでは 1logical_test(論理式)となり、IF関数25(value_if_true)を返させます。条件を満たさない場合は 0(value_if_false)が返されます。
    • 結果 → $25

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

その結果、下図のような表示になります。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

方法4:VLOOKUPとINDIRECT関数を組み合わせたマッピング

INDIRECT関数VLOOKUP関数を組み合わせることでも、Excelでデータをマッピングできます。それでは手順を見ていきましょう。
ここでは、B4:I10 のセル範囲にある食料品リストデータを使用します。同じ商品の価格が、アメリカの3都市別に記録されています。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

手順:

  • まず、セル B5 を選択し、データタブをクリックして、データの入力規則のドロップダウンを押します。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

これにより、データの入力規則ダイアログボックスが開きます。

  • 次に、入力値の種類ドロップダウンで「リスト」を選択し、元の値フィールドで B6:B10 のセル範囲を指定して、OKボタンをクリックします。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

  • 続いて、B6:C10 のセル範囲を選択し、数式タブに移動して、名前の定義オプションをダブルクリックします。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

これにより、名前の編集ウィザードが開きます。

  • ここで、データ範囲に適切な名前(この場合は Boston)を入力し、OKボタンをクリックします。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

同様の手順で、Atlanta名前付き範囲を定義します。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

同じように、Denver名前付き範囲も定義しましょう。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

  • 次に、セル C14 に移動し、データタブでデータの入力規則ボタンをクリックします。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

  • 同様に「リスト」オプションを選択し、下図のように名前付き範囲を入力します。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

これで、ドロップダウンから商品名地域を選択できるようになりました。ここでは例として Tomato(トマト)Atlanta(アトランタ) を選んでいます。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

  • その後、セル D14 に以下の数式を入力します。

=VLOOKUP(B14,INDIRECT(C14),2,FALSE)

ここで、セル B14C14 はそれぞれ商品名地域を参照しています。

数式の解説:

  • INDIRECT(C14) → 文字列で指定された参照先を返します。ここでは C14ref_text(参照文字列)引数で、名前付き範囲 Boston を指しています。
  • VLOOKUP(B14,INDIRECT(C14),2,FALSE) → B14(lookup_value)を、INDIRECT(C14) で取得した名前付き範囲(table_array)から検索します。2(col_index_num)は返す値の列番号、最後の FALSE(range_lookup)は完全一致の指定です。
  • 結果 → $1.2

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

以上の手順を完了すると、結果は下図のようになります。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

さらに、この方法は複数のワークシートにデータが分散している場合にも活用できます。検索値に基づいて、特定のワークシートからデータをマッピングしたいときに非常に便利です。

VLOOKUP関数でN番目の出現を取得する方法

下図のように、B4:D13 のセル範囲に文房具売上リストがあるとします。ここで、「同じ顧客が購入した2番目や3番目の商品を知りたい」というケースを考えてみましょう。この課題を解決するには、COUNTIF関数VLOOKUP関数を組み合わせます。詳しい手順を見ていきましょう。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

手順:

  • まず、B列に新しい列を挿入し、見出しを「Helper Column(作業列)」に変更します。そして、セル B5 に以下の数式を入力します。

=C5&COUNTIF($C$5:C5, C5)

📄 注意: 作業列は必ずデータセットの左端に挿入してください。デフォルトではVLOOKUP関数は左から右へ検索するためです。

ここで、セル C5氏名(John)を参照し、COUNTIF関数は指定範囲 $C$5:C5 内で John の出現回数をカウントします。最後に、アンパサンド(&)演算子が文字列と数値を結合します。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

  • 次に、氏名出現回数を入力します。ここでは例として Julie3 を入力し、セル H6 に以下の数式を入力します。

=VLOOKUP(H4&H5, B5:E13, 3, FALSE)

この数式では、セル H4H5 がそれぞれ氏名出現回数を表しています。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

以上の手順を完了すると、結果は下図のようになります。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

VLOOKUPとIF関数で#N/Aエラーを非表示にする方法

ISNA関数VLOOKUP関数IF関数の中で使うことで、無効な検索値が入力された際の#N/Aエラーを非表示にできます。それでは、具体的な手順をご紹介します。

手順:

  • まず、セル G5 に以下の数式を入力します。

=IF(ISNA(VLOOKUP(G4, B5:D14,3,FALSE)), "",VLOOKUP(G4, B5:D14,3,FALSE))

この数式では、セル G4ID(1008)を参照し、セル範囲 B5:D14ID氏名所属部署の各列を表しています。

数式の解説:

  • ISNA(VLOOKUP(G4, B5:D14,3,FALSE)) → 値が #N/A かどうかを判定し、TRUEまたはFALSEを返します。G4(lookup_value)を B5:D14(table_array)から検索し、3(col_index_num)で指定された列の値を確認します。最後の FALSE(range_lookup)は完全一致の指定です。
    • 結果 → FALSE
  • IF(ISNA(VLOOKUP(G4, B5:D14,3,FALSE)), "",VLOOKUP(G4, B5:D14,3,FALSE)) → 上記より次のようになります
    • IF(FALSE, "",VLOOKUP(G4, B5:D14,3,FALSE)) → 条件が満たされているかどうかを判定し、TRUEなら一方の値を、FALSEならもう一方の値を返します。ここでは FALSElogical_test(論理式)となり、IF関数VLOOKUP関数の結果(value_if_true)を返させます。条件を満たす場合は空白 ""(value_if_false)が返されます。
    • 結果 → HR(人事部)

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

最終的に、下図のような結果が得られます。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

さらに、存在しないID番号(ID 1012など)を入力すると、#N/Aエラーの代わりに空白が返されることが、下図のスクリーンショットで確認できます。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

練習セクション

各シートの右側には練習用セクションを用意していますので、ぜひご自身で実際に試してみてください。

ExcelのVLOOKUP関数でデータをマッピングする4つの簡単な方法

まとめ

この記事で紹介したVLOOKUP関数を使ったExcelでのデータマッピングの方法が、皆さんのスプレッドシート作業に役立てば幸いです。ご質問やフィードバックがありましたら、コメント欄でお気軽にお知らせください。また、当サイトにはExcel関数に関する他の記事も多数掲載していますので、ぜひ参考にしてみてください。

  1. Excelでメールリンクを削除する7つの簡単な方法

    Excelのワークシートにメールアドレスを入力すると、自動的にリンク(ハイパーリンク)に変換されてしまいます。この自動変換を解除したいとお悩みの方に向けて、本記事ではExcelでメールリンクを削除する方法を詳しく解説します。 Excelでメールリンクを削除する7つの方法 以下のデータセットを使って手順を説明します。このデータには社員ID、氏名、メールアドレスが含まれており、メールアドレスはリンクとして挿入されています。これから7つの方法でメールリンクを削除する手順を紹介していきます。 方法1:「ハイパーリンクの編集」でメールリンクを削除する まず、「ハイパーリンクの編集」ダイアログボックスを

  2. Excelで生データを分析する9つの実践的な方法

    Excelで生データ(ローデータ)を効率的に分析したいと思っていませんか?この記事では、初心者から上級者まですぐに使える9つの分析方法を、具体的な手順付きでわかりやすく解説します。 記事内の手順は、実際にダウンロードできるワークブックを使って練習することも可能です。 Excelで生データを分析する9つの方法 ここでは、ある企業の製品名、月、売上の値を含むデータセットを例に使用します。この生データセットを、以下の9つの方法で分析していきましょう。 1. 並べ替えとフィルター機能でデータを分析する まず最初の方法は、並べ替えとフィルター機能を使った基本的なデータ分析です。以下の手順に従って操作して