機能 イベント お役立ち お知らせ

Claude CodeでExcelレポートを自動生成する方法|openpyxlで集計・グラフ・書式設定まで一括処理

Claude CodeでExcelレポートを自動生成する方法|openpyxlで集計・グラフ・書式設定まで一括処理

Excelレポートの作成が属人化している現場は多いです。毎週・毎月のレポート作成で、書式のコピペ、グラフの再作成、シート構成の手直しが繰り返され、担当者が変わるとフォーマットが崩れます。集計ロジック自体は単純でも、見た目の再現に時間を取られるのが実態です。

Claude Code は、openpyxl のコードを自然言語で指示して生成できるため、CSV の取り込みからセル書式、グラフ挿入、シート構成まで一括で処理できます。週次マーケレポートの自動化で Markdown 出力に触れましたが、社内共有や経営報告では Excel 形式が求められる場面も多く、その場合は openpyxl でのファイル生成が実務に合います。


本記事のポイント

  1. Claude Codeはopenpyxlのコードを自然言語で指示して生成できるため、セル書式、条件付き書式、グラフ挿入まで手作業なしで設定できる。
  2. Excel自動化の実務的な起点は、入力CSVの列定義とシート構成を先に固定することであり、集計ロジックはその後に組む方が手戻りが少ない。
  3. 週次レポートや月次報告書のように定型フォーマットがある業務は、テンプレートExcelへの書き込みパターンで回すとチーム展開しやすい。

導入を検討すべき判断ポイント

  • 週次・月次のExcelレポートを毎回コピペとグラフ再作成で仕上げており、担当者が変わると書式が崩れる
  • CSVデータはあるが、Excel上での集計・グラフ・書式設定を手動で繰り返しており、作成に1時間以上かかっている
  • 経営報告や営業会議向けに「見た目の整ったExcel」が必要だが、スクリプトを書ける人がチームにいない

集計ロジックより書式・グラフ・シート構成の再現に時間がかかっているチームほど、Claude Code + openpyxl の効果が出ます。

Claude CodeでExcel操作ができる仕組み

Claude Code は Python コードを生成・実行できるため、openpyxl や xlsxwriter といった Excel 操作ライブラリを自然言語の指示で扱えます。「このCSVを読み込んで、A列にヘッダーを太字で入れ、B2:B10に棒グラフを挿入して」と伝えれば、対応する Python スクリプトが出力されます。

openpyxl は読み書き両対応で、既存 Excel の編集にも使えます。xlsxwriter は書き込み専用ですが、グラフや書式の表現力が高いのが特徴です。実務では、テンプレート Excel に書き込む場合は openpyxl、ゼロから新規生成する場合は xlsxwriter が向いています。

比較軸Claude Code + openpyxl手作業(Excel GUI)Google Sheets AI
書式設定コードで完全再現。毎回同じ出力手動。担当者ごとにばらつくセル単位の補助。全体制御は弱い
グラフ挿入種類・位置・データ範囲を指定可能毎回手動で範囲選択自動提案あるが配置制御が限定的
複数シート処理ループで一括生成1シートずつ手作業Apps Script併用が必要
再現性高い。スクリプトをそのまま再実行低い。属人的中。シート構成変更の影響を受ける
共有形式.xlsx で社内外に配布しやすい.xlsx だが手作業コスト大リンク共有。オフラインに弱い

Google Sheets の AI 機能はセル単位の補助には向きますが、複数シートを横断してグラフ付き Excel を毎週出すなら Claude Code の方が制御しやすくなります。

基本:CSVからExcelへの変換と書式設定

最初のステップは、入力 CSV の列定義と出力 Excel のシート構成を固定することです。集計ロジックはその後に組む方が手戻りが少なくなります。

excel-report-project/
          input/
            sales-data.csv        # 営業実績CSV
            pipeline.csv          # パイプラインCSV
          templates/
            report-template.xlsx  # 書式付きテンプレート(任意)
          rules/
            report-rules.md       # 列マッピング、書式ルール
          output/
            weekly-sales-report.xlsx
        

Claude Code への指示例は次のとおりです。

# Claude Code への指示例
        input/sales-data.csv を読み込み、output/weekly-sales-report.xlsx へ出力して。
        - シート名は「営業実績」
        - 1行目はヘッダー。太字、背景色 #4472C4、文字色 白
        - A列〜F列の幅を自動調整
        - 金額列(D列)は3桁カンマ区切り
        - 合計行を最終行の下に追加し、SUM関数を入れる
        

このレベルの指示で、openpyxl のコードが生成されます。セル幅の自動調整、条件付き書式(たとえば達成率80%未満を赤にする)、罫線の設定まで自然言語で追加指示できます。

応用:複数シート集計とグラフ挿入

実務では、月別や担当者別に複数シートを持つ Excel が求められます。Claude Code なら、CSV のカテゴリ列でグループ化し、シートを自動分割できます。

# 複数シート + グラフの指示例
        input/sales-data.csv を担当者別にシート分割して output/monthly-report.xlsx へ出力。
        - 各シートに担当者名をシート名として設定
        - 各シートの最終行に合計を追加
        - 「サマリー」シートを先頭に作り、担当者別の合計を一覧化
        - サマリーシートに棒グラフを挿入(担当者 × 売上合計)
        - グラフの位置は H2 セル、サイズは幅15cm × 高さ10cm
        

openpyxl の BarChart、LineChart、PieChart などを使い分けることで、棒グラフ、折れ線グラフ、円グラフのいずれも挿入できます。グラフのタイトル、軸ラベル、凡例の位置もコードで制御できるため、毎回同じ見た目で出力されます。

