今回の記事では、フォルダから複数のファイルを一括でPowerQueryに取り込む方法と、その際の注意点について解説します。この方法をマスターすると実務で非常に役立ちますので、ぜひ参考にしてください。
それでは早速、始めていきましょう!
PowerQuery【テーブルと範囲・フォルダ結合】

今日使用するファイルは、こちらの売上管理表です。

開くとこのようなデータが記載されています。
フォルダからデータを取り込む手順
まず、取り込みたい複数のファイルが格納されたフォルダを準備します。
【重要】
この方法を使う大前提として、フォルダ内の各ファイル(ブック)のデータ構造(シート名、テーブル名、列の並び、項目名など)がすべて同じである必要があります。

Excelを開き、【データ】タブ -> 【データの取得】 -> 【ファイルから】 -> 【フォルダーから】を選択します。
対象のフォルダ(売上報告書)を指定し、【開く】をクリックします。

フォルダ内に含まれるファイルの情報が一覧表示されます。

ウィンドウ下部にある【結合】ボタンの▼をクリックし、【結合および読み込み】を選択します。
- 結合および読み込み: 複数のファイルを1つに結合し、その結果をテーブルとしてExcelのワークシートに直接読み込みます。
- データの結合と変換: 結合処理の後、PowerQueryエディタが開き、追加のデータ加工を行えます。
- データの変換: 結合処理を行わず、フォルダ内のファイル情報(ファイル名、拡張子、パスなど)をPowerQueryエディタで開きます。
- 読み込み: 【データの変換】と同じく、ファイル情報自体をテーブルとして読み込みます(通常はあまり使いません)。
ファイルの結合(サンプルファイルの指定)

【結合および読み込み】をクリックすると、【ファイルの結合】ウィンドウが開きます。
PowerQueryは、フォルダ内のいずれか1つのファイルを【見本(サンプル)】として、どのような手順でデータを取り込むかを決定し、その処理を他のすべてのファイルに適用します。 【サンプルファイル】のドロップダウンで、基準となるファイルを選べます(デフォルトは【最初のファイル】)。今回はどのファイルも構造が同じなため、デフォルトのままで問題ありません。

取り込むデータの選択:
サンプルファイルの中身が表示されるので、取り込みたいシート名やテーブル名(例:売上管理表テーブル)を選択します。【OK】をクリックします。

処理が実行され、指定したフォルダ内のすべてのファイル(北海道、関東、近畿)のデータが1つのテーブルに結合され、Excelシートに読み込まれます。

元のファイルにはなかった列として、ファイル名(ソース名)が自動的に追加されます。
PowerQueryが自動生成するステップについて
この操作を行うと、PowerQueryは最終的な結果(売上管理表)以外にも、いくつかのクエリや関数(サンプルファイル、サンプルファイルの変換、ファイルの変換など)を自動的に生成します。

これらは、前述の【サンプルファイル】を基準にした処理(ヘルパークエリ)です。
サンプルファイル: 基準として選んだファイル(例:北海道支店)を指定します。
サンプルファイルの変換: サンプルファイルからデータ(テーブル)を取り込むための具体的なステップ(ナビゲーションなど)を記録します。
ファイルの変換 (fx): サンプルファイルの変換で定義した処理を、他のすべてのファイルに適用するための【カスタム関数】です。
売上報告書(最終結果): フォルダ内の各ファイルに対してファイルの変換関数を実行し、得られたすべての結果テーブルを縦に(行方向に)結合(統合)したものです。
売上管理表(最終結果): フォルダ内の各ファイルに対してファイルの変換関数を実行し、その結果をすべて結合(統合)したものです。
今後、データに加工を追加したい場合、サンプルファイルの変換クエリにステップを追加すれば、その処理がすべてのファイルに適用されます。
ただし、ファイル名など、全ファイルを結合した後のデータに加工を加えたい場合は、最終結果である売上報告書クエリにステップを追加します。
パワークエリで何が行われているのか?
本日は、このパワークエリの内容についてご説明します。

【売上管理表】をダブルクリックします。

すると、【パワークエリエディタ】が表示されます。右側の【適用したステップ】を見て行きます。

【ソース】は、フォルダが指定されています。
【フィルタ選択された非表示】は後程、ご説明します。
【カスタムされた関数の呼び出し】は、

左側を確認すると、パワークエリで自動で生成されたステップが表示されます。

