Excelでの消耗に、終止符を。 QOL向上とDX化の実現は、あなたのExcelスキルの向上から。

【パワークエリ】「クエリのマージ」の使い方|別表の列データを転記する方法【動画あり】

【パワークエリ】「クエリのマージ」の使い方|別表の列データを転記する方法【動画あり】
Aさん
Aさん
社員マスタへ別表の部署マスタの「部署名」列を転記したいです。
Power Queryエディター上で列を転記したい場合、どうしたら良いですか?
森田
森田
その場合、Power Queryエディター上の「クエリのマージ」コマンドを使えば良いですよ!
では、詳細を解説していきますね。
目次[閉じる]

解説動画

この記事の内容は下記の動画「【パワークエリ#7】データ転記・連結テクニック – 複数の表データを結合し、一つに集約する作業を自動化する(クエリのマージ/クエリの追加)」でも解説しています。

コメント欄の目次の時間部分をクリックすると該当の解説へジャンプできますよ!

はじめに

この記事はパワークエリの概要を把握していることが前提です。

パワークエリの概要は以下の記事をご参照ください。

「クエリのマージ」コマンドとは、Power Queryエディター上で別表の列データを転記する機能

「クエリのマージ」コマンドは、クエリの新規作成ステップのうち、Step 2の「取得データを整形/加工(Transform)」に該当する機能です。

クエリの新規作成ステップ(【Step2】取得データを整形/加工)

機能自体は、ワークシート上の関数の「VLOOKUP」と似ています。

クエリ内の一連の整形作業の中で、別表の列データを転記したい場合に「クエリのマージ」コマンドを使いましょう。

「クエリのマージ」コマンドの使いどころ

「クエリのマージ」コマンドの活用により、Power Queryエディター上で主キーを基準に別表の列データを転記できます。
主キーとは、そのレコードが一意(重複していない)であることを示すためのコードや番号のこと(代表例として、社員番号や商品コードなど)。

なお、既存クエリに転記のステップを記録するのではなく、転記した結果を第3のテーブルとして新規作成したい場合は、ワークシート上から「マージ」コマンドを実行しましょう。

一例として、社員マスタを対象に「クエリのマージ」コマンドを使用し、部署マスタの「部署名」列を転記したものが以下です。

「クエリのマージ」コマンドの使用イメージ

この通り、Power Queryエディター上で別表の列データを転記したステップを記録できました。
「クエリのマージ」コマンドの場合、デフォルトのステップ名は「マージされたクエリ数」と「展開された {クエリ名}」になる(ステップが2つ登録され、クエリ内で同じステップ名が複数ある場合は連番が付加)。
「マージ」コマンドの場合、デフォルトのステップ名は「ソース」と「展開された {クエリ名}」になる(1つ目のステップのみ異なる)。

後は、クエリ新規作成ステップのStep 2とStep 3を行いましょう。
「クエリのマージ」・「マージ」コマンドのステップの結果、意図せずレコードが順不同になる場合あり(必要に応じて並べ替え)。

これにより、クエリに記録した「クエリのマージ」・「マージ」コマンドのステップを自動化できます。
「マージされたクエリ数」(ソース)・「展開された {クエリ名}」ステップを記録後、対象のテーブル名・列名を変更すると、クエリ更新時にエラーになるため注意(対処法は後述)。

クエリの新規作成ステップのStep 2に役立つ各種コマンドや、Step 3の手順の詳細を知りたい方は、パワークエリの概要記事をご参照ください。
【Excel】パワークエリ(Power Query)とは?できることや使い方入門【動画あり】

「クエリのマージ」コマンドの使用手順

クエリ内にデータ転記のステップを記録したい場合、「クエリのマージ」コマンドを使用しましょう
ベースのクエリ(A)の1ステップとして、別表のクエリ(B)を転記するケース。

「クエリのマージ」コマンドの場合は、以下の手順です。
ステップを記録する前に、別表のクエリの準備が必要(整形不要な場合、クエリの新規作成ステップのStep1・3のみ記録)。

「クエリのマージ」コマンドの使用手順
  1. リボン「ホーム」タブをクリック
  2. 「クエリのマージ」をクリック
  3. 別表の主キー列を選択
    ※今回は「部署コード」列
  4. 別表のクエリを選択
    ※今回は「部署マスタ」クエリ
  5. 主キー列(手順③と同じ列)を選択
    ※今回は「部署コード」列
  6. 「OK」をクリック
  7. テーブル列(別表のクエリ名の列)の展開ボタンをクリック
    ※今回は「部署マスタ」列
  8. 転記したい列を選択
    ※今回は「部署名」列のみ
  9. 「元の列名をプレフィックスとして使用します」のチェックOFF
  10. 「OK」をクリック

