Excelの標準機能にあるPowerQuery(パワークエリ)は、同一フォーマットで入力された複数ファイルを一つにまとめたい時に便利です。
毎月の売上データや、部門別の実績データといった複数のファイルを一つに結合する場面などに活用できます。これまでであれば、手作業で一つずつコピーと貼り付けを繰り返すか、VBAを利用して自動化するといった手間な業務がExcelの標準機能で効率化できます。
内容:
使用のExcelは、Microsoft® Excel® for Microsoft 365 MSOです。
アウトプットイメージ
次のように、特定のフォルダの中に、同一フォーマットで入力された複数ファイルがあり、毎月このフォルダにファイルを追加等をして集計するような業務を想定。
各ファイルのシート名は同じ。もし、シート名が異なる場合は、設定手順が増える。
PowerQueryで、上記フォルダの中にある各ファイルを次のように一つの表にまとめる。各ファイルは、列ごとに同じ種類のデータが入力された表(リスト形式)がある。
上記の集計対象のファイル以下に保存しています。練習用で利用ください。
実施手順
Microsoftサポートの概要説明は以下です。以降、補足で手順を説明します。
「フォルダから」をクリック
「データ」タブで、「データの取得」-「ファイルから」-「フォルダから」の順にクリックする。
複数ファイルが保存されているフォルダを選択
結合したいファイルが保存されているフォルダを選択する。
「結合および読み込み」をクリック
アウトプットイメージをつかむため、まずは「結合および読み込み」をクリックする。なお、各ファイルでシート名が違う場合や、結合だけでなく、必要な列抽出や、順番の変更などをしたい場合などは「データの結合と変換」をクリックする。
「シート名(もしくはテーブル名)」を選択
PowerQueryに読み込むフォーマットを指定するため、基準となるシート名(もしくはテーブル名)を選択する。下記イメージは、各ファイルに「サンプルデータ」というシートがある。
各ファイルでシート名が異なる場合、以下の手順が異なる。
- 前手順で「データの結合と変換」をクリック
- 本手順で、シート(事例では「サンプルデータ」)ではなく、グループ名である「パラメーター」を選択する。
- その後、Power Query エディターの画面で「データ展開」などの設定をする。
動作イメージを持つまで、まずは同じシート名が良いと思う。
上記の結果、次のような「テーブル」の状態でアウトプットされる。
これで、次からはフォルダ内のファイルを追加・更新などしても、「更新」のクリックだけで、データが一括更新できます。
「クエリと接続」という画面は、自動的に作成される設定情報のようなもの。「ヘルパークエリ」というものが作成されて、最初は戸惑うが、このようなものと一旦理解しておくと慣れるように思う。
以上、Excelの標準機能にあるPowerQuery(パワークエリ)で、同一フォーマット(リスト形式)で入力された複数ファイルを一つにまとめる方法の備忘録でした。
複数のシートをまとめる方法比較(ExcelのVSTACK関数など)
ExcelのVSTACK関数を利用する方法など、同様な処理方法と選択する視点を以下にまとめました。
参考:PowerQueryの「ヘルパークエリ」について
「ヘルパークエリ」は慣れるまで役割や動作がわかりづらい機能です。
理解するためのポイントをまとめました。
参考:データの加工・抽出、管理
データの加工・抽出、管理の操作事例について、以下にまとめています。