Power Queryでいつもの作業を自動化できる
月末に生成されるデータを1つのファイルにまとめる作業がありますよね。毎週かもしれません。各部署から集めたデータをまとめるといった作業もあります。
複数のファイルを1つにまとめたいことがありますよね? 手作業でコピペする必要はありません 簡単に操作するならコピー&ペーストですが、間違えることもありますし、定期的に同じ作業をくり返すのはつらいものです。何とか自動化したいと考えても、マクロは詳しくないし……、という人、Power Queryを使ってみてください。
今回紹介する手順に沿って「クエリ」を作成しておけば、新しいファイルを追加しても“更新”するだけでデータが追加されるようになります。
ファイルを統合するクエリを作成する
クエリ(Query)は「問い合わせ」をするための命令です。エクセルから呼び出せるPower Queryなら、コードの記述は不要。目的の操作を記録して保存しておくことができます。
今回は複数のファイルから必要なデータ部分を読み込むことが目的です。[Power Queryエディター]の画面で不要な列や行を削除して、[保存して読み込む]ボタンをクリックすると、エクセルの画面に結果が表示されます。
エクセルの新規ファイルを作成しておきます。[データ]タブ(①)にある[データの取得](②)-[ファイルから](③)-[フォルダーから](④)の順にクリックします 統合したいエクセルファイルが保存してあるフォルダーを選択して(⑤)、[開く](⑥)をクリックします 保存してあるファイルの一覧が表示されます。何も操作せずに[データの変換](⑦)をクリックします [Power Queryエディター]の画面が表示されます。[Content]列の[ファイルの結合](⑧)をクリックします [ファイルの結合]画面が表示されます。複数ファイルを結合するので[パラメーター1](⑨)を選択します。[1月売上]は最初のファイルに含まれるワークシート名です。こちらを選択しないように注意してください。[OK](⑩)をクリックします [Power Queryエディター]の画面が表示されます。[Data]列に実際のデータが格納されています。ほかの列は削除します。[Data]列の見出し(⑪)をクリックして、[ホーム]タブ(⑫)にある[列の削除]の[▼](⑬)-[他の列の削除](⑭)をクリックします [Data]列以外の列が削除されました。[展開](⑮)をクリックします エラーを解消する
上記の操作でフォルダーに含まれるファイルが統合されます。ただし、余計な見出しも含まれており、エラーが表示されています。不具合が出ないように削除します。
フォルダーに含まれるファイルが統合されました。列見出しに表示されている赤い印(⑱)に注目してください。エラーが含まれていることを表します。1行目(⑲)は元のファイルにある見出しなので、繰り上げて列見出しとします 左上のアイコン(⑳)をクリックして[1行目をヘッダーとして使用](㉑)をクリックします 1行目が列見出しとして繰り上がりましたが、まだエラーが残っているようです 画面を下にスクロールすると(㉒)、2つ目、3つ目のファイルに含まれる見出しがエラーとして扱われていることがわかります 左上のアイコン(㉓)をクリックして[エラーの削除](㉔)をクリックします 列見出しからエラーを表す赤い印が消えました。もし、空白のデータ(null)が含まれている場合は[行の削除]-[空白行の削除]から削除できます。[閉じて読み込む](㉕)をクリックします [Power Queryエディター]の画面が閉じて、エクセルの画面に切り替わります。テーブルとしてクエリの結果が表示されます 下にスクロールすると、1~3月分のデータが読み込まれていることがわかります 新しいファイルを追加して更新する
フォルダーに新しいファイルを追加して、クエリの結果を更新してみます。
フォルダーに新しいファイルを追加しておきます(㉖) テーブル内の任意のセルを選択しておきます。[クエリ]タブ(㉗)の[更新](㉘)をクリックします マクロよりも手軽に使えるPower Query
マクロでフォルダー内にあるファイルをすべて統合する場合、指定のフォルダーを開いてファイルの有無をチェック、新規ファイルを作成して、先頭のファイルから順次処理するといった処理をVBAで記述する必要があります。Power Queryのほうが圧倒的に簡単ですよね。
また、複数ファイルを統合したうえで、列の追加や削除、順番の入れ替えなども可能です。手軽に試せて、何度もやり直しできるPower Queryを使ってみてください。