月次CSVをそのまま結合すると、列名の変更、列の追加・欠落、数値や日付の型の違いが混ざり、集計がずれることがあります。安全にそろえるには、先に「受け入れる列の契約」を決め、各ファイルをその契約へ変換してから結合します。Power Queryのフォルダー結合は、同じ構造のファイルをまとめる機能であり、月ごとの列名変更を正しく推測してくれるものではありません。未対応列や曖昧な列を検出し、行数と主要合計を元ファイルと照合してから次工程へ渡してください。
この記事では、入力を棚卸しし、列名の別名を正規名へ対応づけ、型を明示し、未対応・矛盾を止め、結合前後の件数と金額を照合する手順を示します。実データを受け取った際に記入できる表も用意しました。Power Queryの実環境で動作させた結果ではなく、公式資料に沿った設計・検証方法です。
目次
入力ファイルを棚卸しする
結合前に、ファイルごとの違いを記録します。列名だけを揃えても、値の意味や粒度が違えば正しい統合にはなりません。「売上日」が一日単位、「計上月」が月単位なら、どちらも日付らしい値でも同じ列とは限りません。
確認項目|記録例|確認すること
ファイル識別|2026-09.csv、export_202610.csv|対象年月、重複出力、命名規則
文字コード・区切り|UTF-8、カンマ|文字化け、列ずれ、引用符
ヘッダー位置|先頭行/先頭4行の後|固定の行削除が全ファイルに当てはまるか
列名・列数|売上日、取引日、日付|意味が同じ別名か、異なる項目か
型・単位|整数/小数、税込/税抜|通貨、税、数量単位の定義
データ粒度|注文単位、明細単位|二重計上、集約単位の違い
必須・任意|日付と伝票IDは必須|欠落時に停止するか、空値を許容するか
「商品名」と「品目名」が同じとは限らず、「合計」が税抜額か税込額かも列名だけでは断定できません。定義を確認できない列は、自動で同じ正規列へ寄せず未確定として扱います。
正規列と別名の契約を作る
結合後に使う列名・型・必須条件を先に定めます。例として、transaction_date(日付)、document_id(文字列)、item_code(文字列)、quantity(数値)、unit_price(数値)、amount(数値)、source_file(文字列)を使います。業務データでは伝票番号の先頭ゼロを失わないよう、識別子は数値に見えても文字列として扱うのが安全です。
正規列|必須|入力候補|検査
transaction_date|必須|日付、取引日、売上日|解析不能・範囲外
document_id|必須|伝票番号、注文ID|空欄、先頭ゼロ
item_code|任意|商品コード、SKU|表記ゆれ
quantity|必須|数量、個数|小数可否・単位
unit_price|必須|単価、販売単価|税込/税抜、通貨
amount|必須|金額、明細金額|数量×単価との差
source_file|必須|元ファイル名|出所追跡
別名対応表(alias map)はファイルを観察してから作り、入力列名、正規列、対象期間・出力元、意味確認者、承認状況を記録します。似ている名前を見つけただけでは対応を承認しません。月ごとに名称が変わる場合も、担当者や仕様書で同じ意味と確かめた別名だけを登録します。
同じファイルに「売上日」と「計上日」が両方あり、どちらもtransaction_date候補に見える場合は競合として止めます。片方を自動上書き・削除せず、発生日と会計上の計上日の違い、空欄補完の関係を確認してから選びます。候補検出と承認済みalias mapは別管理にします。
Power Queryで結合する前に確認する
Microsoftの公式資料では、Power Queryは同じスキーマの複数ファイルを一つの論理テーブルへ結合できます。フォルダー結合ではサンプルファイルを使って変換手順を作り、その変換を各ファイルへ適用します。CSVの公式例も、ファイルの構造・拡張子が同じことを前提にしています。したがって月次の列構造が変わる場合、結合操作だけで列の意味まで解決すると考えないでください。
-
対象フォルダーを指定し、ファイル名・拡張子・フォルダーパスを確認する。
-
対象外期間、テンポラリ、重複エクスポート、集計済みファイルを除外する。
-
月ごとの代表CSVで、文字コード、区切り、ヘッダー行、列名、列数を比較する。
-
サンプルファイル変換で固定行削除やヘッダー昇格を行うなら、全入力に同じ前提が成立するか確かめる。
-
列名正規化、型変換、必要列の選択を設計し、未知列・欠落列・意味の重複を例外表へ出す。
-
検証に通った入力だけを結合し、ファイル数・行数・主要合計を照合する。
フォルダー一覧には拡張子やフォルダーパスなどがあるため、結合前に必要なファイルだけを絞ります。最初のファイルをサンプルにした変換が全ファイルに当てはまらない場合、サンプル選択や変換条件を見直します。列名や型を変えた後は、後段の型変更ステップが古い列名を参照してエラーになっていないかも確認します。
列名と型を安全に正規化する
列名の置換は文字列の類似ではなく、意味・粒度・単位に基づいて決めます。判定を三つに分けると、曖昧な入力を黙って通さずに済みます。
-
自動変換:同じ業務定義と確認済みで、alias mapに登録済み。
-
保留:似ているが、計上日と発生日、税込と税抜、注文と明細などの違いが未確認。
-
停止:必須列の欠落、同一正規列への複数候補、集計へ影響する未知列がある。
列名の前後空白、全角・半角、記号違いは候補発見には役立ちますが、同じ項目の証明ではありません。新しい列名は初回に未対応列として記録し、意味を確定してからmapへ追加します。必須列の欠落は空欄やゼロで補わず、そのファイルの取り込みを止めます。任意列をNULLにする場合も、「列がない=値なし」という契約と適用件数を記録します。
型は列契約に沿って明示します。日付・金額・数量を変換するときは入力形式とロケールを確認し、変換失敗を空欄へ置き換えないでください。文字列の数値化は先頭ゼロ、桁区切り、負数表記、小数点の解釈を変えることがあります。変換前の非空件数、成功・失敗件数、NULL化した元値、ファイル名、行識別子、列名、理由を例外表に残します。
負数やゼロが許容されるか、数量に小数があり得るか、通貨が混在するかも業務定義で確認します。数値として読み込めたことは、意味が正しいことを示しません。税区分や通貨単位の違いがあるのに単純合計すると、型エラーがなくても誤った数字になります。
結合前後を三方向で照合する
全ファイルを読み込めたように見えても、入力漏れ、重複、欠落行、変換失敗があれば月次集計は信用できません。
ファイル台帳:入力対象ファイル数と、結合後のsource_fileのユニーク数を比べます。対象年月の抜け・重複、除外ファイル名と理由、同一ファイルの二重読み込みを確認します。
行数:ファイルごとにヘッダー・注記を除いたデータ行数を記録し、結合後の行数と比較します。除外や空行処理をした場合は件数と理由を分けます。差があれば、サンプル変換の行削除、ヘッダー位置、空行、隔離したエラー行を調べます。
数量・金額:金額合計のほか、NULL数、数量合計、伝票や明細のユニーク数などReader Jobに関係する値を選びます。合計が一致しても、重複と欠落が相殺されることがあるため、合計だけで検証完了にしません。必要に応じて月・通貨・税区分ごとに照合します。
照合表:
指標|元CSV|正規化後|差|判定
行数||||一致/差異
伝票ユニーク数||||一致/差異
数量合計||||一致/許容差
金額合計||||一致/差異
変換エラー||||0/理由確認済み
差が出たときは、許容値を後から合わせるのではなく、月・ファイル・列・行まで特定します。丸め差があるなら、丸める段階と規則を先に決めます。実際の出力がない状態で「検証済み」と記録してはいけません。
例外を後続へ流さない
各ファイルの結果を次の状態で記録します。
READY:列契約、型、行数、主要集計の検査を通過。
REVIEW:別名の意味、未知列、競合列が判断待ち。
FAILED:必須列なし、解析失敗、照合不一致などで停止。
EXCLUDED:対象外とする理由を記録済み。
REVIEWやFAILEDが残っているのに「全月分が揃った」と扱って後続集計へ流さないでください。月次成果物を出すなら、対象期間、入力ファイル一覧、除外・保留の数を添えます。
金額合計が違う場合は、対象ファイル、行数、エラー行、重複伝票、税・通貨、丸めを月別に分けます。全体合計へ手入力の補正値を足して一致させる方法は避けます。ファイル数は合うが重複が疑われる場合は、伝票ID・明細IDなど業務上一意なキーで候補を抽出し、合計一致を重複なしの証明として扱いません。
実務手順
-
作業コピーで対象ファイル名、期間、サイズ、更新日時を一覧化する。
-
各月のヘッダーを比べ、列名・意味・粒度・型・単位を入力台帳へ書く。
-
正規列の意味と必須条件を業務担当者と確認し、alias mapの承認済み行だけ使う。
-
サンプルファイルの前処理条件が全入力に当てはまることを確かめる。
-
未知列、欠落列、同義列の競合を例外一覧へ出す。
-
型を明示し、変換エラーを元値・ファイル・列ごとに記録する。
-
ファイルをREADY、REVIEW、FAILED、EXCLUDEDに分類する。
-
READYだけを結合し、ファイル数、行数、キー、数量・金額を照合する。
-
REVIEW/FAILEDの判断・修正・再実行結果を記録する。
-
入力一覧、alias mapの版、変換条件、照合結果を保存し、翌月は新しい差分だけ再確認する。
引き渡しチェックリスト
次工程へ渡す前に、対象期間・入力一覧・除外理由、列契約の版と承認者、承認済みalias map、未対応列一覧、型・ロケール・単位・税区分、月別入力行数と出力行数、重複件数、数量・金額照合、変換エラー、隔離行、REVIEW/FAILEDの扱い、実行日とクエリ版を確認します。未記入の項目がある場合は、値を推測せず担当者へ戻します。
次に行うことは、直近2〜3か月のCSVを作業コピーへ読み込み、ヘッダー比較表を埋めることです。正規列の意味・型・必須条件を担当者と合意してからalias mapを承認し、行数と主要合計の照合を通すまでは全期間の集計へ進まないでください。
Sources & scope
確認日:2026-10-15
Microsoft Power Query, Combine files overview: https://learn.microsoft.com/en-us/power-query/combine-files-overview(新しいタブで開く)
Microsoft Power Query, Combine CSV files: https://learn.microsoft.com/en-us/power-query/combine-files-csv(新しいタブで開く)
公式資料で、同じスキーマのファイル結合、サンプルファイル由来の変換を各ファイルへ適用する流れ、CSV例で同じ構造・拡張子が前提である点を確認しました。列名の業務上の意味、金額・税・単位の定義、対象CSVの結果は利用者側で確認が必要です。実ファイルでhands-on検証はしていません。
