- CSVの集計と、AIによる報告文作成の役割分担
- 無料テンプレートで、自動更新と停止を試す手順
- 操作動画・画像付き手順で、本講座から学べること
この記事の目次
売上CSVの集計を自動化したい。調べてみると、Google Apps Script、n8n、Claude、ChatGPTと候補がいくつも出てきて、どれを選べばいいのか迷います。
想定する場面をひとつ置きます。小さな店舗やECの担当者が、毎月CSVを書き出して表計算ソフトに貼り、集計し直し、グラフを作り直している、という状況です。この繰り返しを自動化できれば、貼り付け・集計・グラフの作り直しが減り、商品ランキングや月別の変化を、仕入れや販促を考える材料としてすぐ見られるようになります。
この記事では、この「売上CSVの集計」を例に、4つの方法を入力・実行役・出力・設定場所・条件で比べます。先に結論を書くと、集計そのものを自動化する最初の一歩はApps Script、他のアプリと連携させたいならn8n、集計結果から文章を定期的に作りたいならClaudeやChatGPT、という分担です。全部を同時に入れる必要はありません。
Apps Script版は、ASUNOが無料テンプレートとして配布していて、実際のGoogle環境で動作を確認しています(2026年9月18日)。n8n・Claude・ChatGPTの部分は、公式ドキュメントをもとにした構成例で、このテンプレートで設定されるものではありません。
例題:売上CSVからダッシュボードと月次報告を作る

- 入力:Google Driveの専用フォルダに置いた売上CSV。列は record_id, sales_date, product_id, product_name, category, quantity, unit_price_yen, sales_yen で、1行が売上明細1件
- 出力:Googleスプレッドシートのダッシュボード(売上合計・販売数・行数、月別棒グラフ、商品別売上ランキング)、明細、取込ログ、月次報告
月次報告は、対象期間・売上・販売数をまとめた定型の表です。AIが原因を分析した文章ではありません。「数字の表を作る処理」と「表から文章を作る処理」は別もの、という区別がツール選びの軸になります。
4つの方法の比較表
| 項目 | Apps Script | n8n | Claudeの定期タスク | ChatGPTの定期タスク |
|---|---|---|---|---|
| 向いている処理 | 表の集計、グラフの更新 | 複数のアプリをまたぐ連携、通知 | 報告文など文章の定期作成 | 報告文など文章の定期作成 |
| 入力 | DriveフォルダのCSV | 連携ノードで取得したファイルやデータ | コネクタで接続したデータ、Claudeに保存したファイル | 共有・接続したファイルやツール、チャットの文脈。WebからPCのフォルダは直接読めない |
| 実行役 | Googleの時間主導トリガー | n8nのSchedule Trigger | Claude側のスケジュール | ChatGPT側のスケジュール |
| 出力 | スプレッドシートの4シート | 各ノードの書き込み先、通知 | 報告文などの成果物 | 報告文などの成果物 |
| 設定場所 | スプレッドシートの拡張機能→Apps Script | n8nのワークフロー編集画面 | サイドバーの「Scheduled」 | 「Scheduled」 |
| 条件 | Googleアカウント。AIのAPIは不要。Googleの利用上限あり | n8nの実行環境とGoogle連携の認証。AIをAPIで使うなら利用料が別 | 対象プランと提供状況を確認 | 対象プランと利用環境を確認 |
| この記事での扱い | 配布あり・動作確認済み | 構成例(未検証) | 構成例(未検証) | 構成例(未検証) |
Apps Script版:配布テンプレートで再現する
Google Apps Scriptは、Googleスプレッドシートの「拡張機能」から開ける実行環境です。配布テンプレートには完成版のCode.gsとappsscript.json、架空CSVが入っていて、次の3段階で再現できます。
準備
- Google Driveに実習専用のフォルダを作り、初期CSV3個を直下にアップロードする
- 空のGoogleスプレッドシートを新規作成する。既存のシートは使わない(ダッシュボード・明細・取込ログ・月次報告という名前のシートを更新するため)
- 「拡張機能」→「Apps Script」を開き、Code.gsを貼り付ける
- CONFIG.folderIdを、DriveのURLで folders/ の後ろにある文字列に置き換える
- プロジェクトの設定からappsscript.jsonを表示し、配布のものに置き換えて保存する
初回実行と照合
関数refreshSalesを選んで実行し、Googleの権限確認を読んで承認します。求められるのはDriveの読み取り、このシートの編集、トリガーの管理です。Driveの権限そのものは1フォルダに限定されないため、読む対象はコード側で指定フォルダに絞っています。
シートに戻って、462行・4,834,260円とグラフが出ていれば成功です。
定期更新と停止
関数startAutoUpdateを実行すると、15分ごとの時間主導トリガーが1つ作られます。追加用CSV(2026-09-16の1個)をフォルダに入れ、次の実行の後に468行・4,886,400円(+6行・+52,140円)になっていれば、自動更新が働いています。数字はいずれも架空データの実習値です。

