【Excel】Power QueryでExcelテーブルを結合する方法

【Excel】Power QueryでExcelテーブルを結合する方法
🛡️ 超解決

【要点】Power QueryでExcelテーブルを結合する手順

  • テーブルの読み込み: 結合したい各ExcelテーブルをPower Queryに読み込みます。
  • 結合方法の選択: Power Queryエディターで「テーブルの追加」または「クエリのマージ」を選択します。
  • 結合の実行: 選択した方法に従い、結合するテーブルや条件を指定して実行します。
  • データの確認と読み込み: 結合された結果を確認し、Excelワークシートまたはデータモデルに読み込みます。

ADVERTISEMENT

Power Queryによるテーブル結合の仕組み

Power Queryは、Excelに搭載されている強力なデータ整形・加工ツールです。複数のデータソースからデータを取得し、クリーニング、変換、結合といった一連の操作を自動化できます。

テーブルを結合する主な方法として、「テーブルの追加」と「クエリのマージ」があります。

「テーブルの追加」は、複数のテーブルの行を単純に縦に積み重ねる操作です。例えば、各月の売上データを月ごとに結合する場合などに使用します。

一方、「クエリのマージ」は、SQLのJOIN操作のように、共通の列(キー)を基に複数のテーブルを横方向に結合する操作です。例えば、商品IDをキーにして商品リストと売上データを結合する場合などに使用します。

これらの機能を利用することで、手作業では時間のかかるデータ結合作業を効率化し、データの一貫性を保つことができます。

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

ExcelテーブルをPower Queryで読み込む手順

Power Queryでテーブルを結合するには、まず結合したい各ExcelテーブルをPower Queryエディターに読み込む必要があります。

  1. 対象テーブルの選択
    結合したいExcelテーブルのいずれかのセルを選択します。
  2. 「データ」タブの選択
    Excelのリボンメニューで「データ」タブをクリックします。
  3. 「テーブル/範囲から」の選択
    「データの取得と変換」グループにある「テーブル/範囲から」ボタンをクリックします。
  4. Power Queryエディターの起動
    「テーブルの作成」ダイアログが表示されたら、テーブルの範囲が正しく認識されているか確認し、「OK」をクリックします。これにより、Power Queryエディターが起動し、選択したテーブルのデータが表示されます。
  5. クエリ名の変更
    Power Queryエディターの左側にある「クエリ」ペインで、読み込まれたテーブル名(デフォルトでは「テーブル1」など)をダブルクリックし、分かりやすい名前に変更します(例:「売上データ_支店A」)。
  6. 次のテーブルの読み込み
    上記の手順を、結合したいすべてのExcelテーブルに対して繰り返します。各テーブルごとに、Power Queryエディターで個別のクエリとして読み込まれます。

Power QueryでExcelテーブルを縦に結合する方法(テーブルの追加)

複数のテーブルの行を単純に縦に積み重ねて結合したい場合は、「テーブルの追加」機能を使用します。

  1. Power Queryエディターを開く
    すでに読み込んでいるテーブルのいずれかのクエリを選択した状態で、Power Queryエディターを開きます。
  2. 「ホーム」タブの選択
    Power Queryエディターのリボンメニューで「ホーム」タブをクリックします。
  3. 「テーブルの追加」の選択
    「結合」グループにある「テーブルの追加」ボタンをクリックします。
  4. 「テーブルの追加」ダイアログの設定
    「テーブルの追加」ダイアログが表示されます。
    • 「テーブル」: 「2 つのテーブル」または「3 つ以上のテーブル」を選択します。3つ以上のテーブルを結合する場合は、「3 つ以上のテーブル」を選択します。
    • 「テーブル/クエリ」: 「2 つのテーブル」を選択した場合は、結合したい2つのテーブルをそれぞれドロップダウンリストから選択します。
    • 「3 つ以上のテーブル」を選択した場合: 「利用可能なクエリ」ボックスから、結合したいテーブルをすべて選択し、「追加」ボタンをクリックして「追加するテーブル」ボックスに移動させます。
  5. 結合の実行
    「OK」をクリックすると、Power Queryエディターに新しいクエリとして、選択したテーブルが縦に結合された結果が表示されます。
  6. 結果の確認と読み込み
    結合された結果を確認し、必要に応じて列名の変更やデータ型の調整を行います。その後、「ホーム」タブの「閉じて読み込む」ボタンをクリックして、Excelワークシートに結果を読み込みます。

ADVERTISEMENT

Power QueryでExcelテーブルを横に結合する方法(クエリのマージ)

