【要点】Power QueryでExcelテーブルを結合する手順
- テーブルの読み込み: 結合したい各ExcelテーブルをPower Queryに読み込みます。
- 結合方法の選択: Power Queryエディターで「テーブルの追加」または「クエリのマージ」を選択します。
- 結合の実行: 選択した方法に従い、結合するテーブルや条件を指定して実行します。
- データの確認と読み込み: 結合された結果を確認し、Excelワークシートまたはデータモデルに読み込みます。
ADVERTISEMENT
目次
Power Queryによるテーブル結合の仕組み
Power Queryは、Excelに搭載されている強力なデータ整形・加工ツールです。複数のデータソースからデータを取得し、クリーニング、変換、結合といった一連の操作を自動化できます。
テーブルを結合する主な方法として、「テーブルの追加」と「クエリのマージ」があります。
「テーブルの追加」は、複数のテーブルの行を単純に縦に積み重ねる操作です。例えば、各月の売上データを月ごとに結合する場合などに使用します。
一方、「クエリのマージ」は、SQLのJOIN操作のように、共通の列(キー)を基に複数のテーブルを横方向に結合する操作です。例えば、商品IDをキーにして商品リストと売上データを結合する場合などに使用します。
これらの機能を利用することで、手作業では時間のかかるデータ結合作業を効率化し、データの一貫性を保つことができます。
ExcelテーブルをPower Queryで読み込む手順
Power Queryでテーブルを結合するには、まず結合したい各ExcelテーブルをPower Queryエディターに読み込む必要があります。
- 対象テーブルの選択
結合したいExcelテーブルのいずれかのセルを選択します。 - 「データ」タブの選択
Excelのリボンメニューで「データ」タブをクリックします。 - 「テーブル/範囲から」の選択
「データの取得と変換」グループにある「テーブル/範囲から」ボタンをクリックします。 - Power Queryエディターの起動
「テーブルの作成」ダイアログが表示されたら、テーブルの範囲が正しく認識されているか確認し、「OK」をクリックします。これにより、Power Queryエディターが起動し、選択したテーブルのデータが表示されます。 - クエリ名の変更
Power Queryエディターの左側にある「クエリ」ペインで、読み込まれたテーブル名(デフォルトでは「テーブル1」など)をダブルクリックし、分かりやすい名前に変更します(例:「売上データ_支店A」)。 - 次のテーブルの読み込み
上記の手順を、結合したいすべてのExcelテーブルに対して繰り返します。各テーブルごとに、Power Queryエディターで個別のクエリとして読み込まれます。
Power QueryでExcelテーブルを縦に結合する方法(テーブルの追加)
複数のテーブルの行を単純に縦に積み重ねて結合したい場合は、「テーブルの追加」機能を使用します。
- Power Queryエディターを開く
すでに読み込んでいるテーブルのいずれかのクエリを選択した状態で、Power Queryエディターを開きます。 - 「ホーム」タブの選択
Power Queryエディターのリボンメニューで「ホーム」タブをクリックします。 - 「テーブルの追加」の選択
「結合」グループにある「テーブルの追加」ボタンをクリックします。 - 「テーブルの追加」ダイアログの設定
「テーブルの追加」ダイアログが表示されます。- 「テーブル」: 「2 つのテーブル」または「3 つ以上のテーブル」を選択します。3つ以上のテーブルを結合する場合は、「3 つ以上のテーブル」を選択します。
- 「テーブル/クエリ」: 「2 つのテーブル」を選択した場合は、結合したい2つのテーブルをそれぞれドロップダウンリストから選択します。
- 「3 つ以上のテーブル」を選択した場合: 「利用可能なクエリ」ボックスから、結合したいテーブルをすべて選択し、「追加」ボタンをクリックして「追加するテーブル」ボックスに移動させます。
- 結合の実行
「OK」をクリックすると、Power Queryエディターに新しいクエリとして、選択したテーブルが縦に結合された結果が表示されます。 - 結果の確認と読み込み
結合された結果を確認し、必要に応じて列名の変更やデータ型の調整を行います。その後、「ホーム」タブの「閉じて読み込む」ボタンをクリックして、Excelワークシートに結果を読み込みます。
ADVERTISEMENT
Power QueryでExcelテーブルを横に結合する方法(クエリのマージ)
共通の列(キー)を基に、複数のテーブルの情報を横方向に結合したい場合は、「クエリのマージ」機能を使用します。これは、SQLのJOINに似た操作です。
- Power Queryエディターを開く
結合の基となるテーブル(例: 売上データ)のクエリを選択した状態で、Power Queryエディターを開きます。 - 「ホーム」タブの選択
Power Queryエディターのリボンメニューで「ホーム」タブをクリックします。 - 「クエリのマージ」の選択
「結合」グループにある「クエリのマージ」ボタンをクリックします。 - 「マージ」ダイアログの設定
「マージ」ダイアログが表示されます。- 左側のテーブル: 現在開いているクエリ(例: 売上データ)が表示されています。
- 右側のテーブル: ドロップダウンリストから、結合したいもう一方のテーブル(例: 商品マスター)を選択します。
- 結合キーの選択: 両方のテーブルで共通の列(例:「商品ID」)をクリックして選択します。複数列で結合する場合は、Ctrlキーを押しながら複数の列を選択します。
- 結合の種類: ドロップダウンリストから、目的に合った結合の種類を選択します。一般的には、両方のテーブルに存在するレコードのみを結合する「左外部」や、すべてのレコードを結合する「完全外部」などがよく使われます。
- 結合の実行
「OK」をクリックすると、Power Queryエディターに新しいクエリとして、マージされた結果が表示されます。 - 展開操作
マージされた結果のテーブルには、結合したテーブルの列が1つの列(例:「商品マスター」)として追加されています。この列のヘッダーの右側にある展開アイコン(四角いアイコン)をクリックします。 - 展開する列の選択
「展開」ダイアログが表示されます。結合したい商品マスターの列(例:「商品名」「単価」)を選択し、「元の列名をプレフィックスとして使用します」のチェックを外して「OK」をクリックします。 - 結果の確認と読み込み
展開された列を確認し、必要に応じてデータ型などを調整します。「ホーム」タブの「閉じて読み込む」ボタンをクリックして、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でも同様に利用可能です。
ADVERTISEMENT
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Outlook】宛先が「オートコンプリート」に出ない・間違っている時の修正手順|履歴の削除と再構築
- 【Outlook】メールの受信が数分遅れる!リアルタイムで届かない時の同期設定と送受信グループ設定
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Outlook】「メール送信を5分遅らせる」設定!誤送信を防ぐ最強のディレイ機能
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
