エクセルピボットをBIツールのようにつかう – 2.7 – データのマージ (結合)
エクセルをBIツールのように活用する方法を解説しています。使用するのはエクセルの標準機能 (マクロは使用ナシ) だけ!
今回は、データソースをマージ (結合) する方法について解説しています。
>売上サンプルデータ (テキストファイル) はこちらからダウンロードできます。
>顧客マスタサンプルデータ (テキストファイル) はこちらからダウンロードできます。
目次
データのマージとは
<マージの前提条件>
・複数のテーブルデータがある。
・両方のテーブルに一致する値 “キー”(結合句) を含む列がある。
・一方のキー (結合句) はユニークであり重複行 (ダブり) がない。
1対1、1対多のマージは可能、多対多のマージは不可能です。
・両方のキーのデータ形式が同一である。文字列と文字列とか。
具体的に画像のようなデータのとき
・売上データには「会員コード」がある。顧客マスタには「会員コード」がある。
・顧客マスタの「会員コード」は重複行がない。
・両データの「会員コード」の形式は文字列である。
これで、売上データへ顧客マスタの生年月日を、いわゆる、引っ張ってくることができます。
会員コード,生年月日 12345,2010/10/10 12345,2010/11/11 データのマージができない 同一の会員コードが複数あり、生年月日も複数ある
画像のように「グループ」列と「商品コード」列をくっつけることをマージと定義することもありますが、当サイトでは、単純にマージはデータとデータのマージのことです。
列のマージは、「列のマージ」「列をくっつける」とかの表現にしています。
マージの手順
・売上データのシートへ移動します。
・「クエリ」タブ
・「編集」をクリック
・「ホーム」タブ
・「クエリのマージ」を選択
・マージするデータを選択します。
・キーになる列をそれぞれのデータで選択します。
・「左外部」を選択します。
結合の種類はこちらの記事を参考にしてください。
・列名の右側にある矢印みたいなボタンをクリックします。
・引っ張ってくる列をチェックします。
・列名を整えて
・「閉じて読み込む」
・列が追加されます。
・「データ」タブ
・「すべて更新」をクリックします。
ピボットに「生年月日」が追加されていれば成功です。
VLOOKUPとの違い
単純に別データから値を引っ張ってくるということであれば、はっきりとした違いがあるようには思いません。コンピュータのパフォーマンスにより、VLOOKUPの計算が遅いとか、フィルターしたときの動きが遅いといったことがあるかもしれません。
マージには「外部結合」「内部結合」のように、さまざまな結合方法を選択できること、VLOOKUPではちょっと難しいマージができたりと、マージのバラエティーが豊富なことは確かです。