時間主導トリガーは、アップロードの瞬間や指定時刻ぴったりに動くものではありません。Googleの公式ガイドでも、実行時刻は多少ずれることがあると説明されています。止めるときはstopAutoUpdateを実行し、左のトリガー一覧からrefreshSalesが消えたことを確認します。
仕組みの要点:毎回、全件から作り直す
このテンプレートは、新しいファイルの分だけを表に足していく方式ではありません。元のCSVには手を加えず、フォルダの全件を読んで集計し直し、表を作り替えます。時間主導の定期実行では、フォルダに変更がなければその回はスキップします。手動でrefreshSalesを実行したときは、変更がなくても集計し直します。
この方式だと、「どのファイルまで処理したか」を別に記録して管理する必要がありません。前回の結果に上乗せしていく処理がなく、同じIDで全列が一致する行は重複として1回だけ計上します。ただし、これで二重計上が絶対に起きなくなるわけではありません。同じ売上が別のIDで入っていれば、別の売上として数えられます。CSVをフォルダから外せば次回の集計からも外れるので、フォルダの中身がそのまま集計の範囲になります。処理済みファイルの台帳や差分追記は、データ量が大きい場合などに選ぶ設計のひとつで、自動化に必ず必要なものではありません。
データのチェックは次のとおりです。
- 同じIDで、全列が一致する行は重複とみなし、1回だけ計上する
- IDが同じなのに内容が違う行があれば、集計を止めて取込ログに要確認と残す
- 数量×単価が売上と合っているかを検証する
- 入力に不備があれば、前回の正常な集計を保つ
なお、スプレッドシートへの書き込み途中で障害が起きた場合まで、一括で取り消せる仕組みではありません。扱える規模は最大20個のCSV・1ファイル1MB・合計10,000行で、返金・負の数・小数には追加の設計が必要です。
n8n:他のアプリへつなぐ構成例
ここからは未検証の構成例です。n8nは、処理をノードという部品でつないでワークフローを作るツールです。同じ売上集計なら、たとえば次の流れが考えられます。
Schedule Trigger → Google DriveからフォルダのCSVを取得 → CSVを行データに変換 → 集計 → Google Sheetsへ書き込み → チャットやメールで通知
価値が出るのは最後の部分です。「集計が終わったら担当者に知らせる」「別のアプリにも同じ数字を送る」といった連携を、画面上で目に見える部品として組めます。
Schedule Triggerの公式ドキュメントによると、定期実行させるにはワークフローを保存してPublishする必要があります。実行時刻はワークフローのタイムゾーン設定、なければインスタンスの設定に従い、セルフホストの既定はニューヨーク時間です。日本時間で動かすなら設定の確認が欠かせません。
費用の考え方もApps Script版と違います。Apps Script版はGoogleアカウントの範囲で動き、AIのAPIも使いません。n8nは、クラウド版を使うか自分でホストするかの実行環境と、Google連携の認証が必要です。ワークフローの中でAIをAPI経由で呼ぶ場合は、その利用料が別にかかります。ChatGPTやClaudeのチャット用の月額契約に含まれるものではありません。
ClaudeとChatGPT:集計結果から文章を定期的に作る
ClaudeとChatGPTの定期タスクは、CSVの集計そのものより、集計結果を読んで報告文を下書きするような文章づくりの定期処理に向いています。どちらも、通常のチャットに1回頼んだだけでは継続実行にはならず、タスクとして登録して初めて繰り返し動きます。以下も未検証の構成例です。
Claude
公式ヘルプでは、サイドバーの「Scheduled」から「New task」を選び、指示、頻度(毎時・毎日・毎週・平日・手動)、作業場所などを設定します。会話の中で「毎週月曜の9時に」のように頼んで登録する方法も案内されています。実行履歴の確認、一時停止、再開、削除も同じ画面からできます。
実行のされ方は、タスクの中身で分かれます。
- クラウドで実行するタスクは、PCがスリープ中でも、アプリを閉じていても動きます。対象はコネクタで接続したデータと、Claudeのアカウントに保存したファイルで、PCのフォルダには紐づけられません
- ローカルのファイルやアプリに依存するタスクは、ローカルでの実行になります。この場合はPC側の環境が前提です
どちらの場合も、Google Driveを勝手に読むわけではありません。コネクタを自分で接続して初めて読めます。公式ヘルプでは有料プラン向けの機能として案内されていて、画面は切り替えの途中でもあるので、自分の環境で提供状況を確認してください。
使い方の例は、「毎週月曜の朝、売上スプレッドシートの月次報告を読み、事実・仮説・次に確認するデータに分けた報告文を下書きする」です。
ChatGPT
公式ドキュメントでは、定期タスクは「Scheduled」で、実行中・一時停止中・完了の状態と最近の実行結果を確認できます。
Webの定期タスクが、PCのフォルダを直接読みにいくわけではありません。対象のファイルを共有するか、ツールを接続しておく必要があります。デスクトップアプリではローカルのプロジェクトを扱えますが、その場合はPCの電源を入れ、アプリを起動したままにしておくことが条件です。使える機能はプランと環境によって変わります。
スケジュールに登録する前に、まず通常のチャットで同じプロンプトを手動で試すこと、動かし始めたら最初の数回は出力を自分で確認することも勧められています。これはどのツールにも通じる進め方です。
どちらを使う場合も、売上だけのCSVからは利益や客数、増減の理由は分かりません。AIには「事実」と「仮説」を分けて書かせるのが安全です。
選び方の目安
- 表とグラフを自動で更新したい → Apps Script
- 集計のあとに通知したい、他のアプリにも流したい → n8nを足す
- 数字をもとにした報告文の下書きが定期的にほしい → ClaudeかChatGPTの定期タスク
順番としては、まずApps Script版で「数字が合う状態」を作るのがおすすめです。土台の数字が信頼できて初めて、通知や文章化を足す意味が出てきます。
無料版で1つ動かして、自分の仕事に合わせるまで
ASUNOの無料教材ページでは、完成版のCode.gsとappsscript.json、架空CSV(初期3個、追加用1個、重複・不備のテスト用)、README、AIへのカスタマイズ依頼文に加えて、準備から停止までの画像付き手順、ツール選択表、結果の見本を配布しています。無料の範囲だけで、462行から468行への自動更新と停止まで再現できます。最初の一歩は、これを1つ動かすことです。
動かしたあとは、「この設定は何をしているのか」「止まったらどこを見て、どう戻すのか」が次の関心になります。ASUNOの本講座では、5本の操作動画・画像付き手順・完成コードで、次の5章を順にたどります。
- 毎月のCSVを、見て判断できる売上へ
- CSVの置き場と、集計するシートを用意する
- 実行して、数字とグラフを確かめる
- CSVを追加し、自動更新と停止まで確かめる
- 重複と入力ミスを見つけ、安心して使い回す
設定の意味と失敗時の復旧が分かれば、列の違う自分のCSVや、別の繰り返し作業に合わせて作り替える判断ができるようになります。この記事で構成例として触れたn8n連携のほか、AIでの資料作成、請求書整理の講座もASUNOにはあります。まず無料版で手を動かし、自分の仕事に近いところから広げてみてください。
売上管理講座では、5本の操作動画・画像付き手順・完成コードで、準備から自動更新と停止、重複や入力ミスの見つけ方までを画面の動きで確認できます。全講座プランでは、AI自動化、資料作成、プログラミング、AWSなどの講座も同じ形式で学べます。料金は月額2,980円・年額29,800円(税込・予定)で、決済の受付は準備中です。無料登録だけで課金されることはありません。詳しくは講座の内容・料金を見るから確認できます。
毎月の集計を、
自分で動かせる仕組みに。
完成例だけでは分からない、設定する場所、確かめる数字、止まったときの見直し方。操作動画と画像付き手順で、一つずつ身につけます。
- 操作を追える動画・画像付き手順書
- 講座ごとのテンプレート・プロンプト・完成例
- AI活用からアプリ開発・AWSまで、公開中の全講座が対象