【Excel】Power Queryで「テーブル結合(マージ)」の種類を選ぶ!Excelの内部・外部・左結合の違い

【Excel】Power Queryで「テーブル結合(マージ)」の種類を選ぶ!Excelの内部・外部・左結合の違い
🛡️ 超解決

Excelで複数のテーブルを扱う際、関連するデータを一つにまとめたい場面があります。特にPower Queryを使えば、大量のデータでも効率的に結合できます。しかし、結合方法にはいくつか種類があり、どれを選べば良いか迷うこともあります。この記事では、Power Queryの「テーブル結合(マージ)」機能で選択できる結合の種類について解説します。どの結合方法がどのような場合に適しているかを理解し、データ分析の精度を高めましょう。

Power Queryのテーブル結合機能は、異なるテーブルのデータを条件に基づいて統合する強力なツールです。この機能を使いこなすことで、データの集計や分析が格段に容易になります。本記事を読むことで、内部結合、左外部結合、右外部結合、完全外部結合、左半結合、右半結合といった、それぞれの結合方法の特徴と使い分けが明確になります。これにより、意図した通りのデータ結合を実現できるようになります。

【要点】Power Queryのテーブル結合(マージ)の種類と使い分け

  • 内部結合: 両方のテーブルに一致する行のみを結合する。
  • 左外部結合: 左側のテーブルの全行と、右側のテーブルで一致する行を結合する。
  • 右外部結合: 右側のテーブルの全行と、左側のテーブルで一致する行を結合する。
  • 完全外部結合: 両方のテーブルの全行を結合する。一致しない行はnullで埋められる。
  • 左半結合: 左側のテーブルの行のうち、右側のテーブルと一致するもののみを結合する。
  • 右半結合: 右側のテーブルの行のうち、左側のテーブルと一致するもののみを結合する。

ADVERTISEMENT

Power Queryのテーブル結合(マージ)の基本

Power Queryの「テーブル結合(マージ)」機能は、2つのテーブルを共通の列(キー列)を基にして、1つのテーブルに統合する操作です。これにより、散在しているデータを集約し、分析しやすくすることができます。たとえば、顧客リストと購買履歴のテーブルを顧客IDで結合すれば、顧客ごとの購入総額などを容易に計算できるようになります。

結合操作を行うには、まずPower Queryエディターで対象となる2つのテーブルを読み込みます。その後、一方のテーブルを選択した状態で「ホーム」タブにある「クエリのマージ」または「クエリを新規としてマージ」を選択します。これにより、マージダイアログが表示され、結合するテーブルの選択やキー列の指定、そして結合の種類を選ぶことができます。

お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

テーブル結合(マージ)の種類と仕組み

Power Queryのテーブル結合(マージ)機能には、主に6つの種類があります。それぞれ異なる条件でデータを結合するため、目的やデータの内容に応じて適切な種類を選択することが重要です。

内部結合(Inner Join)

内部結合は、2つのテーブル間で指定したキー列の値が一致する行のみを抽出して結合します。つまり、両方のテーブルに存在するデータのみが結果として残ります。たとえば、商品マスターと販売履歴を商品コードで内部結合した場合、販売実績がある商品のみが結果に含まれます。存在しない商品は除外されます。

左外部結合(Left Outer Join)

左外部結合は、左側のテーブルのすべての行を保持し、右側のテーブルからキー列の値が一致する行を結合します。右側のテーブルに一致する行がない場合は、その列の値は「null」として表示されます。例えば、全顧客リスト(左側)と、その顧客の注文履歴(右側)を結合する場合、注文履歴がない顧客もリストに含まれ、注文関連の列はnullになります。

右外部結合(Right Outer Join)

右外部結合は、左外部結合の逆で、右側のテーブルのすべての行を保持し、左側のテーブルからキー列の値が一致する行を結合します。左側のテーブルに一致する行がない場合は、その列の値は「null」として表示されます。これは、右側のテーブルのデータを主軸にしたい場合に利用します。

完全外部結合(Full Outer Join)

完全外部結合は、左側と右側の両方のテーブルのすべての行を保持して結合します。どちらかのテーブルにしか存在しない行は、もう一方のテーブルの列の値が「null」として表示されます。これにより、両方のテーブルの全データを網羅的に確認したい場合に有効です。データの一貫性を確認したり、両方に存在するデータと片方にしか存在しないデータを洗い出したりするのに役立ちます。

左半結合(Left Semi Join)

左半結合は、左側のテーブルの行のうち、右側のテーブルのキー列と一致する行のみを抽出します。右側のテーブルの列は結果に含まれません。これは、左側のテーブルのデータが右側のテーブルに存在するかどうかを確認したい場合に便利です。たとえば、全会員リスト(左側)から、過去1年間に購入履歴がある会員(右側)のみを抽出したい場合などに使用できます。

右半結合(Right Semi Join)

右半結合は、左半結合の逆で、右側のテーブルの行のうち、左側のテーブルのキー列と一致する行のみを抽出します。左側のテーブルの列は結果に含まれません。これは、右側のテーブルのデータが左側のテーブルに存在するかどうかを確認したい場合に利用します。

テーブル結合(マージ)の手順

