Claude CodeでExcelを自動化する実務ガイド|月次レポート・予実管理・集計を爆速化する
Claude CodeによるExcel自動化の実務ガイド。openpyxl・xlwings・Claude for Excelの3手法を比較し、月次レポート・予実管理表・見積書一括生成・KPIダッシュボードの自動化手順を解説。
目次 クリックで開く
Claude CodeでExcelを自動化する実務ガイド|月次レポート・予実管理・集計表を爆速化する
「毎月末の集計作業に3時間かかっている」「Excelレポートの書式を崩さずにデータを更新したい」——こうした Excel 作業は Claude Code が最も得意とするタスクです。openpyxl を使ったスクリプト自動生成なら、テンプレートの書式・グラフ・数式を一切壊さずに、データの更新・集計・出力まで完全自動化できます。本記事では、3つのアプローチを比較しながら、月次レポート・予実管理・見積書生成の具体的な実装手順を解説します。

Claude Code × Excel 自動化の全体像:データ取得 → openpyxl でスクリプト生成 → テンプレートに書き込み → Excel 出力の自動化フロー
1. Excel 自動化の3アプローチ比較
Claude Code を使った Excel 自動化には、目的と習熟度に応じて3つの手法があります。
| 手法 | 難易度 | 書式・グラフ保持 | 向いている用途 |
|---|---|---|---|
| ① Claude for Excel (Copilot 連携・ノーコード) |
★☆☆ 低 | ◎ 既存ファイルに直接操作 | 数式生成・データ整形・グラフ作成 |
| ② openpyxl (スクリプト生成) |
★★☆ 中 | ◎ テンプレート書式を完全保持 | 定期レポート・集計・一括ファイル生成 |
| ③ CLAUDE.md + xlwings (VBA・マクロ連携) |
★★★ 高 | △ Excel を直接操作(マクロ維持) | 既存 VBA 資産の自動化・社内システム統合 |
openpyxl はセル単位で書き込みができ、既存テンプレートの書式・グラフ・名前付き範囲を保持したままデータ更新できます。Claude Code は「このスプレッドシートのB列にデータを書き込むスクリプトを書いて」と指示するだけで、適切なコードを生成します。Excelを知らなくても、Claude Code への指示だけで自動化が進みます。
2. 主要ユースケース4選
📈 月次売上レポートの自動作成
kintone や freee からデータを取得し、折れ線・棒グラフ付きの月次レポートテンプレートに自動転記。毎月末の集計作業を数分に短縮。
💰 予実管理表の自動更新
会計システムの実績データを予算シートに自動転記し、差異・達成率を色分けで表示。経営会議用の予実資料が自動で完成。
🔢 見積書・請求書の一括生成
案件リストから見積書 Excel を大量生成し、PDF 変換して自動送信。営業の見積作成工数を大幅削減。
📊 KPI ダッシュボードの自動更新
複数シートのデータを集約してサマリーダッシュボードを毎朝自動更新。手動コピペ作業をゼロにする。
3. openpyxl による月次レポート自動化:実装4ステップ
私たちが最も多く支援している openpyxl × Claude Code のアプローチを、月次売上レポートを例に解説します。
既存の月次レポート Excel を「template_monthly_report.xlsx」として保存。書式・グラフ・数式はそのまま維持し、データを書き込む先のセル範囲だけ確認しておく(例:B4:M20 が売上データ入力エリア)。
kintone API・freee API・BigQuery などから月次データを取得する方法を確認。CSV エクスポートでも可。Claude Code は「このデータを読み込んで」と指示するだけで対応する。
プロジェクトフォルダで Claude Code を起動し、「template_monthly_report.xlsx のB4セルから売上データを書き込んで、グラフを更新し、output/YYYY-MM_report.xlsx として保存するスクリプトを openpyxl で作成して」と指示する。
生成されたスクリプトを Windows タスクスケジューラや kintone の定期実行と連携。毎月1日の朝8時に自動実行し、Teams やメールで自動配信する。

