本文へスキップ
NeoLogic
NeoLogic

12行・37,000円のはずが、10行・28,000円。Power Queryの月次CSV集計で見落としを防ぐ

CSVをまとめた後、件数と金額が合っているかを確かめる実務ガイド。先頭ゼロ、列名変更、コピー、日付エラーを含む3か月分の例で、集計に入れる行と問い合わせが必要な行を見分けます。CSVと照合表付き。

CSV集計から抜けた2行9,000円のエラーと空欄を確認する図

Power Queryで月次CSVを集計するときの見落としは、取り込む前の件数・金額と、更新後の集計を比べると見つかります。合わない分は、列名の変更、コピーの重複、日付や空欄のエラーに分けて調べます。

月末に届くCSVを一つずつ開き、前月の表へ貼り付けて合計する。毎回同じ作業なら、Power Queryで取込みと変換の手順を保存できます。3か月の正規データが12行・37,000円の例で考えます(想定例)。エラーと空欄の2行を外した結果は10行・28,000円で、2行・9,000円が不足します。

集計前に分けるもの 見る場所 この例での扱い
正常な行 取込み後の明細 列名統一・コピー除外後、未訂正の正常行は10行・28,000円
確認が必要な行 エラー・空欄の一覧 日付エラーと商品コード空欄の2行・9,000円を照会
届いていないファイル 受領予定の台帳 今回の正規3本は受領済み。未着なら明細に現れないため台帳で発見

出力元で確かめた訂正を反映してから更新し直し、12行・37,000円に戻るかを確かめます。取込み手順は、サンプルの変換を各ファイルへ適用するMicrosoftのファイル結合の説明に沿って整理しています。

集計前に決める条件と、更新後に数字を確かめる方法を扱います。利用するExcelの版によって接続先や取込みの対応が異なるため、設定操作はMicrosoftの版別対応表と公式のデータ取込み手順に従ってください。

ファイル名と、列の意味をそろえる

まず「何が届けば、その月の入力がそろったといえるか」を決めます。フォルダーに今あるファイルだけを正解とすると、届いていないファイルを発見できません。取込みとは別に、対象月、予定ファイル名、受領状況、出力元の件数・金額を控えておきます。

使うデータは、2026年6〜8月の正規CSVが各月1本、各4行です。1行を1取引とし、取引IDは3か月を通して一意、金額は円単位の整数です。税計算・通貨換算・丸めは行いません。

固定するもの この例のルール 固定する理由
ファイルと対象月 sales_202606.csv=2026-06。7月・8月も同じ対応 名前だけでなく、CSV内の対象月と日付の月も照合する
必須列 対象月、取引ID、商品コード、日付、金額 足りない列と、意味の変わった列を区別する
IDと商品コード 文字列。商品コードは00123など5桁 数値として処理して先頭ゼロを失わない
日付・文字コード 日付はyyyy-MM-dd、CSVはUTF-8、区切りはカンマ 月日の解釈や日本語の読込みをそろえる

入力、元データの保管、集計結果の保存先は分けます。フォルダー接続ではサブフォルダーも読込み対象になります。保管用フォルダーを入力フォルダーの中へ置く場合は、対象パスを絞り、集計結果や訂正前のファイルが再び入力へ入らないようにします(出典:Microsoftのフォルダー接続の説明)。

商品コードは、サンプルの取込み段階から文字列にします。自動の型判定で数値へ変換されないことを確かめます。数値になった後で文字列へ変えても、失われたゼロは戻りません。元CSV自体にゼロがない場合は、桁数を推測して補わず出力元に問い合わせます(出典:Microsoftの型と自動検出の説明)。

集計対象から外すファイルと、残す出力

ファイル一覧では、受領台帳で採用したCSVだけを対象にします。今回の8月のコピーは正規版と同じ内容だと確かめて対象外にし、除外理由を残します。ファイル名、対象月、文字コード、区切り、必要な列がそろった段階で結合します。

出力する表 残す内容 今回の例
正常明細 元ファイル名・取引ID・商品コード・日付・金額 未訂正では10行・28,000円
確認が必要な行 元の値・保留理由・照会先・確認結果 日付エラーとコード空欄の2行・9,000円
月別の照合表 受領予定、出力元の件数・金額、正常明細との差 8月だけ2行・9,000円不足

一つの正常なファイルで決めた変換を、各ファイルへ適用するのがPower Queryのファイル結合です。ただし列名の意味が変わった場合は、結合する前に対応を決めます(出典:Microsoftのファイル結合の説明)。