Power Queryでテーブルを結合する具体的な手順を説明します。

  1. Power Queryエディターを開く
    Excelの「データ」タブから「データの取得」→「その他のソースから」→「空のクエリ」を選択するか、既存のクエリを右クリックして「編集」を選択します。
  2. マージダイアログを開く
    「ホーム」タブの「クエリのマージ」をクリックします。既存のクエリを直接編集する場合は、マージダイアログが表示されます。「クエリを新規としてマージ」を選択すると、新しいクエリとして結合結果が作成されます。
  3. 結合するテーブルを選択する
    ダイアログの上部にあるドロップダウンリストで、左側のテーブルを選択します。次に、下部のドロップダウンリストで右側のテーブルを選択します。
  4. キー列を指定する
    両方のテーブルで、結合の基準となる列(キー列)をクリックして選択します。複数の列で結合したい場合は、Ctrlキーを押しながら複数の列を選択します。選択した列は、両方のテーブルで同じ順序で選択する必要があります。
  5. 結合の種類を選択する
    「結合の種類」のドロップダウンリストから、目的の結合方法(内部結合、左外部結合など)を選択します。
  6. OKをクリックして結合を実行する
    設定が完了したら、「OK」ボタンをクリックします。
  7. 結合結果の列を展開する
    結合されたテーブルには、右側のテーブルの列が1つの列(通常は「テーブル」という名前)として追加されます。この列のヘッダーにある展開アイコン(↑↓のようなマーク)をクリックします。
  8. 展開する列を選択し、OKをクリックする
    展開ダイアログが表示されたら、結合したい右側のテーブルの列を選択します。必要に応じて、「元の列名をプレフィックスとして使用します」のチェックを外すと、列名がすっきりします。
  9. 結合結果を確認する
    選択した列が展開され、結合されたデータが表示されます。必要に応じて、列の並べ替えやデータ型の変更などの整形を行います。

ADVERTISEMENT

結合の種類ごとの注意点と失敗例

テーブル結合(マージ)を行う際には、結合の種類によって注意すべき点や、よくある失敗例があります。

キー列のデータ型が一致しない

最もよくある失敗は、キー列のデータ型が一致していないことです。たとえば、一方のキー列が数値型(123)で、もう一方がテキスト型(“123”)になっている場合、Excelはこれらを一致するものと認識しません。その結果、期待したデータが結合されなかったり、結合結果が空になったりします。

対処法: マージダイアログを開く前に、各テーブルのキー列のデータ型を確認し、必要であれば「データの変換」タブの「データ型」オプションで統一してください。通常はテキスト型または数値型に統一するのが一般的です。

重複するキー列での結合

内部結合や外部結合で、キー列に重複する値が多数存在する場合、結合結果の行数が想定以上に増えることがあります。これは「デカルト積」と呼ばれる現象で、結合の条件によってはデータが爆発的に増加し、意図しない結果を生む可能性があります。

対処法: 結合前に、キー列の重複を確認し、不要な重複を削除するか、結合の種類を適切に選択してください。たとえば、左半結合や右半結合は、重複を考慮せずに存在チェックを行いたい場合に有効です。あるいは、結合前に「グループ化」機能を使ってキー列の重複を解消することも検討してください。

結合の種類を誤って選択する

目的とするデータ抽出ができず、結果が空になる、あるいは想定外のデータまで含まれてしまう場合、結合の種類を誤っている可能性があります。たとえば、「両方のテーブルに存在するデータのみが欲しい」のに「左外部結合」を選択してしまうと、左テーブルのすべてのデータが表示され、右テーブルにないデータはnullになります。

対処法: 各結合の種類がどのようなデータを返すかを正確に理解することが重要です。内部結合は一致するデータのみ、左外部結合は左テーブルを主軸に、完全外部結合は両方のテーブルを網羅したい場合に使用するなど、目的に応じて適切な結合を選びましょう。迷った場合は、まず内部結合で基本的な一致データを確認し、そこから外部結合などを試していくと分かりやすいです。

左半結合・右半結合の意図しない結果

左半結合や右半結合は、キー列が一致する行を「存在チェック」のために利用します。しかし、キー列に重複がある場合、左半結合でも右半結合でも、元となるテーブルの行数が重複の数だけ増えてしまうことがあります。これは、単に「右側のテーブルにデータが存在するか」を知りたい場合に、意図しない結果となることがあります。

対処法: 左半結合や右半結合を使用する前に、キー列の重複を削除するか、あるいは「キー列の重複を削除」などの前処理をPower Queryで行っておくと、より正確な「存在チェック」結果が得られます。

結合の種類別比較表

各結合の種類の特徴を一覧で比較します。

結合の種類 左テーブル 右テーブル 結果
内部結合 一致する行のみ 一致する行のみ 両方のテーブルに一致する行のみ
左外部結合 すべての行 一致する行のみ 左テーブルの全行。右テーブルに一致がない場合はnull。
右外部結合 一致する行のみ すべての行 右テーブルの全行。左テーブルに一致がない場合はnull。
完全外部結合 すべての行 すべての行 両方のテーブルの全行。一致しない場合はnull。
左半結合 一致する行のみ (参照のみ) 左テーブルの行のうち、右テーブルに一致があるもののみ。右テーブルの列は含まれない。
右半結合 (参照のみ) 一致する行のみ 右テーブルの行のうち、左テーブルに一致があるもののみ。左テーブルの列は含まれない。

まとめ

Power Queryのテーブル結合(マージ)機能は、データの統合と分析において非常に強力なツールです。本記事では、内部結合、左外部結合、右外部結合、完全外部結合、左半結合、右半結合といった、それぞれの結合方法の仕組みと、どのような状況で使うべきかを解説しました。

これらの結合の種類を理解し、キー列のデータ型を揃え、重複に注意して操作を行うことで、意図した通りのデータ結合が実現できるようになります。まずは簡単なデータセットで各結合方法を試してみて、その挙動を体感することをお勧めします。

データ分析の目的に応じて最適な結合方法を選択するスキルを身につけることで、より高度なデータ集計や分析が可能になります。例えば、顧客リストと商品リストを結合し、さらに購入履歴データと組み合わせることで、顧客セグメントごとの購買傾向を分析するといった応用が考えられます。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】