手順⑧は、最低限主キーの列のチェックをOFFにする(ベースの表に元からあるため)。
手順⑨のチェックがONの場合、列名の頭に別表のクエリ名が付加されるが、原則不要。
※例:「部署マスタ」列の「部署名」列の場合、プレフィックスを使用した列名の「部署名.部署名」となる。

「マージ」コマンドの使用手順

新しいクエリでデータ転記のステップを記録したい場合、「マージ」コマンドを使用しましょう
新しいクエリ(C)で、ベースのクエリ(A)へ別表のクエリ(B)を転記するケース(クエリAに転記結果は反映されない)。

「マージ」コマンドの場合は、以下の手順です。
ステップを記録する前に、ベースの表・別表それぞれのクエリの準備が必要(整形不要な場合、クエリの新規作成ステップのStep1・3のみ記録)。

「マージ」コマンドの使用手順(1/2)
「マージ」コマンドの使用手順(2/2)
  1. ワークシート上のリボン「データ」タブ
  2. 「データの取得」をクリック
  3. 「クエリの結合」をクリック
  4. 「マージ」をクリック
  5. ベースのクエリを選択
    ※今回は「社員マスタ」クエリ
  6. 別表の主キー列を選択
    ※今回は「部署コード」列
  7. 別表のクエリを選択
    ※今回は「部署マスタ」クエリ
  8. 主キー列(手順⑥と同じ列)を選択
    ※今回は「部署コード」列
  9. 「OK」をクリック
  10. テーブル列(別表のクエリ名の列)の展開ボタンをクリック
    ※今回は「部署マスタ」列
  11. 転記したい列を選択
    ※今回は「部署名」列のみ
  12. 「元の列名をプレフィックスとして使用します」のチェックOFF
  13. 「OK」をクリック

手順⑪は、最低限主キーの列のチェックをOFFにする(ベースの表に元からあるため)。
手順⑫のチェックがONの場合、列名の頭に別表のクエリ名が付加されるが、原則不要。
※例:「部署マスタ」列の「部署名」列の場合、プレフィックスを使用した列名の「部署名.部署名」となる。

【参考】結合の種類

「マージ」ダイアログの「結合の種類」は以下の6種類あります。

  1. 左外部(デフォルト)
  2. 右外部
  3. 完全外部
  4. 内部
  5. 左反
  6. 右反

本記事では、デフォルトの「左外部」のままでした。

これは、データ転記の際に指定する種類です。

他の種類を選択することで、2つの表の一致や差異のレコードを残すといったことも可能です。

「マージ」ダイアログの「結合の種類」の詳細は、以下の記事をご参照ください。
【パワークエリ】主キーを基準に2つの表の一致・差異レコードを特定できる「クエリのマージ」・「マージ」の「結合の種類」の使い分け

【参考】あいまい一致オプション

「クエリのマージ」・「マージ」コマンドでの転記含む各種結合は、2つの表のデータが完全一致したもので実行されることが基本です。

ただし、「マージ」ダイアログの「あいまい一致を使用してマージを実行する」のチェックをONにすることで、あいまい一致に変更することも可能です。

あいまい一致の精度が不明のため、実務で積極的に使用するのはリスクがありますが、気になる方はMicrosoft公式サポートの記事をご参照ください。
あいまい一致を作成する (Power Query)|Microsoft Support

【応用】別表のレコード数のカウントも可能

「クエリのマージ」・「マージ」コマンドの使用手順のうち、テーブル列(別表のクエリ名の列)の展開ボタンをクリック(「クエリのマージ」コマンドは手順⑦、「マージ」コマンドは手順⑩)後、「展開」のままで後工程を進めることが基本です。

ただし、「集計」へ変更することで、別表のレコード数をカウントすることも可能です。

一例として、転記とは逆に、ベースのクエリを「部署マスタ」、別表のクエリを「社員マスタ」にし、各部署コードに該当する社員マスタのレコード数をカウントする場合、以下の手順となります。

パワークエリの「クエリのマージ」・「マージ」コマンドの使用手順(集計時)
  1. 「集計」を選択
  2. 集計したい列を選択
  3. 「元の列名をプレフィックスとして使用します」のチェックOFF
  4. 「OK」をクリック

手順②は、いずれか1列を選択すればOK(空白セルがあってもカウントされ、全列同じ数値になるため)。

ちなみに、「集計」にした場合のステップ名は「集計対象:{クエリ名}」になります。

「マージされたクエリ数」・「展開された {クエリ名}」ステップの変更手順

