Excelで別シートからデータをマッピングする6つの便利な方法
複数のワークシートを行き来しながら作業することは、Excelユーザーにとってごく日常的なことです。しかし、シート間でデータをマッピング(対応付け)するのは非常に時間のかかる作業になりがちです。そこで本記事では、別シートからデータをマッピングするための6つの便利な方法を、具体例とともにわかりやすく解説します。
サンプルファイルのダウンロード
こちらからサンプルファイルをダウンロードして、実際に手を動かしながら練習してみてください。
Excelで別シートからデータをマッピングする6つの方法
説明用として、ここでは2つのデータセットを用意しました。1つ目は、注文番号・顧客名・国の情報をまとめたものです。

2つ目は、同じ注文番号に紐づいた商品・数量・価格の情報です。

両方のデータセットは「注文番号」を共通キーとして関連付けられています。そこで、1つ目のデータセットから必要なデータを2つ目にマッピングし、一度に完全な情報を揃えていきましょう。それでは、各方法を順番に見ていきます。
1. セル参照(リンク)でデータをマッピングする
まずは最もシンプルな方法から。別シートのセルを直接参照(リンク)してデータを持ってくるやり方です。以下の手順で進めます。
- まず、セルF5にイコール(=)を入力します。

- 次に、元データがあるワークシートへ移動し、セルD5をクリックします。

- 元のワークシートに戻ると、セルF5にセルD5への参照式が表示されているのが確認できます。
- そのままEnterキーを押します。

- これで、別シートからデータを取り出すことに成功しました。

- 続いて、オートフィル機能を使えば、元データのD列全体の値を一気に取得できます。

- 同様の手順で見出しタイトルも挿入します。
- 最後に少し書式を整えると、完成した表はこのようになります。

2. VLOOKUP関数でデータをマッピングする
2つ目の方法は、VLOOKUP関数を使うやり方です。下の画像のように、ワークシートには国列のデータが欠けています。

この不足しているデータを、Dataset 1シートから引っ張ってきます。

以下の手順に従いましょう。
- まず、セルF5に次の数式を入力します。
=VLOOKUP(B5,'Dataset 1'!B4:D9,3,FALSE)
ここで、B5は両方のワークシートに共通して存在するため検索値(Lookup Value)となります。'Dataset 1'!B4:D9は範囲(Table Array)で、参照先シート名とセル範囲を示しています。さらに、必要なデータ列がDataset 1シート内の3列目にあるため、列番号(Column_Index_Num)は3とします。最後に、完全一致で検索したいのでFALSEを指定します。
- Enterキーを押します。
- VLOOKUP関数によるデータのマッピングが成功しました。

- 続けてオートフィルを使えば、全データを一括で取得できます。
- 最終結果はこのようになります。

3. INDEX-MATCH関数で別シートからデータを取得する
INDEX関数とMATCH関数を組み合わせる方法も、別シートからデータを取り出すのに非常に手軽です。以下の手順で進めてみましょう。
- まず、セルG14に次の数式を入力します。
=INDEX('Dataset 1'!B5:D5,MATCH($F$4,'Dataset 1'!$B$4:$D$4,0))
この数式では、INDEX関数が値を返し、MATCH関数が元データの配列から正確な一致位置を見つける役割を担っています。
- Enterキーを押すと、目的の値が表示されます。

- 最後にオートフィルを使って、残りの値もすべて入力しましょう。

4. 詳細フィルターを使って別シートからデータをマッピングする
別シートからデータを抽出するもう一つの有効な手段が、Excelの詳細フィルター(Advanced Filter)です。実際の手順を見てみましょう。
- まず、結果を表示させたい2つ目のワークシートを選択します。
- 次に、データタブを開き、並べ替えとフィルターグループ内の詳細設定を選びます。

- すると詳細フィルターのダイアログボックスが開きます。
- この画面で「指定した範囲」オプションを選択します。
- 続いて、Dataset 1シート側のリスト範囲を指定します。

- さらに、2つ目のシート側から検索条件範囲を指定します。

- 最後に、抽出先ボックスにコピー先のセル情報を入力します。

- OKをクリックします。
- これで、元のワークシートからデータを抽出できました。

5. VLOOKUP関数とINDIRECT関数を組み合わせてマッピングする
次に、VLOOKUP関数とINDIRECT関数を組み合わせた応用テクニックを紹介します。ここでは、見出しは同じでも値が異なる2枚のワークシートを扱います。

こちらがもう片方のワークシートです。

それでは、2つのワークシートからデータをマッピングする手順をステップごとに見ていきましょう。
- まず、新しいワークシートを開き、セルC5に次の数式を入力します。
=VLOOKUP($B5,INDIRECT("'"&C$4&"'!$B$4:$E$9"),3,FALSE)
ここでINDIRECT関数は、文字列をExcelが認識できるシート参照に変換し、その結果をVLOOKUPのtable_array引数に渡しています。これにより、複数シートを切り替えながら検索できるのです。
- Enterキーを押します。
- これだけで、特定の注文番号に対応する数量が表に表示されます。

- 最後にオートフィルを使えば、シート全体の結果を一括取得できます。

6. HLOOKUP関数で別シートからデータをマッピングする
最後に、HLOOKUP関数を使って別シートからデータをマッピングする方法を学びます。実際の流れは以下の通りです。
- まず、セル範囲F5:F9の横に補助的な番号(順序)を入力しておきます。

- 次に、セルF5に次の数式を入力します。
=HLOOKUP($F$4,'Dataset 1'!$B$4:$D$9,HLOOKUP!U5+1,0)
- Enterキーを押します。
- これで、新しいワークシートに目的のデータが表示されました。

- オートフィルを使えば、全体の結果を一括で取得できます。

- 作業が完了したら、補助的に使った番号の削除を忘れずに行いましょう。
まとめ
本記事では、Excelで別シートからデータをマッピングする6つの便利な方法を解説しました。セル参照のような基本操作から、VLOOKUP・INDEX-MATCH・INDIRECT・HLOOKUPといった関数の組み合わせまで、状況に応じて使い分けることで業務効率は大きく向上します。ぜひご自身の作業にも活かしてみてください。本記事がお役に立てば幸いです。今後もExcelに関する役立つ情報をお届けしていきますので、お楽しみに。
-
Excelでデータマッピングを行う5つの便利な方法【初心者向け完全ガイド】
データマッピングは、データ管理における最初の、そして最も重要なステップの一つです。Microsoft Excelを使えば、データマッピングを簡単に行うことができ、データ管理にかかる時間と手間を大幅に削減できます。この記事では、Excelでデータマッピングを行う方法を5つの実用的なテクニックで解説します。 データマッピングとは? データマッピングとは、あるデータベースのデータを別のデータベースにリンクさせるプロセスのことです。データ管理において非常に重要な作業であり、データマッピングを実行しておけば、片方のデータベースのデータを変更した際に、もう片方のデータベースのデータも自動的に更新されます。
-
Excelでデータモデルからデータを取得する2つの簡単な方法
Excelのデータモデルからデータを取り出す便利なテクニックをお探しの方は、ぜひこの記事をご覧ください。データモデルからデータを取得する方法は実にさまざまありますが、本記事では代表的な2つの方法を詳しく解説します。手順を一つずつ丁寧に追って説明しますので、最後まで読んでマスターしましょう。 データモデルとは? データモデルはデータ分析において欠かせない機能です。データモデルを使うと、テーブルなどのデータをExcelのメモリ上に読み込むことができます。さらに、共通の列(キー列)を指定することで、複数のテーブル同士を関連付けることも可能です。データモデルにおける「モデル」という言葉は、各テーブル間