Power Queryで実現!Excelにドラッグ&ドロップでファイルを自動取り込む方法

Excelで定期的に複数のファイルを取り込む作業は、手作業だと非常に手間がかかります。しかし、Power Queryとシンプルなフォルダ運用を組み合わせれば、VBAやマクロを使わずに、ドラッグ&ドロップ感覚でファイルをアップロードし、データモデルを自動更新できる仕組みを実現できます。
この記事では、ExcelとPower Queryを活用して、ドラッグ&ドロップによるファイル取り込み環境を構築する手順を詳しく解説します。
例えば、各地の担当者から毎月売上レポートを集めている場合を想像してみてください。データを手動でコピー&ペーストする代わりに、専用フォルダへのドラッグ&ドロップをルール化すれば、「CSVファイルを共有フォルダに入れてください」と伝えるだけで済みます。
ステップ1:ドラッグ&ドロップ用フォルダを準備する
- エクスプローラーを開きます。
- 新しいフォルダを作成します(例:「Drag and Drop Files」)。
C:\Users\YourName\Documents\Drag and Drop Files
- サンプルファイルを1つ以上配置します。例:
- Sales June.csv
- Sales July.csv
- 利用者には、このフォルダへドラッグ&ドロップでファイルを入れるよう案内します。フォルダを共有したり、クイックアクセスにピン留めしておくと便利です。

各ファイルには売上データ(製品名、地域、数量、売上高)が行単位で記録されているものとします。すべてのファイルで「同じ列・同じ順序・同じCSV形式」であることが重要です。列構成が揃っていないと、後続の結合処理でエラーが発生する原因になります。
ステップ2:Power Queryでフォルダに接続する
- Excelを開きます。
- データタブ → データの取得 → ファイルから → フォルダーからを選択します。

- 作成した「Drag and Drop Files」フォルダを指定し、開くをクリックします。

- Power Queryがフォルダ内のファイル一覧を表示します。
- プレビューウィンドウでデータの変換または結合と変換をクリックします。

ステップ3:Power Queryでファイルを結合する
Power Queryエディターにフォルダ内のファイル一覧が表示されます。
- 結合 → データの結合と変換を選択します。
- ファイルの結合プレビュー画面が開きます。
- 必要に応じて正しいシート・テーブル・区切り文字を選択します(ヘッダー行はPower Queryが自動検出します)。
- OKをクリックします。

- Power Queryが以下を自動的に作成します。
- 全ファイルを読み込むための関数
- 全ファイルのデータを縦に積み重ねる変換クエリ
- データを展開・結合するためのステップ

ステップ4:必要に応じてデータを整形する
- この段階でさまざまな変換処理を適用できます。
- 列名の変更
- データ型の変更
- 行のフィルター
- クエリのマージなど
- クエリエディターで以下の整理を行いましょう。
- 不要な列(Extension や Source.Name など)があれば削除します。
- 列を右クリック → 削除を選択します。
- クエリ名をわかりやすい名前に変更します(例:CombinedFiles)。

- 完了したら、閉じて読み込むをクリックします。

- これで、フォルダ内の全ファイルの全行がExcelシートに読み込まれます。

ステップ5:ドラッグ&ドロップによるアップロードを試す
実際にドラッグ&ドロップ形式のアップロードをシミュレーションしてみましょう。
- 新しいCSVファイル(例:Sales August.csv)を「Drag and Drop Files」フォルダにドラッグ&ドロップします。

- Excelに戻り、テーブル上で右クリック → 更新を選択します。

- 追加したファイルの新しい行が即座に表示されます。

ステップ6:更新を自動化する
- データタブ → クエリと接続を選択します。
- 対象のクエリを右クリック → プロパティを選択します。

- 以下のオプションを有効にします。
- 10分ごとに更新する
- OKをクリックして設定を保存します。

特定のファイルや形式だけを監視する方法
CSVファイルだけを読み込みたい場合は、次のようなフィルターを使用できます。
= Table.SelectRows(Source, each Text.EndsWith([Extension], ".csv"))
また、一時ファイルやシステムファイルを除外したい場合は、以下のように記述します。
= Table.SelectRows(Source, each not Text.StartsWith([Name], "~$"))
トラブルシューティングのヒント
- ファイル使用中エラー: 更新時にファイルが他のアプリで開かれていないか確認してください。
- ヘッダーが認識されない場合: Power Queryの「ファイルの結合」ステップを見直し、先頭行をヘッダーとして扱う設定に調整してください。
- パフォーマンス問題: 非常に大きなファイルを扱う場合は、ワークシートへの直接読み込みではなく「データモデル」への読み込みを検討してください。
まとめ
上記の手順を実践すれば、ドラッグ&ドロップによるファイル取り込み環境を構築でき、Excelはより賢く、業務フローは格段に効率化されます。Power Queryと監視対象フォルダさえあれば、軽量で使いやすいファイルアップロードシステムをExcel上に構築できます。フォルダを監視し、追加された新ファイルを即座にインポート・処理できるPower Queryの仕組みは、手作業にかかっていた何時間もの時間を節約してくれます。定期的なファイル更新を素早く確実に統合したい小規模企業、管理部門、フィールド業務チームにとって理想的なソリューションです。
-
Officeインストール時のエラーコード30068を解決する方法
Officeのインストール中にエラーコード30068が表示されることがあります。主な原因は、Office Click-to-Runサービスに何らかの問題が発生していることですが、インストール自体の不具合が原因となる場合もあります。この記事では、Officeのインストール時に発生するエラーコード30068を解決する方法を詳しく解説します。エラーは「30068-29 (2)」「30068-4 (3)」「30068-4 (1715)」「30068-39 (3)」など、さまざまな形式で表示されることがあります。 Officeインストール時のエラーコード30068について Officeのインストールは、
-
Excelでリレーションシップを管理する方法|初心者向け完全ガイド
Excelでテーブル間のリレーションシップを管理する特別なテクニックをお探しですか?この記事では、Excelにおけるリレーションシップの管理手順を、作成から編集・追加・削除まで一つひとつ詳しく解説します。ぜひこの完全ガイドを参考にして、実務に役立ててください。 Excelのリレーションシップとは何か? 2つの独立したテーブルを結び付けるとき、「リレーションシップ(関係)」が作成されます。その仕組みは以下のとおりです。 まず、両方のテーブルに共通して存在する列を見つける必要があります。列名は同じである必要はありませんが、新しい列には重複のない一意の値が含まれていなければなりません。リレーショナ