Excel の Power Query を使って、毎月の売上 CSV を、前月の Excel の末尾にコピーする手順を記載します。
一度設定しておくことで、翌月からは同じ形式のCSVを取り込んで、Excelで更新する運用にできます。
この記事では、架空の売上データを使い、1月・2月のCSVを1つの表にまとめ、あとから3月分を追加する手順を説明します。VBAやM言語のコード入力は使いません。
この記事でできること
- 同じ構成の CSV を、Excelの1つの表にまとめる
- 翌月の CSV を取り込み、Excel を更新する
- 件数と売上合計を照合し、取り込み漏れ・二重取り込みを発見する
操作説明はWindows版のデスクトップExcelで「データ」→「データの取得」→「ファイルから」→「フォルダーから」を利用できる環境を対象にしています。Mac版・Web版は画面や対応する取り込み方法が異なるため、この手順の対象外です。ボタンの表記はExcelのバージョンによって異なる場合があります。
取り込みの基本操作は、Microsoftのフォルダーから複数ファイルを取り込む解説を参照しています。
練習用CSVを準備する
まず、PCのドキュメントフォルダなどに「PowerQuery練習」フォルダーを作り、その中を次の構成にします。
PowerQuery練習
├─ 取込用
│ ├─ sales_2026-01.csv
│ └─ sales_2026-02.csv
├─ 翌月追加用
│ └─ sales_2026-03.csv
└─ 月次売上.xlsx(これから作成するExcelブック)
フォルダーからの取り込みには、サブフォルダー内のファイルも含まれます。「取込用」の中に翌月分やバックアップを置くと、意図せず集計対象になるため別フォルダにしておきます。
以下の内容をそれぞれメモ帳に貼り付け、名前を付けて保存します。「ファイルの種類」を「すべてのファイル」にして、文字コードはUTF-8を選んでください。ファイル拡張子が .csv になるように保存してください。すべて説明用の架空データで、金額の単位は円です。
1月分:sales_2026-01.csv
日付,部門,商品,売上金額
2026/01/05,東日本,ノート,12000
2026/01/10,西日本,ファイル,18000
2026/01/15,東日本,ノート,9000
2026/01/20,西日本,ペン,15000
2月分:sales_2026-02.csv
日付,部門,商品,売上金額
2026/02/05,東日本,ノート,16000
2026/02/10,西日本,ファイル,14000
2026/02/15,東日本,ノート,20000
2026/02/20,西日本,ペン,10000
3月分:sales_2026-03.csv
日付,部門,商品,売上金額
2026/03/05,東日本,ノート,13000
2026/03/10,西日本,ファイル,17000
2026/03/15,東日本,ノート,22000
2026/03/20,西日本,ペン,8000
「取込用」フォルダに1月・2月の2ファイルだけを入れます。「翌月追加用」に3月のファイルを入れます。
手順1:ExcelからCSVの保存フォルダーを指定する
- 空のExcelブックを開きます。
- 「データ」→「データの取得」→「ファイルから」→「フォルダーから」を選びます。
- 先ほど作った「取込用」フォルダーを指定します。親の「PowerQuery練習」を選ばないようにしてください。
- ファイル一覧に1月・2月のCSVがあることを確認し、「データの変換」を選びます。
ここでは、結合する前に対象のファイルを確認するため、いったんPower Queryエディターが開きます。
手順2:取り込むファイルを絞り込む
一覧にはファイル名や拡張子、保存先などが表示されます。各列のフィルターボタンで、次の条件を設定します。
| 列 | 設定する条件 | 目的 |
|---|---|---|
| Extension(拡張子) | .csvに等しい | CSV以外を除く |
| Name(名前) | テキストフィルターでsales_から始まる | 売上ファイルを対象にする |
| Folder Path(フォルダーパス) | 「取込用」直下のパスに等しい | サブフォルダーを対象から外す |
フォルダーパスは一覧に表示されている値を使います。末尾の区切り文字も含めて一致させてください。ファイル名は「1月と2月の2つを選ぶ」固定の指定にせず、「sales_から始まる」としておくと翌月分も対象にできます。
ただし、sales_2026-01_コピー.csvもこの条件に一致します。条件に合う同じ月のコピーを置けば二重に取り込まれます。入力フォルダーには、取り込む原本だけを置く運用にします。
手順3:ファイルを結合して、列名とデータ型を確認する
- 「Content」列の見出しにある「ファイルの結合」ボタンを選びます。見つからない場合はContent列を選択し、「ホーム」の「ファイルの結合」を探します。
- サンプルファイルには1月分を指定します。
- 文字コードを「65001: Unicode (UTF-8)」、区切り記号を「コンマ」にして、4列に分かれているか確認します。
- 「エラーのあるファイルをスキップする」のチェックボックスが表示される場合は、チェックを入れずに進めます。取り込み漏れをエラーで発見するためです。
- OKを押すと結合されます。「日付」「部門」「商品」「売上金額」の列名とデータを確認します。
列名がColumn1などになっていて、先頭行に「日付」「部門」などが残っている場合は、左側の補助クエリにある「サンプル ファイルの変換」を開き、「1行目をヘッダーとして使用」を適用します。その後、結合結果のクエリに戻って確認します。すでに正しい列名なら、この操作は不要です。
Power Queryが自動で作る「サンプル ファイル」「ファイルの変換」などの補助クエリは、各CSVへ共通の処理を行うために使われます。名前が似ていても、不要と判断して削除しないでください。
結合結果では、各列の見出し左側の型アイコンから、次の型になっているか確認します。
| 列名 | データ型 |
|---|---|
| 日付 | 日付 |
| 部門・商品 | テキスト |
| 売上金額 | 整数 |
このサンプルの金額は小数を使わないため整数にします。実際のデータで小数が必要なら、整数に丸めず用途に合う型を選んでください。元ファイル名が入ったSource.Nameなどの列は残しておくと、どのCSVから取り込まれた行か追えます。
CSV結合と自動の型検出についてはMicrosoftのCSV結合の解説、文字コードなどはText/CSVコネクタの解説も参考になります。
手順4:Excelに読み込み、8件・114,000円を確認する
- 結合結果のクエリ名を「月次売上」に変更します。
- 「ホーム」→「閉じて読み込む」のメニューから「閉じて次に読み込む」を選びます。
- 「テーブル」と「新規ワークシート」を指定して読み込みます。
- 読み込み完了後、見出しを除くデータが8行あることを確認します。
- 読み込まれたテーブル内を選び、「テーブル デザイン」で「集計行」を有効にします。
- 集計行の「売上金額」列で「合計」を選び、114,000円になることを確認します。
集計行の合計は、テーブルにかけたフィルターの影響を受けます。照合するときはフィルターを解除してください。集計行自体はデータ件数に含めません。
| 対象 | 明細件数 | 売上合計 |
|---|---|---|
| 1月 | 4件 | 54,000円 |
| 2月 | 4件 | 60,000円 |
| 1月+2月 | 8件 | 114,000円 |
Excelブックは、入力用CSVと区別しやすいよう「取込用」の外へ月次売上.xlsxという名前で保存します。
手順5:3月分を追加し、更新する
- 「翌月追加用」に置いた
sales_2026-03.csvを、「取込用」へ移動します。 - Excelの「データ」→「すべて更新」を選びます。
- 更新処理が完了したら、テーブルのフィルターを解除して、データが12件・合計174,000円になったことを確認します。
- 元ファイル名の列でも、3月分が4件取り込まれているか確認します。
- 確認後、Excelブックを保存します。
同じCSVを何度も開いて貼り付ける代わりに、保存しておいた取り込み処理を再実行します。通常のフォルダー取り込みでは、更新するたびに対象フォルダーの内容から結果を作り直します。新しいファイルだけを履歴へ追加し続ける仕組みではありません。
そのため、過去月のCSVを入力フォルダーから取り除くと、次の更新後はその月のデータも結果から消えます。過去月を含めた一覧を維持したい場合は、対象のCSVを残してください。また、CSVを置くだけでExcelの結果がすぐ変わるわけではなく、この記事の設定では更新操作が必要です。
うまくいかないときに確認すること
| 症状 | 確認する場所と対処 |
|---|---|
| 日本語が文字化けする | ファイル結合時の文字コードと元CSVの文字コードを合わせます。この練習データはUTF-8です。実務のCSVがShift-JISなら、その形式に合わせます。 |
| データが1列に固まる | 区切り記号を確認します。このサンプルはコンマ区切りです。 |
| 翌月分が増えない | 保存先、拡張子、ファイル名の条件を確認します。固定のファイル名で絞り込んでいないか、更新が完了しているかも確認します。 |
| 件数や合計が多すぎる | 同じ月のコピーやバックアップが対象になっていないか確認します。単月データと累計データを混ぜても重複します。 |
| 「列が見つからない」などのエラーが出る | 元CSVの列名と、補助クエリ・結合結果の適用したステップを確認します。「売上金額」と「売上金額 」のような空白の違いにも注意します。 |
| 必要な列が空欄になる、追加した列が見えない | CSVの列構成が途中で変わっていないか確認します。欠けた列が必ずエラーになるとは限らず、空欄になる場合もあります。新しい列も自動で最終結果へ出るとは限りません。 |
| フォルダーを移動したら更新できない | 「データ」→「クエリと接続」から対象クエリを編集し、「ソース」の参照先を修正します。Folder Pathで絞っている場合は、その条件も新しいパスに直します。 |
エラーが出ないことだけで、集計が正しいとは判断できません。今回のように、元データの件数・合計と結合結果を照合する手順を更新作業に含めます。
毎月の業務で使う前に決めておくこと
- CSVの形式をそろえる:列名・列数・日付形式・文字コードをそろえ、1行目を見出しにします。途中に合計行を混ぜないようにします。
- 単月か累計かを確認する:この手順は月ごとに重複しない明細を縦に並べる例です。毎月のファイルに年初からの全明細が入る場合は、そのまま結合すると重複します。
- 修正は元データへ反映する:読み込み結果のセルを直接直すと、更新で上書きされます。元CSVを修正して更新するか、繰り返す整形ならPower Queryの手順に組み込みます。
- 照合する数字を決める:元システムの件数・金額など、結果と突き合わせられる数字を用意します。
まずはこの練習データで、8件から12件へ変わる流れを確かめてください。自分の業務に置き換えるときは、「同じ形式のファイルを置く」「更新する」「件数と合計を照合する」の3つを毎月の手順にすると運用しやすくなります。


コメント