別表のレコード(行データ)の連結を自動化する方法[Power Query(パワークエリ)基礎]
AさんAさん

別々の表で管理している2019年と2020年の「社員」の情報を1つの表にまとめたいです。

こうした作業もPower Queryで自動化できますか?

森田森田

その場合、Power Queryエディター上の「クエリの追加」というコマンドが有効ですよ!

具体的な使い方について解説していきますね。

解説動画:【パワークエリ#7】データ転記・連結テクニック - 複数の表データを結合し、一つに集約する作業を自動化する(クエリのマージ/クエリの追加)

この記事の内容は下記の動画でも解説しています。
コメント欄の「データ連結(クエリの追加)」の時間の部分をクリックするとデータ連結の解説へジャンプできますよ!

はじめに

本題に入る前に、この記事がおすすめな方を挙げてみます。

  • 別表のレコード(行レコード)の連結作業を自動化したい方
  • データ整形・加工の工程が複数あり、かつその作業が定期的に発生する方
  • Power Query(パワークエリ)の使い方を習得したい方

前提条件

この記事のテクニックを使うためには、以下の条件を満たす必要があります。

  • ExcelのバージョンはExcel2010以降(Microsoft365含む)が必須
  • Excel2010/2013ユーザーの場合、事前にMicrosoft社公式HPよりPower Query(パワークエリ)のダウンロードが必要(Excel2016以降は標準機能)
  • Power Query(パワークエリ)の概要を理解していること
    →まず、以下の記事で概要を把握することをおすすめします。

同じフィールドの複数表のレコードを連結したい場合に「クエリの追加」が有効

以下のように、同じフィールドの複数の表がある場合、1つの表にレコードを連結したいケースがあります。

こうした場合、従来のワークシートでは手作業によるコピー&ペーストが主流でした。(自動化するならVBA

しかし、Power Query(パワークエリ)なら、VBAを使わずにこうしたデータの連結を自動化できます。

しかも、他のデータの整形・加工作業が複数工程あるなら、なおさら便利ですよ!

では、Power Query(パワークエリ)でのクエリの追加手順を確認していきましょう。

Power Query(パワークエリ)でのクエリの追加手順

今回の前提として、クエリの追加を行う対象テーブルは2種類ともブック内にあり、それぞれ事前にPower Queryエディターに取り込んでいる状態からスタートするとします。(ブック内のデータ取得について復習したい方は下記記事を参照)

クエリの追加は以下の2ステップとなります。

STEP1】ワークシート上のリボン「データ」タブから「追加」ダイアログを起動

まず、ワークシート上のリボン「データ」タブをクリック(①)し、「データの取得」をクリック(②)します。

続いて、「クエリの結合」をクリック(③)すると表示される「追加」をクリック(④)してください。

STEP2】「追加」ダイアログで連結するクエリを指定

「追加」ダイアログが起動します。

まず、連結するテーブル数(=クエリ数)が2つか3つ以上かを選択(⑤)します。

今回は「2つのテーブル」を選択しています。

続いて、連結するテーブルを指定(⑥)したら、OK」をクリック(⑦)して完了です。

手順⑤を「3つ以上のテーブル」を選択した場合、手順⑥以降は連結するテーブルをまとめて指定したら「追加」をクリックし、「OK」をクリックすればOKです。

手順⑥は「最初のテーブル」に指定したテーブルのレコードの下に「2つ目のテーブル」に指定したテーブルが連結されます。
レコードの並び順が決まっている場合は、テーブルの指定順に気をつけましょう。

「プレビュー」ウィンドウ上でクエリの追加が確認できたらOK

「プレビュー」ウィンドウを見ると、無事設定どおりに別表のレコードが連結されていますね!

あとは、その他の処理を行い、任意の方法でデータを出力すれば完了です。

【参考】既存のクエリ内で別表のレコード連結を行いたい場合は

ちなみに、上記の方法では「追加1」という新たなクエリが生成されてしまいます。

もし、クエリを増やさずに既存のクエリ内(例えば「社員マスタ_2019」)にレコードを連結したい場合は、「社員マスタ_2019」クエリをPower Queryエディター上で開き、以下のコマンドを使えばOKです。

リボン「ホーム」タブにある「クエリの追加」コマンドを実行すると、上記STEP2の「追加」ダイアログが起動します。(手順⑥の「最初のテーブル」は非表示の状態)

あとは、上記の手順⑥の「2つ目のテーブル」以降と同じ流れで操作を進めてください。

ケースバイケースで使い分けましょう!

【参考】クエリの追加内容を変更したい場合は

もし、あとでクエリの追加条件を変更したい場合は、「クエリの設定」ウィンドウの任意のステップをダブルクリック、もしくは歯車マークをクリックしましょう。

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

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

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

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

サンプルファイルを開いたら、次の手順を実施してください。(今までの解説のまとめです)

  1. ワークシート上のリボン「データ」タブをクリック
  2. 「データの取得」をクリック
  3. 「クエリの結合」をクリック
  4. 「追加」をクリック
  5. 連結するテーブル数(=クエリ数)が2つか3つ以上かを選択
  6. 連結するテーブルを指定
  7. OK」をクリック

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

さいごに

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

クエリの追加はPower Query(パワークエリ)を便利に使うためには、覚えておくべき基本テクニックです。

特に、同じフィールドの複数の表から1つの表へ集約する際など、このクエリの追加を使えるとめちゃくちゃ便利ですよ!

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


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

森田森田

データ連結は表の数が多ければ多いほど、自動化しないと大変な作業になります。

しかし、従来はVBAでないと連結作業の自動化はできませんでしたが、Power Queryならマウス操作中心で自動化を設定できるために便利ですね。

複数表を一元集約する機会が多い方は、ぜひPower Query(パワークエリ)を学んでみてくださいね!