配布CSVは受領時、列名統一・コピー除外後、日付・空欄の訂正後の3フォルダーに分かれています。一度に使うのは一つの段階だけです。親フォルダー全体を対象にすると、同じ取引を何度も取り込みます。

列名の変更と、行の値のエラーを分ける

7月の「商品CD」は、同じ意味と分かった場合だけ「商品コード」へ統一します。受領原本は保管し、取込み用のコピーを修正するか、照合済みの対応表を変換処理に組み込みます。両方の列が存在する、金額の税区分が変わった、といった場合は単純な名称変更では処理しません。

存在しない列を参照すると、処理全体が止まるステップ単位のエラーになることがあります。一方、8月の「2026-08-32」は日付へ変換できない値です。正常明細から分け、元ファイル名・取引ID・変換前の日付を照会用の一覧へ残します。ファイル全体が読めない場合は、受領台帳側で未処理として止めます(出典:Microsoftのエラー処理の説明)。

商品コードの空欄は、日付の変換エラーと同じではありません。null・空文字・空白だけの値を別に数えます。対象月が予定と違う行、日付の月が対象月と違う行も同様です。必須項目の空欄、期間違い、ID重複を見つける条件も設定します。

コピーと訂正版を見分ける

同じ月のファイルが2本ある場合は、コピーか訂正版かを見分けます。訂正版なら、どちらを正式に採用するかを出力元に聞き、旧版を対象外にします。この例では8月のコピー1本が4行・15,000円分重複しています。4本の元CSVを機械的に足すと16行・52,000円ですが、採用する正規3本は12行・37,000円です。

行単位の重複も取引IDで調べます。ただし実務で1取引が複数明細を持つなら、取引IDだけでなく明細番号などを組み合わせます。商品コードが同じ取引は、別々に発生することがあります。Power Queryの[重複の削除]では、どの訂正版が正しいかは判断できず、先頭行が必ず残る保証もありません。削除より先に、重複候補と採用ルールを確認します(出典:Microsoftの重複値の説明)。

列名・先頭ゼロ・日付・コピーを5行の抜粋で照合する

表1 列名統一後・日付と空欄の修正前の明細(想定例・抜粋)。照合件数は、集計対象なら1、保留・対象外なら0です。コピーは4行すべて対象外とし、表では1行だけ示しています。

ファイル名 対象月 取引ID 商品コード 日付 金額(円) エラー理由・確認内容 照合件数
sales_202606.csv 2026-06 T2606-001 00123 2026-06-03 1,200 なし。先頭ゼロを維持 1
sales_202607.csv 2026-07 T2607-001 00123 2026-07-03 1,800 商品CD→商品コード(確認済み) 1
sales_202608.csv 2026-08 T2608-003 00007 2026-08-32 4,000 日付エラー 0
sales_202608.csv 2026-08 T2608-004 (空欄) 2026-08-25 5,000 商品コード空欄 0
sales_202608_copy.csv 2026-08 T2608-001 00123 2026-08-03 2,500 重複ファイル。4行とも対象外 0

12行・37,000円と合わないとき

取込み後は、元ファイル名と対象月でグループ化し、「行数」と「金額の合計」を出します。Power Queryには、複数列でまとめて行数や合計を求める機能があります(出典:Microsoftのグループ化の説明)。

照合先には、取込み前に出力元で数えた件数・合計を使います。変換済みクエリを二つに複製して比較しても、同じ行を失っていれば一致してしまいます。また、受領予定の台帳を起点に比較すれば、ファイル全体の未着も見つかります。

今回、列名を統一し、重複コピーを除いた後でも、日付エラーと商品コード空欄の2行は未解決です。この2行を除いた「正常な行だけ」の表は10行・28,000円になります。元の12行・37,000円と比べて2行・9,000円不足しているため、完成した月次集計として配布しません。

表2 元データ控えと更新結果の照合(架空例)。修正前は列名統一・重複除外済みで、日付・空欄の2行を保留した状態です。各月の正規ファイルは1本、金額は円単位・丸めなしです。

対象月 元件数 元金額(円) 修正前件数 修正前金額(円) 修正後件数 修正後金額(円)
2026-06 4 10,000 4 10,000 4 10,000
2026-07 4 12,000 4 12,000 4 12,000
2026-08 4 15,000 2 6,000 4 15,000
合計 12 37,000 10 28,000 12 37,000

