Power Query(パワークエリ)で、4月・5月の売上データや、支店ごとの実績データなど、 同じ項目を持つ複数の表を1つにまとめたい ことはありませんか?
このように複数のテーブルを縦方向に結合するときに使用するのが、 Power Queryの「追加」機能です。
Power Queryには「追加」とよく似た機能として「マージ」がありますが、 2つは用途が異なります。
この記事では、4月と5月のCSVファイルを例に、 Power Queryの「追加」を使って2つの表を1つにまとめる方法を解説します。
Power Queryの「追加」とは、 複数のテーブルの行を縦方向につなぎ、1つのテーブルとしてまとめる機能 です。
例えば、次のように毎月同じ形式で作成されるデータがあるとします。
それぞれのファイルに「日付」「名前」「地域」「コード」「売上」など 同じ項目が並んでいる場合、「追加」を使うことで1つの売上データとしてまとめられます。
たとえばこんな業務で便利です
Power Queryの基本的な仕組みから知りたい方は、 Power Queryとは?できること・使い方を解説した記事 もあわせてご覧ください。
Power Queryでは、複数のクエリを組み合わせる方法として 「追加」と「マージ」があります。
名前が似ていますが、データのつなぎ方が異なります。
| 機能 | データのつなぎ方 | 使用例 |
|---|---|---|
| 追加 | 行を縦方向に追加する | 4月・5月・6月の売上データをまとめる |
| マージ | 共通する列を基準にデータを結び付ける | 社員番号を使って社員名簿と勤怠表を結び付ける |
今回行うのは、4月のデータの下に5月のデータを追加する処理なので、 使用する機能は「マージ」ではなく「追加」です。
ここからは、CドライブのPowerQueryフォルダに保存されている 「4月.csv」と「5月.csv」を例に操作していきます。
最終的には、クエリ「4月」のデータにクエリ「5月」のデータを追加し、 1つのテーブルとしてまとめます。
Excelを起動し、新規ブックを作成して任意の場所に保存します。
[データ]タブから [テキストまたはCSVから]を選択します。
「4月.csv」を選択し、[インポート]をクリックします。
プレビュー画面が表示されたら、 [読み込み]の横にある▼をクリックし、 [読み込み先]を選択します。
[データのインポート]画面で表示先を指定し、 [OK]をクリックします。
新しいシートを追加し、 「4月.csv」と同じ手順で「5月.csv」もExcelに取り込みます。
これで「4月」と「5月」という2つのクエリが作成されます。
続いて、作成した2つのクエリを縦方向に結合します。
[データ]タブから[データの取得]をクリックし、 [クエリの結合]→[追加]を選択します。
[追加]画面が表示されたら、 [2つのテーブル]を選択します。
今回は次のように設定します。
設定できたら[OK]をクリックします。
Power Queryエディターが表示され、 4月のデータの下に5月のデータが追加された状態になります。
内容に問題がなければ [閉じて読み込む]をクリックします。
Excelに「追加1」というクエリが読み込まれ、 4月と5月のデータをまとめたテーブルが完成します。
Power Queryの「追加」では、 列の位置ではなく列名を基準にデータが追加されます。
例えば、一方のテーブルでは「売上」、 もう一方では「売上額」という列名になっている場合、 Power Queryでは別々の列として扱われます。
| 4月 | 5月 | 追加後 |
|---|---|---|
| 売上 | 売上 | 同じ列として追加 |
| 売上 | 売上額 | 別々の列として追加 |
同じ意味の項目は、追加する前に列名を統一しておきましょう。
一方のテーブルにしか存在しない列がある場合でも、 Power Queryで追加することはできます。
ただし、該当するデータが存在しない行には 「null」が入ります。
そのため、追加後は列名だけでなく、 列の数やデータの入り方も確認しておくと安心です。
同じ列名でも、一方が「数値」、もう一方が「テキスト」など データ型が異なっていると、 その後の集計や計算で思わぬエラーが発生することがあります。
特に、日付・金額・社員番号・商品コードなどは 追加後にデータ型を確認しておきましょう。
複数のデータソースを組み合わせる際、 Power Queryでプライバシーレベルに関する確認画面が表示されることがあります。
表示された場合は、利用しているデータの内容や社内ルールに合わせて 適切なプライバシーレベルを設定してください。
Power Queryの「追加」は、2つのテーブルだけでなく 3つ以上のテーブルをまとめることもできます。
[追加]画面で[3つ以上のテーブル]を選択すると、 複数のクエリを指定して1つにまとめることができます。
例えば、 「東京」「大阪」「福岡」の3拠点の売上データを 1つのテーブルにまとめる、といった使い方が可能です。
毎月の売上データなど、今後もファイルが増え続ける場合は、 1つずつクエリを追加するよりも フォルダー単位で取り込む方法が便利です。
Power Queryでは、指定したフォルダー内にある複数ファイルをまとめて取得し、 新しいファイルを追加した際も更新操作だけで反映できる仕組みを作れます。
詳しい手順は、 Power Queryでフォルダー内の複数ファイルを結合する方法 をご覧ください。
複数のテーブルやクエリの行を縦方向につなぎ、 1つのテーブルにまとめる機能です。 月別・拠点別など、同じ項目を持つデータを統合するときに適しています。
「追加」は複数の表を縦方向につなぐ機能です。 一方、「マージ」は社員番号や商品コードなどの共通項目をキーとして 2つの表を横方向に結び付ける際に使用します。
追加できます。 Power Queryでは列の位置ではなく列名を基準にデータを組み合わせるため、 列の並び順が異なっていても同じ列名であれば対応する列に追加されます。
異なる列として扱われます。 例えば「売上」と「売上額」は別の列になるため、 同じ項目として扱いたい場合は事前に列名をそろえておきましょう。
ファイル数が少なければ「追加」でも対応できます。 一方、毎月継続的にファイルが増える場合は、 フォルダー内のファイルをまとめて取得する方法の方が管理しやすくなります。
今回は、Power Queryの 「追加」機能を使って、複数の表を縦方向に結合する方法 をご紹介しました。
ポイントは次のとおりです。
毎月コピー&ペーストしている集計作業も、 Power Queryを使えば元データを差し替えたり追加したりするだけで 効率的に処理できるようになります。
Excelの集計・データ整形、その作業ごと任せませんか?
EXCEL女子では、Excelを使ったデータ集計・加工や、 複数ファイルの統合、既存ファイルの改善・効率化などを支援しています。
「毎月同じファイルを手作業でまとめている」 「Power Queryを使いたいけれど、自社で組むのは難しい」 といった業務もご相談いただけます。
EXCEL女子の支援内容を見る