ポイントは、グラフのデータ範囲をシート上のセル参照で渡すことです。Claude Code に「B2:B10 を系列データ、A2:A10 をカテゴリに使って」と伝えれば、Reference オブジェクトの生成まで含めてコードが出ます。

実務例:週次営業レポートの自動生成

週次マーケレポートでは Markdown 出力を扱いましたが、営業チームや経営層への共有では Excel 形式が求められるケースが多いです。以下は週次営業レポートの実務フローです。

ステップ作業内容Claude Codeの役割
1. データ取得SFA / CRM から CSV エクスポート対象外(人が実行)
2. 前処理列名の統一、欠損値の補完CSV読み込み時に自動処理
3. 集計担当者別、ステージ別の件数・金額pandas + openpyxl で集計
4. 書式設定ヘッダー、罫線、条件付き書式openpyxl で一括設定
5. グラフ挿入パイプライン推移、達成率BarChart / LineChart を挿入
6. 出力.xlsx として保存output/ へ保存

毎週同じスクリプトを実行するだけで、同じフォーマットの Excel が出力されます。担当者が変わっても書式が崩れず、前週との比較も同じ粒度で残ります。テンプレート Excel に書き込むパターンにしておけば、会社のロゴやフッターもそのまま維持できます。

Google Sheetsとの使い分け

Excel と Google Sheets のどちらで出すかは、配布先と編集権限で決まります。

判断軸Excel(openpyxl)Google Sheets
配布形式.xlsx ファイル。メール添付、社外共有に強いURL共有。社内リアルタイム編集に強い
書式制御細かい制御が可能。印刷レイアウトも対応制限あり。印刷向きではない
グラフopenpyxl で種類・配置を完全制御自動提案あり。細かい制御はApps Script
マクロVBAマクロ対応(.xlsm)Apps Script(別言語)
オフライン対応制限あり

Google Sheets でのデータ整備は Claude Code でリード情報を Google Sheets 上でクリーニングする方法、Sheets の AI 機能については Google Sheets AI(Gemini)の活用を参照してください。経営報告書や社外向け資料など「見た目の固定」が必要な場面では Excel、チーム内のリアルタイム共有が優先なら Google Sheets という使い分けが実務的です。

導入後に見るべきKPI

段階先に見る数字見落としやすい論点
初期導入レポート作成時間、手戻り回数書式だけ整って中身の集計定義が曖昧
運用定着週次提出率、フォーマット逸脱率スクリプトが動いていても誰も中身を見ていない
改善フェーズレポート起点の意思決定数、会議時間の変化レポートの見た目が目的化し、アクションにつながっていない

KPI 設計の基本は マーケティングKPI の記事で整理しています。レポート自動化の目的は「作る時間を減らす」だけでなく、「毎回同じ粒度で判断材料を出す」ことです。

よくある質問

xlsxwriterとの違いは?

openpyxl は既存 Excel の読み込み・編集ができますが、xlsxwriter は新規作成専用です。テンプレート Excel に書き込む運用なら openpyxl 一択です。ゼロから高品質なグラフを生成する場合は xlsxwriter の方が表現力が高い場面もあります。Claude Code はどちらのコードも生成できるので、用途に合わせて使い分けられます。

マクロ付きExcelも扱える?

openpyxl は .xlsm(マクロ有効ブック)の読み書きに対応しています。ただし、VBA マクロのコード自体を Claude Code で生成・編集するのは openpyxl の範囲外です。マクロを保持したままデータやシートを更新する用途であれば問題なく動きます。

グラフの種類はどこまで対応?

openpyxl は棒グラフ(BarChart)、折れ線(LineChart)、円グラフ(PieChart)、散布図(ScatterChart)、面グラフ(AreaChart)などに対応しています。複合グラフ(棒 + 折れ線)も作成可能です。Claude Code に「売上を棒グラフ、達成率を折れ線で重ねて」と指示すれば、対応するコードが出力されます。

既存Excelの読み込みもできる?

openpyxl の最大の強みが既存ファイルの読み書きです。テンプレート Excel を読み込み、特定のセル範囲にデータを流し込み、保存するパターンが実務では最も多いです。会社のロゴ、ヘッダー・フッター、印刷設定を維持したまま中身だけ更新できます。

公開情報と責任主体

本記事は 2026年2月6日時点の運用前提で、ファネルAi編集部が執筆し、ファネルAi監修チームがレビューしています。更新方針は レビュー方針 に沿います。ここで示すファイル構成やコード指示例は運用設計を理解するための例であり、実際の導入では自社のCSV列定義、シート構成、配布先に合わせて調整してください。

関連ページと関連記事

Excelレポートの自動化は、データの前処理、レポート設計、営業・経営への接続まで並べて見ると全体像が掴みやすくなります。

Excelレポート自動化をPoCから固めたい場合

記事で見えてきた自動化の論点を、PoCの進め方や実装範囲まで含めて具体化したい場合は、超速AI PoC も確認しておくと判断しやすくなります。

相談前に整理しておくと早い3項目

  • 自動化したいExcelレポートの現物と、入力元CSV・データソースの一覧を用意する
  • 出力Excelのシート構成、グラフの種類・配置、書式ルールを現行レポートから洗い出す
  • 配布先(社内チーム、経営層、社外)と更新頻度(週次・月次)を決めておく

この前提があると、PoCで作るべきスクリプトの範囲とテンプレート設計を短時間で固められます。

超速AI PoCを見る

ブログ一覧へ戻る