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

【パワークエリ】「クエリの追加」の使い方|別表の行データを連結する方法【動画あり】

【パワークエリ】「クエリの追加」の使い方|別表の行データを連結する方法【動画あり】
Aさん
Aさん
2019年と2020年の社員マスタを1つの表にまとめたいです。
Power Queryエディター上でこうした作業も自動化できますか?
森田
森田
自動化できますよ!
その場合、Power Queryエディター上の「クエリの追加」コマンドかワークシート上の「追加」コマンドを使えば良いです!
では、詳細を解説していきますね。
目次[閉じる]

解説動画

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

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

はじめに

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

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

「クエリの追加」コマンドとは、Power Queryエディター上で別表の行データを連結する機能

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

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

機能自体は、ワークシート上の関数の「VSTACK」と似ています。
 VSTACKの詳細は、別記事にまとめる予定。

クエリ内の一連の整形作業の中で、別表の行データ(レコード)を連結したい場合に「クエリの追加」コマンドを使いましょう。

「クエリの追加」コマンドの使いどころ

「クエリの追加」コマンドの活用により、Power Queryエディター上で列名を基準に別表の行データを連結できます。

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

一例として、「クエリの追加」コマンドを使用し、「社員マスタ_2019」テーブルへ「社員マスタ_2020」テーブルのレコードを連結したものが以下です。

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

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

後は、クエリ新規作成ステップのStep 2とStep 3を行いましょう。

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

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

「クエリの追加」コマンドの使用手順

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

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

「クエリの追加」コマンドの使用手順
  1. リボン「ホーム」タブをクリック
  2. 「クエリの追加」をクリック
  3. 連結するテーブル数を選択
    ※今回は「2つのテーブル」
  4. 連結対象のクエリを選択
    ※今回は「社員マスタ_2020」クエリ
  5. 「OK」をクリック

 手順③で「3つ以上のテーブル」を選択した場合の詳細は、本記事で後述。
 手順④の選択順に応じて、連結後のレコードが並ぶ。
※例:「社員マスタ_2019」クエリ→「社員マスタ_2020」クエリの順で選択した場合、2019のレコードの下に2020のレコードが追加される。

「追加」コマンドの使用手順

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

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

「追加」コマンドの使用手順
  1. ワークシート上のリボン「データ」タブ
  2. 「データの取得」をクリック
  3. 「クエリの結合」をクリック
  4. 「追加」をクリック
  5. 連結するテーブル数を選択
    ※今回は「2つのテーブル」
  6. 連結対象のクエリを選択
    ※今回は「社員マスタ_2019」クエリと「社員マスタ_2020」クエリ
  7. 「OK」をクリック

 手順⑤で「3つ以上のテーブル」を選択した場合の詳細は、本記事で後述。
 手順⑥の選択順に応じて、連結後のレコードが並ぶ。
※例:「社員マスタ_2019」クエリ→「社員マスタ_2020」クエリの順で選択した場合、2019のレコードの下に2020のレコードが追加される。

【参考】3つ以上のテーブルを連結する場合の「追加」ダイアログ設定

「追加」ダイアログの冒頭のオプションボタンの選択肢を「3つ以上のテーブル」にした場合、以下のような画面になります。

3つ以上のテーブルを連結する場合の「追加」ダイアログ設定

「利用可能テーブル」ボックス内で連結したいテーブルを選択し、「追加>>」ボタンをクリックすることで、「追加するテーブル」ボックスに連結対象のクエリがセットされます。

問題なければ「OK」ボタンをクリックして確定しましょう。

なお、「利用可能テーブル」ボックス内で連結したいテーブルを選択する際、以下の対応をすると効率的です。

  • 連続するクエリを選択する場合:起点のクエリを選択後、「Shift」キーを押しながら終点クエリを選択(起点~終点の間のクエリも選択される)
  • 離れたクエリを選択する場合:「Ctrl」キーを押しながら該当のクエリを選択