上記の【サンプルファイル】の箇所になります。クリックして確認すると、【1月の売上管理表】のExcelファイルが表示されています。つまり、1つ目のファイルをsampleとして選択した、モノが【1月の売上管理表】です。

次に【サンプルファイルの変換】のクエリで、サンプルファイルで作った、【1月の売上管理表】のクエリーを作成しています。

上の数式バーを確認すると、【売上管理表】のテーブルを取り込むという事です。これは、ナビゲーションのステップです。

【ファイルの変換】のステップで、売上管理表の1月~3月を全て取り込むというステップが行われています。
この様な、一連の動画が行われて、最後に売上管理表のクエリーが実行されています。もし、今後、追加や加工をしたい場合は、【サンプルファイルの変換】に加工を加えたり、最終的な【売上管理表】のクエリにステップを組んでも良いです。効率的な方を選んでください。
ただし、下記の

【サンプルファイルの変換】は、数式を見て貰うと、ファイル名の情報はもっていませんので、

もし、【売上管理表】クエリに加工を加えるとなると、最初の列に、Excelの拡張子がついていますのでコチラを修正していきます。

【変換】タブから【区切り記号▼】から【区切り記号の前のテキスト】をクリックして選択します。

【区切り記号の前のテキスト】ポップアップが表示されます。【区切り記号】にExcelの拡張子の前のドット(・)を追加して、【OK】ボタンを押します。

すると、この様に、売上管理表の月の順で並びます。この状態でテーブルの方に読み込みます。

【ホーム】タブから【閉じて読み込む▼】から【閉じて読み込む】をクリックして選択します。

すると、A列にそれぞれの月の管理表のデータがインポートされます。【A1】セルはパワークエリの画面のヘッダーで支店名に書き換えておくとよいでしょう。
これでフォルダーから複数のファイルを取り込む事が出来ます。
元ファイルが開いていると更新エラーになる
フォルダ内のいずれかのExcelファイルを開いたまま【すべて更新】を実行しても、【別のプロセスで使用されているため…】というエラーが発生することがなくなりました。これは、Excelがファイルを開くと同時にファイルロックをかけ、問題なくデータを読み込んで更新できるようになりました。
利便性の向上: これにより、元データを確認・編集しながら、Power Queryで更新をテストできるため、作業効率が大きく向上しました。
例外: ただし、ファイルの保存形式(古い.xlsなど)や、ネットワークドライブ上の設定、あるいは元ファイル側で非常に重い処理をしている最中などは、稀にエラーが再発するので注意してください。
新しい、ファイルの追加

では新しく【4月】分のExcelシートが追加したらどうなるのでしょうか?具体的に操作をします。

【データ】タブから【すべて更新▼】から【全て更新】をクリックして選択します。

すると、4月分の【売上管理表】が作成させれました。
- パワークエリの欠点は何ですか?
-
Excelと同じ関数は使えない
3つ以上のテーブルを同時に結合はできない
エディターを開いている場合にワークシート上の作業ができない - Excelのパワークエリで扱える行数は?
-
接続できるデータ量 Excelにはデータを扱う上での制限があります。 例えば、1つのワークシートに入力できる行の数は最大で1,048,576行までですが、これ以上のデータを扱うことができません。 PowerQueryを使用すると、Excelの制限を超えて、最大約20億行までのデータを扱うことができます。
- パワークエリとエクセルの違いは何ですか?
-
パワークエリは、さまざまな形式のデータを集計しやすいよう整形できるツールです。 データの整形自体は通常のエクセルでも対応できる一方で、パワークエリはデータの整形や加工に特化しています。 VBAや関数でデータを処理・整形するよりも簡単で、マウス操作のみで整形が完結するのも強みです。
まとめ
今回は、フォルダから複数のファイルを一括でPowerQueryに取り込む方法と、その際の注意点について解説しました。お仕事のお役立ちになれば幸いです。
■__________________________________■
メルマガ登録でお渡しする
【10大】
特典をプレゼント中↓↓↓
✅Powerquery教科書(PDF版)
✅MOS教科書(PDF版)
✅Ctrlキーのショートカット集
✅現金出納帳フォーマット
✅家計簿フォーマット
✅備品管理表フォーマット
✅提出物が揃ったら自動で完成(提出物確認)
✅備品注文書(チェックボックスで管理)
✅ガントチャートフォーマット
✅目次自動作成ツール
\ 無料メルマガに登録してプレゼントの受け取りはここから/




コメント