Claude Code が openpyxl でグラフ付きの Excel レポートを自動生成している様子
Claude Code への指示例(プロンプト)
# CLAUDE.md またはチャットに直接貼る
## タスク
data/sales_data.csv を読み込み、
template/monthly_report_template.xlsx のデータエリアに転記して
output/ フォルダに「{年}年{月}月_売上レポート.xlsx」として保存するスクリプトを
openpyxl を使って作成してください。
## データ仕様
- CSV: A列=日付, B列=商品カテゴリ, C列=売上金額, D列=件数
- テンプレートのシート「データ」のB4から書き込む
- 月次合計はC列の SUM 数式がすでにあるので上書きしない
## 制約
- テンプレートのグラフ・書式・数式は変更しない
- 既存ファイルは上書きしない
- 出力前に「書き込みセル範囲: X件」をコンソールに表示する
- openpyxl の load_workbook で keep_vba=False, data_only=False
openpyxl でグラフ付きのテンプレートを扱う場合、
load_workbook(file, keep_vba=False) でテンプレートを読み込むことが重要です。Claude Code に「グラフは保持したまま」と明示するだけで、適切なオプションが自動的に設定されます。
4. 予実管理表の自動更新:実践パターン
私たちが支援したケースでは、毎月末に4時間かかっていた予実管理表の作成が、完全自動化で5分以内になりました。構成を紹介します。
| 処理 | 担当 | 方法 |
|---|---|---|
| 実績データ取得 | Claude Code | freee API から当月の損益データを取得 |
| 予算シートへの転記 | openpyxl | テンプレートの「実績」列に自動書き込み |
| 差異・達成率の計算 | テンプレートの数式 | Excel 数式が自動計算(openpyxl は上書きしない) |
| 条件付き書式の適用 | openpyxl | 未達成セルを赤・超過達成を緑に色付け |
| 配布 | Claude Code | Teams API または smtplib でメール添付送信 |
5. よくある失敗パターンと対策
| 失敗パターン | 原因 | Claude Code への対策指示 |
|---|---|---|
| グラフが消える・崩れる | ファイルを新規作成モードで保存してしまった | 「必ず load_workbook でテンプレートを読み込んで」と指示 |
| 数式が値に上書きされる | 数式セルに直接値を書き込んだ | 「数式セルは変更禁止。データ入力エリアのみ更新して」と指示 |
| セルの書式(色・フォント)がリセットされる | スタイルを引き継がずにセルを再作成 | 「既存セルのスタイルをコピーしてから値だけ更新して」と指示 |
| 日本語シート名でエラー | シート名の文字コード問題 | 「シート名は ws = wb[‘売上データ’] のように明示的に指定して」と指示 |
| 大量データで処理が遅い | セルを1件ずつ書き込んでいる | 「ws.append() または write_only モードでバルク書き込みして」と指示 |
6. xlwings で既存 VBA マクロと連携する(上級)
社内に長年使われてきた VBA マクロ付きの Excel ファイルがある場合、xlwings を使うことで Claude Code からマクロを呼び出せます。
xlwings の主な使い方
- マクロの実行:
wb.macro('マクロ名')(引数)で VBA マクロを Python から呼び出し - セルの読み書き:openpyxl より直感的な API で Excel を操作
- 数式の評価:Excel の計算エンジンを使って数式を評価(openpyxl では困難)
- ピボットテーブルの更新:xlwings から Refresh メソッドを呼び出し可能
xlwings は Windows 上の Excel がインストールされた環境でのみ動作します。サーバーサイドや Linux 環境では使えません。定期バッチをサーバーで動かしたい場合は openpyxl を選んでください。
7. CLAUDE.md で品質を標準化する
# CLAUDE.md(プロジェクトルートに配置)
## Excel 自動化ルール
### ファイル管理
- テンプレートは template/ フォルダにのみ保存(直接編集禁止)
- 出力先: output/YYYY-MM/ フォルダ(月別管理)
- ファイル名形式: {種別}_{YYYY-MM}_{顧客名}.xlsx
### openpyxl 使用ルール
- load_workbook(template_path) でテンプレートを読み込むこと
- 数式セルへの値書き込み禁止(データ入力エリアのみ更新)
- グラフ・ピボットテーブルの構造は変更しない
- 保存前に「更新セル数: N件」をログ出力すること
### 禁止事項
- テンプレートファイルへの直接書き込み
- Workbook() での新規作成(テンプレートを使うこと)
- データ行数が0件の場合でも空ファイルを出力しない
- パスワード保護の解除
8. kintone・freee と連携した集計自動化の全体像
私たちが支援した中堅製造業の事例では、kintone の受注データ・freee の請求データ・BigQuery の在庫データを統合し、毎月の経営会議用 Excel レポートを完全自動化しました。詳細なデータ統合の設計については、Claude Code × freee MCP の活用ガイドも参照してください。
9. よくある質問(FAQ)
- Q. xlsm(マクロ付き Excel)は扱えますか?
- A. openpyxl は .xlsm の読み書き自体は可能ですが、マクロの実行はできません。マクロを実行する場合は xlwings を使います。Claude Code に「.xlsm ファイルのデータシートにだけ書き込んで、マクロは維持して」と指示することで、マクロを保持したままデータ更新が可能です。
- Q. ピボットテーブルを自動更新できますか?
- A. openpyxl ではピボットテーブルの構造は保持されますが、データソースが変わったときの自動更新(Refresh)はできません。ピボットテーブルの Refresh が必要な場合は xlwings を使い、Claude Code に「ピボットテーブルをリフレッシュしてから保存して」と指示します。
- Q. Excel を PDF に変換して自動送信できますか?
- A. はい。Windows 環境では xlwings + Excel COM オートメーション で PDF 変換が可能です。Claude Code に「生成した Excel を PDF に変換して output/ に保存するコードも追加して」と指示すれば対応します。Linux/Mac 環境では LibreOffice のヘッドレスモードで変換できます。
- Q. 既存の Excel テンプレートを渡せば動きますか?
- A. はい。テンプレート Excel をプロジェクトフォルダに置き、Claude Code に「このテンプレートのXX列にデータを書き込むスクリプトを作って」と指示するだけで、テンプレートの構造を解析して適切なコードを生成します。複雑なシート構成でも対応可能です。
- Q. Word や PowerPoint の自動化とどう組み合わせられますか?
- A. Excel で集計・グラフ化したデータを、Word レポートや PowerPoint 資料に自動反映するパイプラインも構築できます。「Excel のグラフを画像としてエクスポートして PowerPoint に貼り込む」ような複合自動化も Claude Code への指示1つで実装できます。Word 自動化ガイド・PowerPoint 自動化ガイドも参照ください。
Excel 自動化を本格導入したい方へ
Aurant Technologies では、Claude Code を活用した Excel・Word・PowerPoint の文書自動化を、kintone・freee・BigQuery との連携設計も含めて一括支援しています。現状の業務フローをお聞かせいただき、最適な自動化設計をご提案します。
AI・業務自動化
ChatGPT・Claude APIを活用したAIエージェント開発、n8n・Difyによるワークフロー自動化で繰り返し業務を削減します。まずはどの業務をAI化できるか診断します。