この例では、T2608-003の正しい日付を2026-08-23、T2608-004の商品コードを00456とする照会済みの控えを用意しています。実務ではこの値を推測せず、出力元に照会します。訂正後に再更新し、ファイル別の差異、未解決行、重複候補がなくなったことを確かめます。件数・金額が一致しても、同額の別取引への入替えまでは分からないため、採用ファイルとIDも照らし合わせます。

照合Excelには、修正前・修正後の記入例と空欄版があります。「明細_空欄」の入力列へ結果を記入し、「照合_空欄」に出力元の件数・金額と受領確認を入力すると、差異を数式で計算します。CSVへ自動接続するブックではなく、取込み結果を照合するテンプレートです。更新完了、対象期間、確認者、確定日時を記録してから配布します。配布ブックの再計算・入力規則も、利用するExcelで確認してください。

自分で作って、翌月も更新だけで集計する

照合表は、取込み結果を書き写して確かめる用紙です。毎月同じ手順を繰り返すなら、フォルダーを読み込むクエリを一度作り、翌月はCSVを置いて更新するだけにできます。上の規則で作った完成ブックと、そのクエリの全文を配布しています(想定例)。

表3 完成ブックのクエリと役割

クエリ 表示するシート 役割
入力フォルダー なし 読み込むフォルダーの場所。パラメーターとして変更する
ファイル一覧 ファイル一覧 フォルダー直下のCSVを並べ、sales_年月.csvの形だけを採用する。コピー等は理由付きで対象外として残す
正常明細 正常明細 列名をそろえ、取引IDと商品コードを文字列のまま読み、問題のない行だけを残す
確認が必要な行 確認が必要な行 日付が読めない、商品コードが空欄、取引IDの重複等を、元の値と理由付きで残す
月別集計 月別集計 ファイルごとの行数と金額。「照合」シートで出力元の控えと比べる

使うときは、まずCSVサンプルのZIPを展開します。完成ブックを開き、[データ]→[データの取得]→[Power Query エディターの起動]→[パラメーターの管理]で、入力フォルダーを展開した01_rawの場所に変えます。閉じて読み込み、[すべて更新]を押します。

入力フォルダー 期待する結果
01_raw 採用3本・対象外1本(コピー)。正常明細10行・28,000円、確認が必要な行2行・9,000円
03_corrected 正常明細12行・37,000円、確認が必要な行0行
03_corrected+9月分のCSV 正常明細16行・48,000円。4行・11,000円だけ増える

同じフォルダーのまま更新し直しても、行は増えません。クエリは毎回フォルダーの中身を読み直し、前回の結果に足し込まないためです。翌月分は、同じ名前の形でフォルダーへ置いてから更新します。

「確認が必要な行」が0行になり、「照合」シートで出力元の件数・金額との差が0になった月だけを、集計結果として使います。確認が必要な行は、クエリで値を補わず、出力元が訂正したCSVで更新し直します。

画面の操作だけで作る場合は、[フォルダーから]→[結合]で自動的に加わる「変更された型」の手順に注意します。商品コードが数値として読まれ、先頭の0が消えることがあるためです。この手順を消し、取引IDと商品コードは文字列のまま残します。M式を[詳細エディター]へ貼り付けて作ることもできます。

フォルダーから読み込む機能は、Excelの版やOSによって使えない場合があります(Microsoftの版別対応表)。フォルダーの場所は利用者ごとに違うため、他の人へ渡すときは入力フォルダーを設定し直してもらいます。

配布CSVを、クエリと別の方法で検算した結果

2026年10月26日、配布ZIPのCSVをPython 3で直接読み、元データ控え・ファイル名・取引ID・件数・金額を照合しました。クエリの集計結果をコピーして比べたものではありません。独立検算用のコードと使い方は、完成ブックのZIPにも追加しました。これは入力データの検算であり、ExcelやPower Queryを動かした結果ではありません。

確認した入力 独立検算の結果
01_raw 正規3本とコピー1本を区別。正常10行・28,000円、確認待ち2行・9,000円
03_corrected 正常12行・37,000円、確認待ち0行
訂正済みに9月分を追加 正常16行・48,000円。追加分は4行・11,000円
同じ訂正済み入力を再検算 12行・37,000円のまま