誤ったクエリが「追加するテーブル」ボックスにセットされた場合は、該当のクエリを選択し、右側の「×」ボタンをクリックすれば連結対象から削除できます。

【応用】別レイアウトのデータ追加も可能

データ追加の対象は基本的に同一レイアウトのテーブル同士です。

ただし、別表で管理されている売上の目標値と実績値を比較したい等、列構成が完全一致ではないものの、部分的に同じ列名があるテーブル同士で連結したいというケースも「クエリの追加」・「追加」コマンドで対応可能です。

この場合、列名を基準にデータ追加されます。

別レイアウトのテーブル同士のデータ連結

1つの表に連結できたら、後は共通の列名で予実の数値を集計する等で活用できますね。
 上記であれば、日付や氏名別で売上金額・売上目標額を集計等。

なお、実質は同じデータの列だったとしても、各テーブルの列名が一致していないと、別な列として連結されてしまうため、事前に列名を統一した上で、データ追加を行いましょう。

「追加されたクエリ」ステップの変更手順

「クエリの追加」コマンドで記録した「追加されたクエリ」(ソース)ステップを後から変更する場合、以下の手順で変更しましょう。

「追加されたクエリ」ステップの変更手順
  1. 「追加されたクエリ」ステップ or 「ソース」ステップの歯車マークをクリック
  2. 任意の箇所を修正
  3. 「OK」をクリック

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

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

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

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

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

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

  1. リボン「ホーム」タブをクリック
  2. 「クエリの追加」をクリック
  3. 連結するテーブル数を選択
    ※今回は「2つのテーブル」
  4. 連結対象のクエリを選択
    ※今回は「社員マスタ_2020」クエリ
  5. 「OK」をクリック

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

さいごに

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

「クエリの追加」・「追加」コマンドの活用により、Power Queryエディター上で列名を基準に別表の行データ(レコード)を連結できます。

同じレイアウトで複数の表に分けて管理している場合、データ連結が必要なケースがあるため、ぜひ覚えておきましょう!

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

created by Rinker
¥2,970 (2026/10/05 04:14:00時点 楽天市場調べ-詳細)

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

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

この記事をシェアする

記事一覧へ戻る

コメント Comments

コメント一覧

  • 小川結人@gmail.com がコメント

    2021年1月4日 1:19 AM

    とてもわかりやすくで助かります。excel頑張ります!!

    • 森田貢士 がコメント

      2021年1月5日 12:25 AM

      小川さん

      コメントありがとうございます!

      わかりやすいとのことで良かったです!
      引き続きExcel頑張ってくださいね^_^

  • にし がコメント

    2021年6月2日 10:06 AM

    パワークエリを初めて使おうと調べていて
    森田さんのサイト、動画は分かりやすくてすごくありがたいです
    横に広がった肥大化エクセルシート(複数シートへの値参照)を
    パワークエリを使って値が更新できるようにしたいと思ってます
    アクセスとの連携でデータ加工をアクセスで済ませてから
    エクセルへ渡すことも考えたのですが
    データ元がエクセル複数シートなのでエクセルのみで完結した方が良いと考えます
    パワークエリでどこまでできるのかがまだ掴めていなくて
    相談させていただけるとありがたいのですが、
    よろしいでしょうか。

    • 森田貢士 がコメント

      2021年6月2日 6:48 PM

      にしさん

      コメントありがとうございます。

      サイト・動画が分かりやすいとのことで良かったです!
      元データがExcel複数シートであれば、たしかにパワークエリで対応できそうですね。
      同じような表構成のシートなら、こちらの記事のテクニックでも対応可能だと思います。
      https://excel-master.net/data-base/power-query-data-acquisition-book-multiple/

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

コメントする

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

トラックバックURL

https://excel-master.net/data-utilization/data-shaping/data-linking/power-query-add-query/trackback/