複数のCSVファイルをExcelに一つずつ取り込んで結合するのは、手間がかかる作業です。
特にファイル数が多い場合や、定期的に更新されるファイルの場合、手作業での統合は非効率的と言えます。
この記事では、ExcelのPower Query機能を使って、指定したフォルダ内のCSVファイルを自動的に結合する方法を解説します。
この方法を習得すれば、ファイル統合の作業時間を大幅に削減できます。
【要点】Power QueryによるCSVファイル一括結合の自動化
- フォルダからCSVファイルを取得: 指定したフォルダ内の全CSVファイルをPower Queryが認識します。
- CSVファイルの結合: 取得した複数のCSVファイルの内容を自動的に一つにまとめます。
- データの更新: 元のCSVファイルが更新された場合、Excel上で簡単に最新データに更新できます。
ADVERTISEMENT
目次
Power Queryによるフォルダ内CSV結合の仕組み
Power Queryは、Excelに標準搭載されているデータ加工・整形ツールです。様々なデータソースに接続し、データの抽出、変換、結合といった一連の処理を自動化できます。
フォルダ内の複数のCSVファイルを結合する際は、まず「フォルダ」をデータソースとして指定します。これにより、Power Queryは指定フォルダ内のファイル一覧を取得します。次に、取得したファイル一覧からCSVファイルのみを抽出し、各CSVファイルの内容を読み込みます。最後に、これらの内容をすべて結合して、一つのテーブルとしてExcelに表示する、という流れで処理が進みます。
この一連の処理を一度設定しておけば、次回からは「更新」ボタンをクリックするだけで、最新のファイル状況に応じた結合結果を得られます。
フォルダ内のCSVファイルを結合する手順
このセクションでは、具体的な操作手順を解説します。Excel for Microsoft 365を基準としていますが、Excel 2019以降のバージョンでも同様の操作が可能です。
- 新しいブックを開くか、既存のブックを準備する
Power Queryで処理結果を表示するためのExcelブックを開きます。新規作成でも既存のファイルでも構いません。 - 「データ」タブから「データの取得」を選択する
Excelのリボンメニューにある「データ」タブをクリックします。「データの取得」ボタン(または「新しいクエリ」)を選択し、ドロップダウンメニューから「ファイルから」→「フォルダーから」を選びます。 - フォルダの指定
「フォルダー」ダイアログが表示されます。ここで「参照」ボタンをクリックし、結合したいCSVファイルが保存されているフォルダを選択します。フォルダを選択したら「OK」をクリックします。 - ファイル一覧の確認と「データの結合」
指定したフォルダ内のファイル一覧が表示されます。ここでは、ファイル名、拡張子、作成日時などの情報が確認できます。画面下部にある「結合」ボタンの右側にある▼をクリックし、「データの結合」を選択してください。 - 最初のファイルの内容確認
「ファイルのプレビュー」ダイアログが表示されます。ここで、結合対象とするCSVファイルの中から、構造(列名やデータ形式)が代表となるファイル(通常は最初のファイル)を選択します。 - 「OK」をクリックしてPower Queryエディターを開く
プレビューで問題がなければ「OK」をクリックします。これにより、Power Queryエディターが起動し、選択したファイルの内容が読み込まれた状態になります。 - 「結合」処理の実行
Power Queryエディターの「ホーム」タブにある「結合」グループから、「結合」ボタンをクリックします。ファイル一覧の画面で「データの結合」を選んだ場合、このステップは自動的に行われています。もし「変換」を選んだ場合は、ここで「結合」を実行してください。 - 結合されたデータの確認
Power Queryエディターに、指定フォルダ内のすべてのCSVファイルの内容が結合された結果が表示されます。必要に応じて、列名の変更、データ型の調整、不要な列の削除などのデータ整形を行います。 - 「閉じて読み込む」でExcelに表示
データ整形が完了したら、「ホーム」タブの「閉じて読み込む」ボタンをクリックします。「閉じて読み込む」の▼をクリックすると、「閉じて次に読み込む」というオプションもあります。ここでは「閉じて読み込む」を選択し、Excelシートにデータを表示します。 - 読み込み先の選択
「データのインポート」ダイアログが表示されます。通常は「テーブル」を選択し、「既存のワークシート」または「新規ワークシート」を指定して「OK」をクリックします。
定期的なデータ更新方法
一度設定したPower Queryは、非常に簡単に最新のデータに更新できます。
元のCSVファイルが格納されているフォルダに新しいCSVファイルを追加したり、既存のCSVファイルの内容を更新したりした場合、Excelブックを開き直す必要はありません。
Excelの「データ」タブにある「すべて更新」ボタンをクリックするだけで、Power Queryが再度フォルダ内のファイルを読み込み、結合処理を実行してくれます。
もし、結合結果のテーブルがアクティブでない場合は、テーブル内の任意のセルを選択してから「データ」タブの「更新」ボタンをクリックしても、そのテーブルのみを更新できます。
ADVERTISEMENT
Power QueryでCSV結合する際の注意点とトラブルシューティング
Power Queryは強力なツールですが、いくつか注意しておきたい点や、発生しうるトラブルがあります。
CSVファイルの文字コードが統一されていない場合
結合しようとしているCSVファイル間で、文字コード(例:UTF-8、Shift_JIS)が異なると、文字化けが発生する可能性があります。
対処法:
- Power Queryエディターで文字コードを指定する
Power QueryエディターでCSVファイルを開いた際、自動的に文字コードが判別されますが、誤っている場合があります。その場合は、「ホーム」タブの「ソースの選択」クエリ(通常、一番上のクエリ)で、CSVファイルを開く際の文字コードを手動で指定します。具体的には、ソースを右クリックし、「ソースの変更」を選択して、`Encoding` パラメータの値を適切なもの(例:`65001` for UTF-8, `932` for Shift_JIS)に変更します。 - 事前に文字コードを統一する
可能であれば、CSVファイルを保存する際に、すべてのファイルを同じ文字コード(UTF-8が推奨)で保存するように運用ルールを決めると、トラブルを防ぎやすくなります。
CSVファイルのヘッダー行(列名)が異なる場合
結合するCSVファイル間で、ヘッダー行の列名が異なったり、列の順番がバラバラだったりすると、意図しない結合結果になることがあります。
対処法:
- 結合前に列名を統一する
Power Queryエディターで、各CSVファイルの内容を表示する段階(通常、「Transform Sample File」クエリ内)で、列名を統一するステップを追加します。具体的には、結合したい列名を右クリックし、「名前の変更」を選択して、すべてのファイルで共通の列名に変更します。 - 不要な列を削除する
結合したくない列や、重複している列は、結合処理の前に削除しておくと、結果がスッキリします。 - 「Sample File」クエリの編集
Power Queryの「フォルダから」のクエリでは、通常「Sample File」というクエリが自動生成され、このクエリの処理が他の全ファイルに適用されます。この「Sample File」クエリで列名の整形や不要な列の削除を行えば、すべてのファイルに一括で適用できます。
フォルダ内にCSV以外のファイルが存在する場合
指定したフォルダにCSVファイル以外のファイル(例:xlsx、txt、pdf)が含まれていると、Power Queryがエラーを起こしたり、意図しないファイルが結合されたりする可能性があります。
対処法:
- ファイルの種類でフィルタリングする
Power Queryエディターでファイル一覧が表示された画面(「フォルダー」クエリ)で、「Extension」(拡張子)の列を見つけます。その列の▼をクリックし、「テキスト フィルター」→「等しくない」などを選択して、`.csv` 以外の拡張子を持つファイルをフィルタリングして除外します。または、「.csv」でフィルターをかけ、CSVファイルのみを残します。
大量のファイルを結合する際のパフォーマンス問題
数千、数万といった非常に大量のCSVファイルを結合する場合、Excelの動作が重くなったり、処理に時間がかかりすぎたりすることがあります。
対処法:
- 必要な列のみを読み込む
結合処理を行う前に、Power Queryエディターで不要な列を削除しておくことで、読み込むデータ量を減らし、パフォーマンスを向上させることができます。 - 「データの結合」ではなく「クエリの追加」を使う
ファイル数が極端に多い場合や、各CSVファイルの構造が微妙に異なる場合は、「データの結合」ではなく、個別のCSVファイルを読み込むクエリを複数作成し、それらを「クエリの追加」機能で一つにまとめる方法も検討できます。この方が、各ファイルの読み込み・変換処理を個別に最適化しやすい場合があります。 - 「読み込み」ではなく「接続の作成」を選択する
最終的なExcelシートにすべてのデータを読み込むのではなく、Power Queryで結合した結果を「接続の作成」のみに留めることも可能です。これにより、Excelファイル自体のサイズを抑えつつ、必要に応じてその接続からデータを参照できます。
Power QueryとVBAの使い分け
フォルダ内のCSVファイルを結合するタスクは、VBA(Visual Basic for Applications)でも実現可能です。しかし、Power QueryとVBAにはそれぞれ得意な場面があります。
| 項目 | Power Query | VBA |
|---|---|---|
| 主な用途 | データ抽出・変換・結合、ETL処理 | 定型業務の自動化、Excel操作の自動化 |
| 学習コスト | 比較的低い(GUI操作中心) | 中程度(プログラミング知識が必要) |
| 処理の柔軟性 | 高い(多様なデータソースに対応) | 非常に高い(Excelのあらゆる操作が可能) |
| 更新の容易さ | 容易(「更新」ボタンで再実行) | 中程度(マクロの実行が必要) |
| エラー処理 | GUI上でステップごとに確認・修正しやすい | コードのデバッグが必要 |
| 大量データ処理 | 得意(メモリ管理が効率的) | 注意が必要(メモリリークなどに注意) |
今回の「フォルダ内のCSV一括結合」のように、データの取り込みから整形・結合までを自動化したい場合は、Power Queryが非常に適しています。
一方、結合したデータを基に、特定の条件でさらに加工したり、レポートを作成したりといった、より複雑なExcel操作を自動化したい場合は、VBAの活用が有効になります。
まとめ
この記事では、ExcelのPower Query機能を用いて、フォルダ内に保存された複数のCSVファイルを自動的に結合する方法を解説しました。
「データ」タブから「フォルダーから」を選択し、結合したいCSVファイルが格納されたフォルダを指定するだけで、手間のかかるファイル統合作業を効率化できます。
一度設定すれば、あとは「更新」ボタンをクリックするだけで最新のデータに更新できるため、作業時間の短縮に大きく貢献します。
文字コードやヘッダー行の不一致といったトラブルシューティングと、VBAとの使い分けについても触れました。
このPower Queryによる自動化を活用し、日々のデータ処理業務をより効率的に進めてください。
ADVERTISEMENT
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Outlook】宛先が「オートコンプリート」に出ない・間違っている時の修正手順|履歴の削除と再構築
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Outlook】メールの受信が数分遅れる!リアルタイムで届かない時の同期設定と送受信グループ設定
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Outlook】「メール送信を5分遅らせる」設定!誤送信を防ぐ最強のディレイ機能
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
