Excelレポート自動化実践:n8n + Claude + Notionの三点セットで週報作成時間を4時間から12分に短縮
n8nでワークフローを実行し、Claudeが要約を作成、Notionにバージョン管理を行います。38名のB2B企業の週報作成時間を4時間から12分に短縮し、月間12.6時間の工数削減を実現。構築期間は2週間、月額運用費用は1,420元です。
なぜn8n + Claude + Notionの三点セットを使うのか(単一ツールではない理由)
経営者からは「Excelレポート自動化は単一ツールで十分では?RPAを購入すれば良いのでは?」とよく質問されます。
私たちは3社の中小企業で実装を行い、単一ツールでは対応困難であることを確認しました。各ツールが役割を分担し合うことで安定稼働を実現しています。
n8nの役割:「ワークフローの骨格」- スケジューリング、ファイル取得、条件分岐、エラーリトライ
n8nはワークフローエンジンであり、ビジネスロジックエンジンではありません。毎週月曜9時にトリガーし、Google DriveからExcelを取得、ファイルがなければ3回リトライ、処理失敗時はSlackに通知を送る役割を担います。
「なぜ今週の業績が低下したのか」といった判断はClaudeの役割です。n8nの価値は繰り返し実行しても問題なく、休暇もなく、途中で処理が止まることがない点にあります。
Claudeの役割:「意味解析」- 数値の読み取り、差異の解釈、人間が理解できる要約作成
ここが従来のRPAが苦手とする部分です。RPAは複数のExcelを結合し、前週比の差異を抽出できますが、「第三シフトの応答時間が12分から28分に延びたのは、木曜夜の新規スタッフ2名が研修中であるため」といった要約は作成できません。
Claudeは構造を理解し、異常を検出し、管理者が直接閲覧できる文章を作成します。詳細はClaude + MCPの企業内活用をご参照ください。
Notionの役割:「結果の保存」- バージョン管理、意思決定の軌跡、部門間共有
Notionは単なるデータベースではなく、「対話記録+意思決定の軌跡」として活用します。毎週の要約、管理者からの質問、後続の対応アクションをNotion DBに記録。次回管理者から「先月の異常はどう対応したか?」と問われた際にすぐに回答可能です。
Notionに記録しなければ、3ヶ月後に管理者が数字の出所を疑問視した際、元のExcelを再計算する必要があります。
三つのツールを組み合わせる理由は、単独ではそれぞれの課題を解決できないためです。n8n単体では意味要約ができず、Claude単体ではスケジューリングができず、Notion単体では元データを取得できません。
事例背景:38名のB2B企業における週報の課題
この企業は中規模製造業向けSaaSを販売し、6名のカスタマーサポートチームが毎週「カスタマーサポート週次パフォーマンスレポート」を運営管理者に提出しています。
従来の4時間プロセス:サポートデータのエクスポート → 手動結合 → 手動注釈 → 管理者へ送付
毎週月曜朝、サポート管理者は以下の5ステップを実施します:
- サポートシステムから3種類のExcel(着信数、応答時間、満足度)をエクスポート
- vlookupでマスターテーブルに結合
- 各項目の前週比および月平均を計算
- 600字程度の「今週のポイント+異常説明+来週の重点」を記述
- メールで管理者に送付し、Notionにアップロード
全工程で約4時間かかり、通常は9時から13時までかかります。途中でエンジニアからの問い合わせも多く、作業が中断されます。
真のボトルネックは結合ではなく「差異注釈の作成」に90分かかる点
プロセスを分解すると、最初の4ステップで90分かかりますが、最も時間を要するのは5ステップ目の「差異注釈の記述」です。
管理者は「なぜ第三シフトの応答時間が急に延びたのか?離職、研修、シフト配置の問題か?」といった判断を、前週、前月、同時期の顧客クレーム、シフト表を参照しながら行います。
この注釈作成に毎週90分を費やし、内容も定型化しがちで、管理者は差異を読み取りにくくなっていました。
過去にRPAやZapierで失敗した理由(意味解析ができなかった)
過去に2回自動化を試みました:
1回目はUiPathで前4ステップをロボット化しましたが、5ステップ目の人間らしい要約は作成できず、結局管理者が90分かけて手作業で記述しました。
2回目はZapierとChatGPTを連携しましたが、プロンプトが曖昧で週ごとにスタイルが不統一、時には数値の誤記もあり、管理者は3週間で信頼を失いました。
私たちが介入した際、管理者は「中途半端な自動化はもう要らない。時間を節約するか、手作業を続けるかどちらかにしてほしい」と話していました。
三点セットの構成図とデータフロー
パイプラインは5段階:トリガー → ファイル取得 → 処理 → 書き戻し → 失敗処理。各段階は1つ以上のn8nノードに対応します。
トリガー層:n8nのcron(毎週月曜9時)+ webhookによるバックアップ
メインフローはn8nのSchedule Triggerで週月曜9時に起動します。ただしサポートシステムのファイル出力が遅れ9時30分になることもあるため、webhookも設置し、ファイル出力完了後にn8nを呼び出します。
2つの入口は後続ノードを共有し、どちらかが成功すれば当週の処理完了とマークし、再実行は行いません。
n8nのセルフホストとクラウド版のコスト差についてはn8nセルフホストとクラウドの2026年展望をご参照ください。
ファイル取得層:n8nのGoogle Driveノードでサポートが出力したExcelを取得+簡易カラム検証
n8nのGoogle Driveノードはサービスアカウントを使い、特定フォルダの当週Excel(ファイル名規則:weekly-cs-{YYYY-MM-DD}.xlsx)を取得します。
取得後、以下3点を検証します:ファイルサイズが10KB以上(空ファイル回避)、必須カラムが揃っているか(着信数、応答時間、満足度)、カラムのデータ型が正しいか(数値が文字列でないか)。
いずれかの検証に失敗した場合は失敗処理層へ移行し、Claudeのトークン消費を抑制します。
処理層:n8nのHTTP Requestノード経由でClaudeに当週+前週データを送信
n8nは当週と前週のExcelを読み込み、Codeノードで比較対象カラムを抽出し、簡潔なJSONを生成します。
その後、HTTP RequestノードでAnthropic API(https://api.anthropic.com/v1/messages)にプロンプトとJSONデータを送信し、markdown形式の要約を受け取ります。
Claudeの呼び出しは毎週約8,500トークン(入力6,200+出力2,300)で、コストは約18台湾ドルです。
書き戻し層:Claudeのmarkdown要約をn8nでNotion DBに書き込み→Slackへ通知
Claudeからのmarkdownをn8nが解析し、Notion DBの以下カラムにマッピングします:
- 週次(例:2026-W19)
- 要約(markdown全文)
- 異常項目(カンマ区切りキーワード)
- 前週比変化(パーセンテージ)
- raw payload(元JSONのR2ストレージリンク)
Notion書き込み後、SlackにNotionページリンクと要約の冒頭200字を通知。管理者はスマホでSlackを開くだけで内容を確認可能です。
失敗処理:Notionにraw payloadを保存+Slackで人力介入を通知
いずれかのノードで失敗した場合、n8nはError Triggerサブフローに移行し、エラーメッセージと当時のrawデータをNotionの失敗記録DBに保存し、Slackでエンジニアに通知します。
これによりワークフローが停止してもrawデータは失われず、人力で要約作成に切り替え可能です。
Claudeプロンプト設計のポイント:Excel全体を渡さないこと
多くの方はExcel全体をcsvに変換してClaudeに渡す簡単な方法を試しますが、実際にはトークン消費が3倍になり、モデルがカラムの意味を把握できず、カラム順序も誤認することがあります。
まずn8nでExcelを必要なカラムだけ抽出し、簡潔なJSONに変換
n8nのCodeノードで前処理を行います。元のExcelは60カラムありますが、週報に必要なのは12カラムのみです。
JSON構造は以下のようになります:
{
"week": "2026-W19",
"previous_week": "2026-W18",
"metrics": {
"incoming_count": {"current": 1842, "previous": 1601, "change_pct": 15.1},
"first_response_min": {"current": 14.2, "previous": 12.1, "change_pct": 17.4},
"csat": {"current": 4.6, "previous": 4.7, "change_pct": -2.1}
},
"shift_breakdown": [
{"shift": "morning", "agents": 3, "incoming": 612, "first_response_min": 11.8},
{"shift": "afternoon", "agents": 2, "incoming": 824, "first_response_min": 13.5},
{"shift": "evening", "agents": 3, "incoming": 406, "first_response_min": 28.1}
],
"anomalies_hint": ["evening shift first_response_min +132% vs previous"]
}
トークン消費はExcel全体の約28,000から約6,200に削減され、モデルの応答品質も向上します。
プロンプトは3段構成:背景+データ+出力形式
プロンプトは必ず3段に分け、混ぜないこと。背景では会社の状況、製品、チーム規模を説明し、データはJSONで渡し、出力形式はmarkdownで段落分けと異常項目の⚠️マークを指定します。
この構造により毎週スタイルが一定化し、管理者は特定の段落順序に慣れます。
なぜcsvを直接渡さないか:トークン増加と意味把握の困難さ
実際に同じExcelをcsvで渡す場合とJSONで渡す場合を比較しました:
| 方法 | 入力トークン数 | 出力品質 | 異常検出 |
|---|---|---|---|
| csv直接渡し | 約28,000 | 段落が混乱 | 5件中2件漏れ |
| JSON変換後渡し | 約6,200 | 構造が明確 | 5件中5件検出 |
差はClaudeの性能低下ではなく、csvに意味情報がなく、モデルが数値の意味を認識できないためです。
すぐ使えるプロンプトテンプレート(プレースホルダー付き)
以下はお客様が実際に使用している簡易版です。ご自由にご活用ください:
あなたは{{COMPANY_NAME}}のカスタマーサポート運営分析担当者です。毎週のカスタマーサポートパフォーマンス週報の要約を作成してください。
# 背景
- 会社規模:{{TEAM_SIZE}}名、カスタマーサポートチーム{{CS_TEAM_SIZE}}名
- 製品:{{PRODUCT_TYPE}}
- 管理者の関心事項:応答時間、着信数、満足度
- 異常閾値:単一指標の前週比変化が15%以上は異常とみなす
# データ(JSON)
{{METRICS_JSON}}
# 出力形式(厳格)
- markdownのみを出力し、前後に説明文を加えない
- 構成は4段落:## 本週のポイント(3行以内)/ ## 異常説明(項目ごと)/ ## 来週の重点(2行以内)/ ## 備考
- 異常項目は先頭に⚠️を付ける
- 数値の後に変化率(例:応答時間14.2分 ⚠️ +17.4%)を記載
- 「以上の分析」や「この報告がお役に立てば幸いです」などの定型文は書かない
プレースホルダーはn8nのSetノードで置換後、HTTP Requestに渡します。
ワークフローのノード化についてはn8n + Claude Skills + MCPのworkflowノード化をご覧ください。トークン課金ルールはAnthropic Claude API messagesドキュメントを参照してください。
実際のコストと時間:2週間で構築、月額1,420元で運用
経営者が最も気にするのは「どれくらいの期間で稼働できるか」と「月額費用」です。
構築コスト:コンサルティングで1週間、n8nフロー構築3日、プロンプト調整3日
構築手順は以下の通りです:
- 1週目:カスタマーサポート管理者と4時間の現行プロセスを詳細に分解し、必要な12カラム、よくある5つの質問、異常定義を確認
- 2週目前半3日:n8nでトリガー、ファイル取得、前処理、書き戻しの4ノードを構築し、空のプロンプトでフローを通す
- 2週目後半3日:4週間分の過去データでプロンプトを調整し、管理者が3週目のレポートを「これが欲しかった形式」と認めるまで繰り返す
経験者の外注で2週間、社内初導入の場合は約4週間かかります。
月額運用費用:Claude API約720元、n8nクラウド約600元、Notionは既存利用
月額費用内訳:
| 項目 | 月額費用 | 説明 |
|---|---|---|
| Claude API(sonnet 4.6) | NT$720 | 4週×約18元+リトライや他ワークフロー共有分含む |
| n8nクラウド(スタータープラン) | NT$600 | 月5,000実行回数、当案件は約200回使用 |
| Notion | 0 | 既存ライセンス利用 |
| Google Workspace | 0 | 既存利用 |
| 合計 | NT$1,320 | 雑費100元を加え、合計NT$1,420 |
セルフホストn8n(VPS月300元)を利用すればさらに300元節約可能です。
時間節約効果:週次でカスタマーサポート3.5時間+管理者0.5時間、月間12.6時間削減
カスタマーサポート管理者は週3.5時間節約(従来4時間→12分でチェック+微調整)、運営管理者は週0.5時間節約(5つのExcelを確認する代わりに要約を読むだけ)。
月4.2週換算で、カスタマーサポート管理者は16時間、運営管理者は2時間、合計18時間節約。月3回程度の小トラブル対応に1.8時間×3回=5.4時間を要するため、純粋な節約時間は12.6時間です。
6ヶ月以内の投資回収:36,000元の構築費用÷月8,820元節約=約4.9ヶ月で回収
回収計算:
- 構築費用:36,000元(コンサル費+社内協力時間)
- 月間人件費節約:12.6時間×700元/時間=8,820元
- 月間純節約:8,820元-1,420元(月運用費)=7,400元
- 回収期間:36,000元÷7,400元≒4.9ヶ月
余裕を持って6ヶ月以内に回収可能と見ています。詳細は自動化前後のROI計算方法をご参照ください。本事例は「まず時間を節約し、その後顧客単価を計算する」典型的なパターンです。
90日間導入ロードマップ:まず1レポートを完成させてから拡張
多くの企業は最初から全レポートの自動化を目指しますが、部門ごとにルールが異なり、特定レポートの例外でつまずき、プロジェクトが停滞します。
D0~D14:毎週必須かつルールが単純なレポートを選定し着手
選定基準は3点:毎週必須(例:月次・四半期報告は除く)、カラムロジックが頻繁に変わらない、問題発生時に部門の混乱が少ない。
典型例はカスタマーサポート週報、営業週報、製品利用週報です。まず1つに絞り、完成後に拡張します。
D15~D45:管理者が最も頻繁に質問する3つの比較カラム(前週比、同期比、警告閾値)を追加
初版リリース後、管理者から「Xも見たい」と要望が出ることが多いです。最も多い3項目に絞って追加し、全項目を詰め込まないことが重要です。
通常は前週比(先週との比較)、同期比(前年同週との比較)、警告閾値(2週連続超過で赤マーク)です。
D46~D90:同テンプレートで2つ目のレポートを作成し、3つ目以降はセルフサービステンプレートで他部門に展開
45日目に1つ目のレポートが安定稼働したら、ワークフローをコピーしプロンプト変数を変更して2つ目のレポートを作成。通常1週間で完了します。
90日目には2つの定期レポートと1つのテンプレートが完成し、他部門はテンプレートを使い、プロンプトの変更方法を学ぶだけで自動化可能です。
5つの注意点:同じ失敗を繰り返さないために
3社の導入経験から5つのよくある落とし穴をまとめました。ぜひご注意ください。
落とし穴1:n8nセルフホストでバックアップを取らず、ワークフロー再起動で全消失
対策:毎週ワークフローJSONをNotionにエクスポートしバージョン管理、Gitリポジトリにも保存。コンテナアップグレード前にスナップショットを取得。コミュニティノードの使い方はn8n公式ドキュメント community nodeを参照。
落とし穴2:Claudeプロンプトが曖昧で要約の週ごとのスタイルが不統一
対策:プロンプトに厳格な出力形式、段落順序、禁止用語を明記。お客様の中には「『総括すると』などの定型句を使わない」と明示する例もあります。
落とし穴3:Excel全体をプロンプトに貼り付けてトークンが爆発的に増加
対策:n8nで必須カラムを抽出しJSON化し、Claudeには本当に必要な情報だけを渡す。60カラムのExcelでも実際に使うのは10~15カラムです。
落とし穴4:Notion DBのスキーマ設計が不十分で後からレポートの逆引きが困難
対策:1週目にスキーマを確定し、最低限「週次」「要約」「異常項目」「前週比」「raw payloadリンク」の5カラムを設ける。ビューも管理者用、チーム用、監査用を事前に用意。
落とし穴5:監査用のトレイルを残さず、管理者が数字の根拠を検証できない
対策:raw JSONはR2/S3に90日間保存し、Notionの記録にリンクを設置。数字の出所を問われた際に1分以内に回答可能にする。
もし貴社でも週報、月報、顧客レポートで「結合はできるが要約作成が負担」という課題をお持ちでしたら、私たちが分解してご支援いたします。
30分の戦略対話を予約すると、現在最も負担の大きいレポートを一緒に分析し、具体的かつ定量的な改善案をお持ち帰りいただけます。30分以内で実行可能な一歩をご提案します。
FAQ
Excelレポート自動化にn8n + Claude + Notionはどの規模の企業に適していますか?
20~150名規模が最適です。20名未満はレポート頻度やルールが安定せず自動化が逆効果になることがあります。150名以上はBIツール(TableauやPower BI)を導入済みの場合が多く、三点セットはBIツールで対応できない意味要約部分を補完する役割です。
2週間の構築後、自社でメンテナンス可能ですか?
n8nフローはほとんど変更不要で、主にClaudeプロンプトのメンテナンスが必要です。社内に「ワークフローに詳しく、markdown記述ができる」担当者(通常は業務分析や運営担当者)を1名選び、4時間のプロンプト調整トレーニングを受ければ自社で改修可能です。月平均1~2回、1回30分以内の調整が目安です。
失敗した場合のリカバリー方法は?
3段階のリカバリーがあります:
- 単週の失敗:n8nのError TriggerがSlackに通知し、カスタマーサポート管理者が手動で旧プロセスに戻して対応
- ワークフロー全体の障害:Notionに前週バージョンが保存されており、raw JSONもR2にあるため、単発で再実行可能
- Claude APIが利用不可:n8nがバックアップの簡易プロンプトに切り替え、暫定的に構造化要約を生成し、管理者に「ダウングレード版要約」として通知