さらに二つの反例を入れました。7月分を外すと受領予定の3本と一致しません。一方、1件の取引IDだけを同額の別IDへ変えると、12行・37,000円は一致してしまいます。後者は元のIDの控えと比べて発見しました。件数・金額の一致と、意図した取引がそろうことは別の確認です。

配布する完成ブックでは、入力フォルダー直下のCSVだけを対象にする条件をM式へ入れています。親フォルダーを指定しても、下の3段階のCSVを自動的にまとめる作りではありません。使う段階のフォルダーを一つ選んでください。一般のフォルダー取込みがサブフォルダーも読むこととは区別します。

Excelで最初に確かめるのは、①入力フォルダーを正しく指定できたか、②「確認が必要な行」が2行から0行へ変わるか、③9月追加後に4行・11,000円だけ増えるか、です。更新に失敗した場合は、前回表示された値を今回の成功結果として使わず、クエリのエラーと最終更新時刻を見ます。Excelでの更新・数式の再計算・利用版での表示は、配布CSVの検算とは別に確認してください。

自分で進める範囲と、相談する範囲

今の状態 次に進めること
毎月同じ列で、担当者が更新できる 完成ブックで一回分を取り込み、元の件数・金額と照合する
部署ごとに列が違い、訂正や例外が多い 入力の見本と完成表を用意し、列の対応・確認待ち・再更新を整理する
端末を開かずに処理したい、複数人で結果を確認したい 実行する場所、更新時刻、失敗の確認方法も含めて選ぶ

後ろの二つに当てはまる場合は、Excel・CSV集計の自動化で、取込みから照合・帳票出力までを相談できます。

毎月同じ作業を続けられるか

ファイルの形式をそろえられ、月次更新で間に合い、更新担当と代行者を決められるなら、まず既存Excel内で改善する余地があります。独自システムの開発を最初の条件にする必要はありません。引継ぎには、入力場所、対象ファイル、列の意味、エラーの問い合わせ先、照合方法、確定する人を残します。

一方、複数人が同じ原データを同時更新する、入力直後の反映が必要、担当者の端末を開かずに処理を継続したい、といった要件は、取込み手順の保存とは別の課題です。複数人による同時更新や即時処理の基盤を、Power Queryだけで代替しないことを判断の境界にします。Excelの共同編集機能の有無に加え、元データを誰が更新するか、訂正をどう残すかを整理します。

件数だけで一律の移行基準は決めません。手元の環境で更新が業務の締切に間に合うか、ファイルの置き場所や権限を引き継げるか、失敗時にやり直せるかを試します。難しい場合は、既製の集計・可視化サービスや共有データベースとの組合せも比較します。

共有やWeb化まで検討する段階では、Excel共有をWeb化する前に決める3つのことで、権限・履歴・移行範囲を整理できます。形式の違うCSV、訂正の扱い、照合結果の点検まで具体的に相談したい場合は、入力の見本と完成させたい集計表、今回の照合表をそろえます。Excelの設定で足りる部分と追加対応が必要な部分を分けて考えられます。

集計表を作った後、売上・入金・原価を同じ画面で見比べたい場合は、業務ダッシュボードの開発が関連します。未確定の原価や更新待ちを、確定した数字と分けて表示する例です。

集計が合わないとき、最初に調べる場所

  • 件数や金額が増えた: 同じ月のコピー・訂正版、前回の出力、サブフォルダーを重ねて読んでいないか確かめる。重複を削る前に、採用するファイルを出力元と決めます。
  • 件数や金額が減った: 受領予定と実際のファイルを比べ、エラーや空欄として分けた行の件数・金額を足し合わせる。正常な行だけで月次集計を確定しません。
  • 件数と金額は合うが、商品や日付がおかしい: 先頭ゼロ、列名の対応、対象月を元CSVと照合する。合計が一致しても、内訳が正しいとは限りません。

まず今月のCSVを1本選び、出力元の件数・金額と更新後の明細を見比べてください。登録・即時処理・無人実行も必要なら、事務自動化の選び方|Power Query・GAS・RPAで、処理の方法を比較できます。

Excel・CSV集計と定期レポートの自動化

参考出典

あわせて読む

ExcelのWeb化を、利用者・履歴・対象業務から判断する。ガイド

Excel共有をWeb画面に変える前に決める3つのこと

誰がどこまで触れるか、何の履歴を残すか、どこまで移すか。この3点を、Excel継続・部分移行・Web化の例で比べます。役割別の権限表と部分移行の記入見本を使い、自社に必要な範囲を絞れます。