共通の列(キー)を基に、複数のテーブルの情報を横方向に結合したい場合は、「クエリのマージ」機能を使用します。これは、SQLのJOINに似た操作です。

  1. Power Queryエディターを開く
    結合の基となるテーブル(例: 売上データ)のクエリを選択した状態で、Power Queryエディターを開きます。
  2. 「ホーム」タブの選択
    Power Queryエディターのリボンメニューで「ホーム」タブをクリックします。
  3. 「クエリのマージ」の選択
    「結合」グループにある「クエリのマージ」ボタンをクリックします。
  4. 「マージ」ダイアログの設定
    「マージ」ダイアログが表示されます。
    • 左側のテーブル: 現在開いているクエリ(例: 売上データ)が表示されています。
    • 右側のテーブル: ドロップダウンリストから、結合したいもう一方のテーブル(例: 商品マスター)を選択します。
    • 結合キーの選択: 両方のテーブルで共通の列(例:「商品ID」)をクリックして選択します。複数列で結合する場合は、Ctrlキーを押しながら複数の列を選択します。
    • 結合の種類: ドロップダウンリストから、目的に合った結合の種類を選択します。一般的には、両方のテーブルに存在するレコードのみを結合する「左外部」や、すべてのレコードを結合する「完全外部」などがよく使われます。
  5. 結合の実行
    「OK」をクリックすると、Power Queryエディターに新しいクエリとして、マージされた結果が表示されます。
  6. 展開操作
    マージされた結果のテーブルには、結合したテーブルの列が1つの列(例:「商品マスター」)として追加されています。この列のヘッダーの右側にある展開アイコン(四角いアイコン)をクリックします。
  7. 展開する列の選択
    「展開」ダイアログが表示されます。結合したい商品マスターの列(例:「商品名」「単価」)を選択し、「元の列名をプレフィックスとして使用します」のチェックを外して「OK」をクリックします。
  8. 結果の確認と読み込み
    展開された列を確認し、必要に応じてデータ型などを調整します。「ホーム」タブの「閉じて読み込む」ボタンをクリックして、Excelワークシートに結果を読み込みます。

Power Queryでのテーブル結合における注意点とトラブルシューティング

Power Queryでのテーブル結合は非常に便利ですが、いくつかの注意点や、発生しうるトラブルがあります。

データ型が一致しない場合

「テーブルの追加」で結合する場合、列のデータ型が異なると、意図しない結果になったり、エラーが発生したりすることがあります。

対処法: Power Queryエディターで、結合する前に各クエリの該当列のデータ型を揃えてください。「ホーム」タブの「データ型」や、列ヘッダーのアイコンから変更できます。

結合キーの表記揺れや重複

「クエリのマージ」で結合キーに表記揺れ(例:「株式会社A」と「(株)A」)があると、正しく結合されません。また、結合キーに重複があると、意図しないレコード数が表示されることがあります。

対処法: マージする前に、結合キーとなる列のデータを確認し、表記揺れを統一したり、不要な重複を削除したりしてください。Power Queryの「グループ化」機能や「一意の行の削除」機能が役立ちます。

結合後の更新がうまくいかない場合

元のExcelテーブルを変更しても、Power Queryで結合した結果が更新されない場合があります。

対処法: Power Queryエディターで該当クエリを開き、「ホーム」タブの「すべて更新」をクリックしてみてください。それでも更新されない場合は、Power Queryのソース設定(元のExcelファイルのパスなど)が変更されていないか確認してください。

「テーブルの追加」と「クエリのマージ」の使い分け

どちらの機能を使うべきか迷う場合は、目的を明確にすることが重要です。

「テーブルの追加」は、同じ構造のデータを単に積み重ねたい場合に適しています。例えば、月ごとの売上レポートを年間のレポートにまとめたい場合などです。

「クエリのマージ」は、異なる構造のテーブルを共通のキーで関連付けて、情報を横断的に分析したい場合に適しています。例えば、顧客IDをキーにして、顧客リストと購入履歴を紐付けたい場合などです。

Power QueryとVBAでのテーブル結合の比較

Power Query以外でテーブルを結合する方法として、VBA(Visual Basic for Applications)によるマクロ作成があります。それぞれにメリット・デメリットがあるため、状況に応じて使い分けることが推奨されます。

項目 Power Query VBAマクロ
操作の自動化 高い 高い
データ整形・変換 得意(GUI操作とM言語) 得意(コード記述)
学習コスト 比較的低い(GUI中心) 比較的高い(プログラミング知識必要)
複雑な結合ロジック 得意(M言語で柔軟に対応) 得意(コードで細かく制御可能)
更新の容易さ 容易(「すべて更新」で対応) マクロの再実行が必要
外部データソース連携 得意(Web、データベース等) 可能(ADO等、知識必要)

一般的に、GUI操作で直感的にデータ結合を行いたい場合や、Excelファイル内でのデータ結合が主である場合はPower Queryが適しています。

一方、より高度で複雑な処理ロジックを組み込みたい場合や、Excel以外のシステムとの連携を細かく制御したい場合はVBAマクロが有効です。

Power QueryはExcel 2016以降の標準機能として搭載されており、Microsoft 365ではさらに機能が強化されています。Excel 2019やExcel 2021でも同様に利用可能です。

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

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

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

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