Power Query(パワークエリ)は、ExcelやPower BIでデータを効率的に整理・分析するための強力な機能です。
中でも「マージ(結合)」は、複数のテーブルを一つにまとめる際に欠かせない操作です。
しかし、マージには「左外部結合」や「内部結合」など6種類の結合方法があり、どれを使えばいいのか迷う方も多いでしょう。
この記事では、Power Queryのマージの仕組みと6種類の結合の違いを、図解イメージを交えながらわかりやすく解説します。
初心者の方でも、この記事を読めば「どんな場面でどの結合を使うべきか」がしっかり理解できます。
Power Queryの「マージ(結合)」とは
Power Queryの「マージ」は、2つ以上のテーブルを「共通のキー(列)」を使って結合する操作のことです。
例えば、社員リストと部署リストが別々のテーブルにある場合、社員番号をキーとして一つの表にまとめることができます。
マージの基本的な流れは以下の通りです。
- ホームタブ → クエリの結合(マージ) を選択
- 結合したい2つのテーブルを選ぶ
- キーとなる列を選択
- 結合の種類を選ぶ(←ここが重要!)
- 新しい列を展開して必要なデータを取り込む
この中で最も理解しておくべきポイントが「結合の種類」です。
Power Queryでは主に6種類の結合方法が用意されています。
左外部結合(Left Outer Join)
左外部結合は、左側(最初に選んだテーブル)のデータをすべて残し、右側(結合先)のデータを一致する部分だけ取り込む方法です。
たとえば、
- 左のテーブル:社員リスト
- 右のテーブル:部署マスタ
とした場合、部署マスタに存在しない部署コードを持つ社員でも、左のテーブルには残ります。
特徴:
- 左側のすべての行を保持
- 右側に一致するデータがない場合は「null」になる
利用シーン:
「すべての社員リストに対して、部署名を付けたい」ときなど、左のデータを基準にしたい場合に最適です。
右外部結合(Right Outer Join)
右外部結合は、右側(結合先)のテーブルのデータをすべて残し、左側のデータを一致するものだけ結合する方法です。
左外部結合の逆バージョンと考えるとわかりやすいです。
特徴:
- 右側のすべての行を保持
- 左側に一致しない場合は「null」になる
利用シーン:
「部署マスタにある部署をすべて残したい」「左側(社員リスト)に該当社員がいなくても部署を表示したい」ときなど。
内部結合(Inner Join)
内部結合は、両方のテーブルで一致するキーを持つデータだけを抽出します。
共通部分のみを残すイメージです。
特徴:
- 一致した行のみが出力される
- どちらか一方にしかないデータは除外される
利用シーン:
「売上データと商品マスタの両方に存在するデータのみ分析したい」など、重複部分だけを取り出したいときに有効です。
完全外部結合(Full Outer Join)
完全外部結合は、左と右の両方のテーブルの全データを含めて結合する方法です。
一致する部分は1行にまとめられ、一致しない部分は「null」として残ります。
特徴:
- 両方のテーブルのすべての行を保持
- 一致しないデータもすべて表示
利用シーン:
「両方のテーブルを合わせて、抜け漏れがないか確認したい」
「すべてのデータを俯瞰して分析したい」場合などに便利です。
左アンチ結合(Left Anti Join)
左アンチ結合は、左側のテーブルのうち、右側に一致しないデータだけを抽出します。
つまり、右に存在しない“孤立データ”を探すときに使えます。
特徴:
- 左にしかないデータのみを取得
- 右に一致するものは除外
利用シーン:
「社員リストにあるが、退職者リストにいない現役社員を確認したい」
「売上データにない商品を確認したい」など、データチェックに最適です。
右アンチ結合(Right Anti Join)
右アンチ結合は、右側のテーブルのうち、左側に一致しないデータだけを抽出します。
左アンチ結合の反対です。
特徴:
- 右側にしかないデータのみを取得
- 左側に一致するものは除外
利用シーン:
「右のテーブル(商品マスタ)にあるが、左のテーブル(売上データ)に存在しない商品を確認したい」など、データ整合性のチェックに便利です。
結合の種類のまとめ
| 結合の種類 | 残るデータ | 一致しない行の扱い | 主な用途 |
|---|---|---|---|
| 左外部結合 | 左の全行 | 右にない場合はnull | 左を基準に情報を補足したい |
| 右外部結合 | 右の全行 | 左にない場合はnull | 右を基準に情報を補足したい |
| 内部結合 | 一致する行のみ | それ以外は除外 | 共通データを抽出したい |
| 完全外部結合 | 両方の全行 | どちらかにない場合はnull | 全体を比較・統合したい |
| 左アンチ結合 | 左のみにある行 | 右にあるものを除外 | 左だけに存在するデータを抽出 |
| 右アンチ結合 | 右のみにある行 | 左にあるものを除外 | 右だけに存在するデータを抽出 |
実際の操作手順(例)
- Excelで「データ」タブ → 「データの取得」 → 「Power Query エディター」を開く。
- 左右2つのテーブルを読み込む(例:社員リスト・部署マスタ)。
- 「ホーム」タブ → 「クエリの結合」 → 「マージ」を選択。
- 結合するテーブルとキー列(例:部署コード)を指定。
- 「結合の種類」で希望の方式(左外部結合など)を選択。
- 結合後の列を展開し、必要な列だけ残す。
ポイント:
- 結合キーのデータ型(数値・文字列など)が異なるとマージできません。
- 必要に応じて「列の変換」でデータ型を揃えてから実行しましょう。
よくあるトラブルと対処法
① 結合がうまくいかない
→ キー列のデータ型が違う可能性があります。両方とも「テキスト」または「数値」に揃えてください。
② nullが多すぎる
→ 結合キーが完全一致していないことが原因です。前後のスペースや全角・半角の違いをチェックしましょう。
③ 重複データが増えた
→ 結合キーが一意(ユニーク)でない場合、1対多の結合が発生します。
結合前に「重複の削除」や「グループ化」で整理するのがおすすめです。
どの結合を使えばいい?用途別おすすめ
| 目的 | おすすめの結合 |
|---|---|
| 左のテーブルを基準に情報を追加したい | 左外部結合 |
| 共通データだけを分析したい | 内部結合 |
| データの整合性を確認したい | 完全外部結合 |
| 孤立データを探したい | 左アンチ結合/右アンチ結合 |
| 右のテーブルを基準に補足したい | 右外部結合 |
まとめ
Power Queryのマージは、データ統合に欠かせない強力な機能です。
結合の種類を理解することで、目的に応じた正確なデータ加工ができるようになります。
特に業務で多いのは「左外部結合(Left Outer Join)」と「内部結合(Inner Join)」です。
まずはこの2つを使いこなし、必要に応じて完全外部結合やアンチ結合も試してみましょう。
Power Queryのマージを理解すれば、Excelのデータ処理が劇的に効率化します。
