月ごとに分かれた売上CSVをひとつにして、
月別・曜日別の売上を出す手順
2026年9月27日
レジやネットショップの管理画面から売上を落とすと、たいてい月ごとに別のCSVになります。
半年分を見たいだけなのに、6個のファイルを開いて貼り合わせるのが最初の壁です。
ここでは、CSV結合ツールで1つにしてから、Excel(またはGoogleスプレッドシート)で月別・曜日別を出すまでを書きます。
1. CSVを1つにまとめる
- 管理画面から、欲しい期間のCSVを月ごとに落とし、1つのフォルダに入れる。ファイル名に年月が入っていると(2026-01.csv など)、そのまま時系列に並びます。
- CSV結合ツールを開き、ファイルをまとめてドロップする。
- 「1行目は見出し。列名で揃える」のまま、「結合してダウンロード」。
ファイルはブラウザの中で処理され、どこにも送られません。
文字コード(Shift_JISとUTF-8)は自動で見分けるので、レジ系とネット系が混ざっていても大丈夫です。
出てくるファイルは UTF-8(BOM付き)で、Excelでそのまま開いても文字化けしません。
途中で列の名前が変わっているCSV(「金額」が「売上金額」になった、など)は、別の列として扱われます。
結合後にどちらかの列を選んで、もう片方の値を貼り付けて1列にしてください。列名の前後の空白は自動で無視します。
2. Excelで開いて、日付を「日付」にする
CSVの日付は、開いたときに文字のままになることがあります(「2026/01/05」が左寄せで表示されていたら文字です)。
文字のままだと月でまとめられないので、先に直します。
- Excel:日付の列を選んで「データ」→「区切り位置」→ そのまま「次へ」を2回 → 列のデータ形式で「日付(YMD)」→ 完了。これで一括で日付になります。
- Googleスプレッドシート:列を選んで「表示形式」→「数字」→「日付」。それでも直らないときは、隣に
=DATEVALUE(A2) の列を作って値を貼り付けます。
右寄せになったら日付として認識されています。
3. 曜日の列を足す
日付の隣に列を1つ足して、次の式を入れて下までコピーします(A列が日付の場合)。
=CHOOSE(WEEKDAY(A2),"日","月","火","水","木","金","土")
ExcelとGoogleスプレッドシートの両方で同じように動きます(Excelだけなら =TEXT(A2,"aaa") でも出ますが、スプレッドシートでは英語になります)。
4. ピボットテーブルで月別・曜日別
- 表のどこかを選んで、「挿入」→「ピボットテーブル」(スプレッドシートは「挿入」→「ピボット テーブル」)。
- 月別:行に「日付」、値に「金額」(合計)。Excelは日付を行に入れると自動で月にまとまります。まとまらないときは、行の日付を右クリック→「グループ化」→「月」。スプレッドシートは行の日付を右クリック→「ピボット日付グループを作成」→「年-月」。
- 曜日別:行を「曜日」に替えて、値は「金額」の合計と、「日付」の個数(=その曜日が何日あったか)。合計 ÷ 日数で、曜日ごとの1日平均が出ます。
ピボットが苦手なら、=SUMIFS(金額の列, 曜日の列, "土") のように SUMIFS で1行ずつ出しても同じです。
5. 売上・仕入帳に写す場合
日ごとの合計が出たら、売上・仕入帳の「日々の売上」に1日1行で写せば、仕入・経費と合わせた「月のまとめ」(粗利・手残り・客単価)まで出ます。
レジのCSVに客数(会計件数)があれば、客数の列にも写しておくと客単価が出ます。
つまずきやすいところ
- 合計が合わない。CSVに「小計」「合計」の行が入っていることがあります。結合前に見本のCSVを1つ開いて、末尾に合計行があれば、結合後にその行を消します。
- 返品・キャンセルがマイナスで入っている。売上として正しいのはマイナス込みの合計です。件数を数えるときは、マイナス行を除くかどうかを決めておきます。
- 1回の会計が複数行になっている。商品ごとに1行のCSVでは、「日付の個数」は会計件数ではなく商品行数です。会計件数は「注文番号」の重複を除いて数えます(ピボットの「重複しない値の数」、またはスプレッドシートの
COUNTUNIQUE)。
- 金額が文字になっている。「¥1,200」のように記号付きで入っていると数字になりません。「¥」と「,」を置換で消してから使います。
毎月同じ作業をしているなら
この手順を毎月くり返しているなら、CSVを入れるだけで月別・曜日別・売上・仕入帳への転記まで済む形に、自動化する相談を受けています。
まず、いまのCSV(個人情報は消したもの)と、最後に見たい表の形を送ってください。頼み方はこちら。