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