「クエリのマージ」・「マージ」コマンドで記録した「マージされたクエリ数」(ソース)・「展開された {クエリ名}」ステップを後から変更する場合、変更したい内容が「マージ」ダイアログ(転記対象テーブル、主キー、結合の種類等)か、展開内容(展開する列、プレフィックス有無)か展開↔集計かで手順が異なります。

それぞれの手順を順番に解説していきましょう。

「マージ」ダイアログ(転記対象テーブル、主キー、結合の種類等)

「マージ」ダイアログの設定内容のみを後から変更したい場合、以下の手順で変更しましょう。

「マージされたクエリ数」・「展開された {クエリ名}」ステップの変更手順(「マージ」ダイアログ)
  1. 「マージされたクエリ数」ステップ or 「ソース」ステップの歯車マークをクリック
  2. 任意の箇所を修正
  3. 「OK」をクリック

手順①のステップ名は、「クエリのマージ」・「マージ」コマンドのデフォルトの名前(自身でリネームしている場合は別表記)。
手順①はステップ名をダブルクリックでもOK。
手順①で起動した「マージ」ダイアログは、ステップに設定した内容がセットされた状態。

展開内容(展開する列、プレフィックス有無)

展開内容(展開する列、プレフィックス有無)を後から変更したい場合、以下の手順で変更しましょう。

「マージされたクエリ数」・「展開された {クエリ名}」ステップの変更手順(展開内容)
  1. 「展開された {クエリ名}」ステップの歯車マークをクリック
  2. 任意の箇所を修正
  3. 「OK」をクリック

手順①のステップ名は、「クエリのマージ」・「マージ」コマンドのデフォルトの名前(自身でリネームしている場合は別表記)。
手順①はステップ名をダブルクリックでもOK。
手順①で起動した「{クエリ名} を展開」ダイアログは、ステップに設定した内容がセットされた状態。

展開↔集計

展開↔集計を後から変更したい場合、以下の手順で変更しましょう。

「マージされたクエリ数」・「展開された {クエリ名}」ステップの変更手順(展開↔集計)
  1. 「展開された {クエリ名}」 or 「集計対象:{クエリ名}」ステップを削除(「×」をクリック)
  2. 再度「展開された {クエリ名}」 or 「集計対象:{クエリ名}」ステップを記録

手順①のステップ名は、「クエリのマージ」・「マージ」コマンドのデフォルトの名前(自身でリネームしている場合は別表記)。
手順②は、「クエリのマージ」コマンドなら使用手順⑦以降、「マージ」コマンドなら使用手順⑩以降を実行。

サンプルファイルで練習しよう!

可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。

サンプルファイル_PowerQueryデータ整形_クエリのマージ.xlsx

サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)

ブックを開いたら、「社員マスタ」クエリを編集(Power Queryエディター起動)し、次の手順を実施してください(今までの解説のまとめです)。
ブック起動時、「セキュリティの警告」メッセージが表示された場合は「コンテンツの有効化」をクリック。

  1. リボン「ホーム」タブをクリック
  2. 「クエリのマージ」をクリック
  3. 別表の主キー列を選択
    ※今回は「部署コード」列
  4. 別表のクエリを選択
    ※今回は「部署マスタ」クエリ
  5. 主キー列(手順③と同じ列)を選択
    ※今回は「部署コード」列
  6. 「OK」をクリック
  7. テーブル列(別表のクエリ名の列)の展開ボタンをクリック
    ※今回は「部署マスタ」列
  8. 転記したい列を選択
    ※今回は「部署名」列のみ
  9. 「元の列名をプレフィックスとして使用します」のチェックOFF
  10. 「OK」をクリック

本記事の解説と同じ結果になればOKです!

さいごに

いかがでしたでしょうか?

「クエリのマージ」・「マージ」コマンドの活用により、Power Queryエディター上で主キーを基準に別表の列データを転記できます。

データ転記は、実務でも頻出の作業の1つのため、しっかり覚えておきましょう!

なお、パワークエリの各種テクニックは、私の拙著でも体系的に解説していますので、こちらも参考にしてみてください。

created by Rinker
¥2,970 (2026/09/17 01:33:13時点 楽天市場調べ-詳細)

ご参考になれば幸いですm(_ _)m

森田
森田
「クエリのマージ」・「マージ」コマンドに慣れたら、複数の表の集約に役立つ他のコマンドもセットで覚えることをおすすめします。
具体的には、別表の行データを追加できる「クエリの追加」・「追加」コマンドです。
どちらも実務での利用頻度が高いので、ケースバイケースで使い分けできると効率的ですね。

この記事をシェアする

記事一覧へ戻る

コメント Comments

コメント一覧

コメントはありません。

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トラックバックURL

https://excel-master.net/data-utilization/data-shaping/data-transcription/power-query-query-merge/trackback/