結論:「毎月同じ手順で作るExcel」は、Claude Codeに要件を日本語で伝えるだけでPythonスクリプト化できる。VBAを自分で書ける必要も、pandasの文法を暗記する必要もない。
- 要点1:複数ブックの集計・転記・定型レポートのような「手順が決まっているExcel作業」が自動化の第一候補。判断が絡む作業は後回しでいい
- 要点2:実装はpandas+openpyxlが基本セット。Claude Codeがコードを書き、その場で実行して結果を検証するところまで一気通貫でやってくれる
- 要点3:属人化したVBAマクロは「仕様を読み解かせてからPythonに移植」の2段階で移行すると事故が少ない
対象読者:Excel集計・レポート作成に毎月時間を溶かしているエンジニア・情シス・経営企画・業務部門のDX担当者
今日やること:毎月やっているExcel作業を1つ選び、手順を箇条書きにしてClaude Codeに渡し「この作業をPythonで自動化して」と依頼してみる
「そのExcel、毎月何時間かけて作っていますか?」
企業向けのAI研修や導入支援の現場で、業務ヒアリングをすると必ず出てくるのがExcelです。
ある研修先の経理チームでは、月初の3営業日が「各部門から集まる数十個のExcelブックを開いて、決まったセルの値を集計用ブックに転記する」作業でほぼ埋まっていました。別の会社の営業企画では、販売管理システムからCSVを落として、ピボットを組み直して、先月と同じ体裁の報告資料に整形する作業が毎週発生していました。
共通しているのは、手順は完全に決まっているのに、人間の手でやっているという点です。手順が決まっている作業は、プログラムにできます。そしていまは、そのプログラムを自分で書く必要すらありません。Claude Codeに日本語で手順を説明すれば、コードを書いて、実行して、結果がおかしければ自分で直すところまでやってくれます。
この記事では、Excel業務をClaude Codeで自動化する手順を、そのまま使えるプロンプト例とコード付きで解説します。VBAマクラーの方向けに「秘伝のマクロをPythonへ移行する」手順も扱います。
(本記事の活用例は「実装パターン解説」として一般化した手法を紹介しています。登場する数値シナリオは想定モデルであり、効果は環境・データにより異なります)
なぜExcel自動化にClaude Codeなのか|VBA・RPAとの比較
Excel業務の自動化手段は昔からあります。VBAマクロ、RPAツール、Power Query。それでも私がClaude Code+Pythonの組み合わせを推す理由は、「作るコスト」と「保守するコスト」の両方が桁違いに下がったからです。
| 手段 | 作る難易度 | 保守性 | 弱点 |
|---|---|---|---|
| VBAマクロ | 中(書ける人が限られる) | 低(属人化しやすい) | 作者の退職で「開かずのマクロ」化。バージョン管理が困難 |
| RPAツール | 低〜中(GUI操作の記録) | 低(画面変更で壊れる) | ライセンス費用が継続発生。レイアウト変更に弱い |
| Power Query | 中 | 中 | Excel内で完結する反面、外部システム連携や条件分岐の自由度が低い |
| Claude Code+Python | 低(日本語で依頼) | 高(コードが残りGit管理できる) | Python実行環境の準備が最初だけ必要。生成コードの検証は人間の仕事 |
ポイントは保守性です。Claude Codeが生成するのは普通のPythonスクリプトなので、Gitで履歴管理でき、仕様変更も「この列が増えたから対応して」とClaude Codeに追撃依頼すれば済みます。VBAのように「作った人しか触れない」状態になりにくいんです。
Claude Codeが得意なExcel業務・不得意なExcel業務
すべてのExcel業務が自動化に向くわけではありません。研修で使っている判定基準がこれです。
- 得意(すぐ自動化すべき):複数ブックの集計・統合/CSVからの定型レポート生成/シート間転記/表記ゆれのクレンジング/フォーマット変換(Excel→CSV、CSV→整形済みExcel)
- 条件付きで得意:条件分岐のある仕分け(ルールを言語化できれば可)/グラフ付きレポート(体裁の要件定義が必要)
- 不得意(人間に残す):数値の妥当性判断/例外案件の扱いの決定/関係者との調整が絡む作業
「手順書が書ける作業か?」が分かれ目です。手順書にできるなら、その手順書がそのままClaude Codeへのプロンプトになります。
部門別|自動化候補になりやすいExcel業務マップ
「自社だとどれが該当するのか」を考えるための、部門別の典型例です。研修で業務棚卸しをすると、だいたいこの表のどこかに各社の「毎月の苦行」が収まります。
| 部門 | 典型的なExcel業務 | 自動化の型 |
|---|---|---|
| 経理・財務 | 部門別実績の集計、入金と請求台帳の突合、月次試算資料の整形 | 複数ブック統合+突合レポート(実践1・4の手法) |
| 営業・営業企画 | SFA/販売管理のCSVから週次実績レポート作成、目標比の集計、会議資料の更新 | CSV→定型レポート生成(実践2の手法) |
| 人事・労務 | 勤怠データの突合と異常値抽出、研修受講状況の名寄せ、組織改編時の名簿更新 | クレンジング+条件抽出(実践3の手法) |
| 情シス・DX推進 | 基幹システム出力の加工、旧VBAマクロの保守、ライセンス台帳の管理 | VBA移行+定期実行化(実践4・5の手法) |
| 購買・在庫管理 | 発注一覧と納品実績の突合、在庫アラートの抽出、仕入先別の集計 | 突合+条件抽出+通知(実践1・5の組み合わせ) |
要件の言語化テンプレート|手順書がそのままプロンプトになる
Excel自動化の成否は、プロンプトのテクニックではなく要件の言語化精度で決まります。私が研修で配っている「作業手順書→プロンプト変換テンプレート」がこれです。
【入力】どのファイルの、どのシートの、どの範囲か
例: input/フォルダの全xlsx、「実績」シート、ヘッダーは3行目
【処理】何を、どういうルールで加工するか
例: 部門別に縦結合し、商品カテゴリ別に金額を合計
【出力】どこに、どんな形式・体裁で出すか
例: output/report.xlsx、テンプレートの体裁を維持
【例外】イレギュラーが来たらどうするか
例: シート名が違うブックはスキップして最後に一覧報告
【禁止】やってはいけないこと
例: 元ファイルの上書き禁止、欠損値の推測補完禁止
この5項目が埋まっていれば、Claude Codeはほぼ一発で意図どおりのスクリプトを出してきます。逆に「いい感じに集計して」のような曖昧な依頼は、AIの解釈と自分の暗黙の前提がズレて手戻りします。埋まらない項目があったら、それは自分でも作業ルールを決めていなかった箇所です。自動化のついでに業務ルールが明文化されるのは、副産物として想像以上に大きい。
実際、支援先のある営業企画担当の方は「テンプレートを埋める過程で、前任者から引き継いだ手順の3割が実は不要だと気づいた」と話していました。自動化は業務の断捨離でもあります。
事前準備|環境構築とExcel業務用CLAUDE.md
必要なもの
準備は3つだけです。
- Claude Code — ターミナルで動くCLI版が基本。導入手順はClaude Code公式ドキュメントを参照してください
- Python実行環境 — Python 3系。環境構築自体もClaude Codeに「この環境にPythonとpandas、openpyxlをセットアップして」と頼めます
- pandas+openpyxl — Excel処理の定番ライブラリ。pandasが集計・変換、openpyxlがセル書式・レイアウト操作の担当です
「ターミナルは不安」という業務部門の方は、まず非エンジニアのClaude Code活用7選でWeb版から入る方法を確認してからでも遅くありません。
Excel業務用CLAUDE.mdの書き方
Claude Codeはプロジェクトフォルダ直下のCLAUDE.mdを毎回読み込みます。ここに「うちのExcelの前提」を書いておくと、毎回同じ説明を繰り返さずに済みます。私が支援先に渡しているテンプレートの骨子がこちらです。
# CLAUDE.md(Excel業務自動化プロジェクト)
## このプロジェクトの目的
月次の部門別売上集計を自動化する
## データの前提
- input/ に各部門のExcelブックが入る(部門名.xlsx、毎月10個前後)
- 各ブックの「実績」シートのB4:E15に当月データがある
- 1行目はヘッダーではなくタイトル行。ヘッダーは3行目
- 金額はすべて税抜・円単位
## 出力の前提
- output/monthly_report_YYYYMM.xlsx に集計結果を出す
- 既存の output/template.xlsx の体裁を維持する
## 禁止事項
- input/ 配下のファイルを上書き・削除しない
- 元データに存在しない数値を補完・推測で埋めない
特に効くのが「禁止事項」です。元データを書き換えない・欠損を推測で埋めないの2つを明記しておくだけで、データ事故のリスクが大きく下がります。CLAUDE.mdの設計を深掘りしたい方はCLAUDE.md設計・運用ガイドもどうぞ。
実践1|複数ブックの集計・統合を自動化する
いちばん依頼が多いパターンから。部門ごとに別ブックで届く実績を1つに束ねる作業です。プロンプトはこの程度で十分動きます。
プロンプト例1:
input/ フォルダにある全部の .xlsx を読んで、各ブックの「実績」シートを1つのデータフレームに縦結合してください。どのブック由来か分かるように「部門名」列を追加(ファイル名から拡張子を除いたもの)。結合結果を output/merged.xlsx に保存して、行数と部門数をレポートしてください。
Claude Codeが生成するコードの典型例はこうなります。
import pandas as pd
from pathlib import Path
frames = []
for path in sorted(Path("input").glob("*.xlsx")):
df = pd.read_excel(path, sheet_name="実績", header=2)
df["部門名"] = path.stem
frames.append(df)
merged = pd.concat(frames, ignore_index=True)
merged.to_excel("output/merged.xlsx", index=False)
print(f"部門数: {len(frames)} / 行数: {len(merged)}")
ここで重要なのは、Claude Codeはコードを書くだけでなく、その場で実行して結果を確認してくれることです。「ヘッダーが3行目じゃないブックが1個あります」のような不整合も、実行時のエラーから自分で気づいて対処案を出してきます。ChatGPTにコードを書かせて自分で実行する運用との最大の違いはここです。
個人的な体験を1つ。私自身、自社の請求管理で「月次の入金一覧と請求台帳の突合」を手作業でやっていた時期がありました。Claude Codeに突合ルールを渡してスクリプト化してからは、毎月の確認が「スクリプトを実行して差分だけ見る」に変わりました。差分ゼロなら数十秒で終わります。
実践2|定型レポートの自動生成(体裁込み)
集計はできても「上司に出せる見た目」にするのが面倒、という声も多い。openpyxlを使えば、罫線・塗り・列幅までコードで再現できます。
プロンプト例2:
output/merged.xlsx を部門別・商品カテゴリ別にピボット集計して、月次報告書を作ってください。体裁の要件:1行目にタイトル「2026年6月度 部門別売上集計」、ヘッダー行は白文字・背景 #007a8a、金額列は3桁カンマ区切り、合計行は太字。列幅は内容に合わせて自動調整。output/report_202606.xlsx に保存。
体裁の要件を日本語で列挙するだけで、openpyxlのスタイル指定コードまで書いてくれます。参考に、生成コードのスタイル部分の抜粋です。
from openpyxl.styles import Font, PatternFill
header_fill = PatternFill("solid", fgColor="007A8A")
header_font = Font(color="FFFFFF", bold=True)
for cell in ws[2]: # ヘッダー行
cell.fill = header_fill
cell.font = header_font
for cell in ws["C"]: # 金額列
cell.number_format = "#,##0"
一度この「レポート生成スクリプト」ができてしまえば、翌月からは入力ファイルを差し替えて実行するだけです。毎月の作業が「作る」から「確認する」に変わります。
グラフが必要な場合も、openpyxlは棒グラフ・折れ線グラフの埋め込みに対応しているので「部門別売上の棒グラフをD20セルの位置に追加して」と要件に足すだけです。ただし経験上、グラフの細かい見た目調整はExcelの手作業のほうが速いこともあります。「データと表は自動生成、最終の見せ方の微調整だけ人間」という分担も現実的な落としどころです。すべてを自動化しようとして要件定義が肥大化するより、8割自動・2割手動で回し始めるほうが定着します。
グラフや分析コメントまで含めた高度なレポートを作りたい場合は、Claude Codeでデータ分析を効率化する実践ガイドで前処理から可視化までの流れを解説しています。
実践3|データクレンジングと表記ゆれの一括修正
Excel自動化で地味に効くのがクレンジングです。「株式会社」と「(株)」、全角と半角、余計な空白。人間が目視で直すと数時間かかる作業が、ルールを言語化すれば数分で終わります。
プロンプト例3:
customers.xlsx の「取引先名」列を正規化してください。ルール:(1)「(株)」「(株)」は「株式会社」に統一して社名の前に置く (2) 全角英数字は半角に (3) 前後の空白と連続空白を削除 (4) 変更があった行だけ「変更前」「変更後」の対照表を changes.xlsx に出力。元ファイルは上書きせず customers_cleaned.xlsx に保存してください。
このプロンプトの肝は最後の2つです。「変更対照表を出す」「元ファイルを上書きしない」。自動クレンジングは便利な反面、意図しない変換が混ざるリスクが常にあるので、何がどう変わったかを人間がレビューできる形にしておきます。この「差分を出させてレビューする」型は、あらゆるExcel自動化に応用できる安全弁です。
研修のハンズオンでこの演習をやると、毎回誰かが「うちの顧客リスト、これで名寄せできるじゃん」と声を上げます。ある人事担当の方は、研修受講者名簿と社員マスタの突合(旧姓・部署異動で名寄せが崩れていた)を演習の延長でその場でスクリプト化していました。ルールさえ言葉にできれば、その場で道具ができる——この体験が一度あると、Excel作業への向き合い方が変わります。
実践4|属人化したVBAマクロをPythonへ移行する
導入支援の現場で何度も遭遇するのが「作った人が退職して、誰も中身が分からないVBAマクロ」です。ある会社の情シス部門では、基幹システムからの出力を加工する数百行のマクロが10年近く動き続けていて、仕様書はなし、コメントもほぼなし。壊れたら業務が止まるのに、怖くて誰も触れない状態でした。
こういうケースは、いきなり「Pythonに書き換えて」と頼むのではなく、2段階に分けます。
プロンプト例4(第1段階:仕様の読み解き):
legacy_macro.bas はExcelマクロのエクスポートです。このマクロが「何を入力に、どういう加工をして、何を出力しているか」を日本語の仕様書としてまとめてください。分岐条件・マジックナンバー・参照しているシート名/セル番地はすべて列挙。不明瞭な処理は「要確認」として残してください。
プロンプト例5(第2段階:移植と突合検証):
先ほどの仕様書に基づいて、同じ処理をpandasで実装してください。検証として、サンプル入力 sample_input.xlsx に対する旧マクロの出力 expected_output.xlsx と、新実装の出力をセル単位で突合し、不一致箇所を全件レポートしてください。一致率100%になるまで実装を修正してください。
VBAのソースは、Excelの「Visual Basic Editor」からモジュールを .bas ファイルにエクスポートすれば取り出せます(VBAの仕様はMicrosoft LearnのOffice VBAリファレンスが一次情報です)。
この「旧出力との突合で検証する」手順が移行の生命線です。人間がやると心が折れるセル単位の突合を、Claude Codeは淡々と全件やってくれます。要確認として残った箇所だけ、当時の業務を知る人にヒアリングすればいい。仕様書という副産物が残るのも大きくて、たとえ移行を保留しても「開かずのマクロ」ではなくなります。
Python実装側の品質を上げたい方はPython開発をClaude Codeで効率化する実践ガイドも参考にしてください。
ここまでの内容を自社のExcel業務でやってみたい方へ:Uravationでは、実際の業務ファイルを題材にしたClaude Code個別指導を提供しています。どの業務から自動化すべきかの棚卸しからサポートします。→ 無料相談はこちら
実践5|「毎月手で実行」から定期実行へ
スクリプト化できたら、最後は実行そのものを自動化します。月初にファイルが揃ったら自動で集計してレポートを吐く、まで行けば人間の作業は「結果の確認」だけになります。
ここでもClaude Codeに丸ごと頼めます。「このスクリプトを毎月1日の朝9時に自動実行したい。Windowsのタスクスケジューラ(またはmacOS/Linuxのcron)への登録手順と設定を作って」と依頼すれば、環境に合わせた設定まで面倒を見てくれます。実行ログの保存や、失敗時にどう気づくかの設計も含めて依頼するのがコツです。
定期実行まわりの設計パターンはバッチ処理・定期実行をClaude Codeで自動化する実践ガイドで詳しく扱っています。さらに、レポート生成をCIに載せる・ヘッドレスモード(claude -p)で人手ゼロ運用する、といった発展形もあります。
実践6|システム間のフォーマット変換・取込データ作成
もう1つ依頼が多いのが「AシステムのエクスポートをBシステムの取込フォーマットに変換する」作業です。列の並び替え、コード値の変換、日付形式の統一——単純なのにミスが許されない、自動化向きの典型です。
プロンプト例6:
sales_export.csv(販売管理システムの出力)を、会計システム取込用のフォーマットに変換してください。仕様:(1) 列マッピングは mapping.xlsx の対応表に従う (2) 日付は YYYY/MM/DD を YYYYMMDD に変換 (3) 部門コードは code_master.xlsx で変換し、マスタにないコードが出たら処理を止めてエラー一覧を出す (4) 出力は Shift_JIS のCSV。変換件数と除外件数のサマリも表示してください。
このプロンプトには実務で効く仕掛けを3つ入れています。
- 対応表を外部ファイルに逃がす — 列マッピングやコード変換をExcelの対応表として渡せば、仕様変更のたびにコードを直さず表を直すだけで済む。非エンジニアでも保守できる設計になります
- 「マスタにないコードは止める」 — 変換系の事故は「知らないコードを黙って素通しする」ことから起きます。異常時は止まって報告、を明示しておく
- 文字コードの指定 — 日本の業務システムはShift_JIS指定がまだ多く、ここを曖昧にすると取込時に文字化けします。出力要件は文字コードまで書く
この型を覚えると、「銀行の振込データ作成」「ECモールの商品一括登録データ作成」「給与システムへの勤怠取込」など、あらゆる「橋渡しExcel業務」に応用できます。
導入ロードマップ|3フェーズで社内に定着させる
1人で1業務を自動化するだけなら今日から始められますが、チームや部門に広げるなら段階設計が要ります。支援先で使っている標準ロードマップです。
Phase 1(1〜2ヶ月): 個人のパイロット
自動化候補の棚卸しから始め、「手順書が書ける・月1回以上・30分以上」の条件で1〜3業務を選定。手作業と並走させて突合検証まで行い、「この業務はこう自動化できた」という社内事例を1つ作ります。この段階の目的は工数削減ではなく、検証の型を確立することです。
Phase 2(3〜4ヶ月): チーム展開
パイロットで作ったCLAUDE.mdテンプレート・要件言語化テンプレート・検証手順をチームに共有し、各メンバーが自分の業務で再現します。スクリプトは共有リポジトリに集約し、「誰が作ったか」ではなく「どこにあるか」で管理する状態へ。このフェーズで権限設計と入力データの線引きルールも文書化します。
Phase 3(5〜8ヶ月): 定期実行と業務プロセスへの組み込み
安定したスクリプトから順に定期実行へ移行し、人間の役割を「実行」から「差分レビュー」に切り替えます。あわせて、入力側のフォーマット統一(神Excelの廃止)など、業務プロセス自体の改善に踏み込みます。ここまで来ると、新しい集計依頼が来ても「まずClaude Codeで作る」が組織の初期動作になります。
想定モデル|経理月次集計の自動化シナリオ
効果のイメージを持ってもらうために、冒頭で触れた経理チームのケースを一般化した想定モデルを示します(実在の特定企業の実績値ではありません)。
| 作業 | 導入前(手作業) | 導入後(Claude Code自動化) |
|---|---|---|
| 部門別ブックの集計・転記 | 2〜3営業日 | スクリプト実行数分+差分確認30分程度 |
| 報告書の体裁整形 | 半日 | テンプレート適用で自動生成 |
| 転記ミスの手戻り | 月1〜2回発生 | 転記自体が消滅(入力データ起因のみ残る) |
| 初期構築の工数 | — | 要件整理込みで1〜2日(想定) |
強調したいのは時間短縮より「転記ミスという概念の消滅」です。手作業の転記には必ず一定率のミスが混ざり、発見が遅れるほど手戻りが膨らみます。スクリプト化すれば、同じ入力からは必ず同じ出力が出ます。品質が安定することのほうが、現場の心理的負担を減らすケースが多いんです。
投資対効果の考え方もシンプルです。初期構築1〜2日に対して、毎月2〜3営業日分の作業が数十分に圧縮されるなら、2ヶ月目には元が取れる計算になります。さらにスクリプトは翌年も、担当者が変わっても動き続けます。属人化した手作業と違って、引き継ぎコストがほぼゼロになる点まで含めると、効果は工数の数字以上です。
ウォークスルー|週次売上レポート自動化はこう進む
「実際の対話がどう転がるのか」のイメージを持ってもらうために、典型的な1業務の自動化がClaude Codeとのやり取りでどう進むかを、時系列で再現します(研修演習でよく起きる流れを一般化したものです)。
1往復目:要件を渡す。要件言語化テンプレートを埋めてプロンプトとして投げると、Claude Codeはまず input/ のサンプルファイルを開いて構造を確認しにいきます。ここで「3行目がヘッダーと伺いましたが、このファイルは2行目がヘッダーに見えます。確認してください」のような前提の食い違いの指摘が返ってくることが多い。この時点でズレを潰せるのが対話型の強みです。
2往復目:初版スクリプトの生成と実行。コードを書き、その場で実行し、「10ブック中9ブックを結合しました。営業3部.xlsxだけ『実績』シートがなく『実績表』というシート名でした。どう扱いますか?」と例外を報告してきます。人間は「実績表も対象にして。ただし今後のためにシート名の揺れは警告として出して」と方針だけ答えます。
3往復目:検証。「先月手作業で作った完成版 report_202605.xlsx と、同じ入力から生成した結果を突合して」と依頼します。ここで金額の丸め方や小計行の扱いの差異が数件見つかるのが普通です。1件ずつ「どちらが正か」を人間が判定し、ルールをCLAUDE.mdに追記します。
4往復目:仕上げ。一致を確認したら、「来月から使えるように、実行手順をREADMEにまとめて。エラーが出たときに見る場所も書いて」で完成です。ここまで、慣れれば半日、初回でも1〜2日というのが体感値です。
お気づきのとおり、人間がやっているのはコーディングではなく、業務ルールの判定だけです。「どちらの丸め方が正しいか」「例外ブックをどう扱うか」——これは業務担当者にしか答えられない問いで、逆に言えばそこにだけ集中できるようになります。
レイアウトが毎月微妙に変わるファイルへの耐性
「取引先から来るExcelは毎月レイアウトが微妙に違う」という相談もよく受けます。対策は2段構えです。まず、セル番地決め打ち(B4:E15)ではなく「『合計』という見出しの右隣の列」のように目印ベースで位置を特定するロジックをClaude Codeに書かせること。次に、それでも特定できなかったファイルは止めて報告させること。「なんとなく読めてしまって間違った値を拾う」のが最悪のパターンなので、不確実なら止まる設計に倒します。ファイル構造の予測がつかない場合は、毎回Claude Codeに対話的に処理させる(スクリプト化せず都度依頼する)運用のほうが向くこともあります。
失敗パターン4選|先に知っておくと事故らない
研修・支援の現場で実際に見てきたつまずきどころです。
❌ 失敗1:いきなり一番複雑な業務から自動化しようとする
判断や例外だらけの業務を最初に選ぶと、要件定義が終わらず「AIは使えない」という結論だけが残ります。
⭕ 対策:「手順書が書ける・月1回以上発生・30分以上かかる」の3条件を満たす作業から着手する。小さく成功して型を作ってから広げる。
❌ 失敗2:元ファイルを直接書き換えるスクリプトにしてしまう
生成コードが入力ファイルを上書きする作りだと、バグが出たときに元データごと失われます。
⭕ 対策:CLAUDE.mdに「input/配下は読み取り専用、出力は必ず別ファイル」と明記する。あわせて実行前のバックアップをスクリプトに組み込ませる。
❌ 失敗3:結合セルだらけの「神Excel」をそのまま食わせる
見た目重視で結合セル・二重ヘッダー・注釈行が混在したシートは、プログラムから見ると構造が壊れており、読み取り結果がズレます。
⭕ 対策:まずClaude Codeに「このシートの構造を解析して、機械可読にするための課題を列挙して」と診断させる。可能なら入力側のフォーマットを「1行1レコード」に直すのが根本解決。
❌ 失敗4:生成されたコードの検証を省略して本番投入する
一見正しく動いていても、月末日の扱いや空セルの解釈が手作業時代と違う、といった差異が潜んでいることがあります。
⭕ 対策:最初の1〜2ヶ月は手作業の結果と並走させ、突合スクリプト(実践4の手法)で一致を確認してから切り替える。検証もClaude Codeにやらせるのがポイント。
セキュリティと運用ルール|業務データを扱う前に
Excelファイルには顧客名・金額・人事情報が入りがちです。自動化を始める前に、最低限この3つを決めてください。
- 入力してよいデータの線引き — 所属組織のAI利用ガイドラインに従う。個人情報や未公開の財務数字を扱う場合は、事前に情報システム部門・法務部門へ確認する
- 権限設計 — Claude Codeがどのフォルダを読み書きできるかを制御する。設計の考え方はClaude Code権限設計ガイドを参照
- 実行結果のレビュー体制 — 「自動生成されたものを誰がいつ確認するか」を運用ルールとして決める。自動化は確認作業をなくすのではなく、確認対象を差分に絞る営みです
チーム展開や社内ルール整備まで含めた進め方はClaude Code業務導入完全ガイドにまとめています。
技術的なハマりどころ5つ|Excel特有のクセに注意
実装フェーズでよく踏む、Excelファイル特有の罠も先に共有しておきます。どれもClaude Codeに伝えれば対処してくれますが、「存在を知っているか」でデバッグ時間が大きく変わります。
- 日付が数字になる(シリアル値問題) — Excel内部では日付が「45xxx」のような通し番号で保持されており、読み取り方によっては日付が数値化します。「日付列はdatetime型として扱い、YYYY/MM/DD形式で出力して」と型を明示しておくと安全です
- 結合セルは左上以外が空になる — 結合セルをpandasで読むと、左上のセルにだけ値が入り、残りは欠損になります。「結合セル由来の欠損は直前の値で埋めて」という前処理(forward fill)を指示します
- 小数の誤差 — 浮動小数点の性質上、金額計算で「9999.999999」のような値が出ることがあります。金額は最後に丸めるルールと桁数を指定してください
- 「空白に見えて空白でないセル」 — スペースだけのセル、書式だけ残ったセルが集計を狂わせます。読み込み直後に「空白文字のみのセルは欠損として扱う」正規化を入れるのが定石です
- 文字コードとBOM — CSV連携ではUTF-8/Shift_JIS/BOM付きUTF-8が混在しがちです。入出力それぞれの文字コードを要件に明記しましょう。「Excelで開いたら文字化けした」の大半はここが原因です
こうしたクセへの対処も含めて、Claude Codeとの対話ログ自体が「うちのデータのクセ一覧」というドキュメントになります。対処ルールが固まったらCLAUDE.mdに追記していくと、次の自動化がさらに速くなります。
FAQ|Excel×Claude Codeでよくある質問
Q1. プログラミング経験がなくても本当にできますか?
A. コードを「書く」経験は不要ですが、「手順を正確に言語化する」力は必要です。普段の作業手順を新人に教えるつもりで箇条書きにできれば、それがそのままプロンプトになります。生成されたコードの実行や環境構築で詰まる場合は、エンジニアや外部の伴走支援に頼るのが早道です。
Q2. マクロ付きの .xlsm ファイルも扱えますか?
A. データの読み取りは可能ですが、Pythonの標準的なライブラリではマクロ自体は実行されません。マクロのロジックが必要な場合は、実践4のようにVBAソースを読み解いてPython側に移植するアプローチを推奨します。
Q3. Excelの関数(VLOOKUPなど)が大量に入ったブックはどうなりますか?
A. pandasで読むと通常は「計算済みの値」を取得します。関数のロジックごと自動化に取り込みたい場合は、Claude Codeに「このブックの数式構造を解析して、同じ計算をPythonで再現して」と依頼してください。数式の依存関係も含めて読み解いてくれます。
Q4. Googleスプレッドシートでも同じことができますか?
A. できます。Google Sheets APIを使う形になるため初期設定は増えますが、認証まわりの設定もClaude Codeに聞きながら進められます。ExcelとGoogleスプレッドシートの往復変換もよくある自動化テーマです。
Q5. どのくらいの規模のデータまで処理できますか?
A. pandasはメモリに載る範囲なら数十万〜数百万行でも実用的に動きます。Excelの表示上限を超えるデータはCSVやデータベースへの出力に切り替えるのが定石で、その設計判断もClaude Codeに相談できます。
Q6. 会社のPCにPythonを入れられない場合はどうすればいいですか?
A. まず情報システム部門にPython実行環境の許可を相談するのが正攻法です。難しい場合は、許可されたクラウド環境やサンドボックス環境で実行する選択肢もあります。「野良ツール」として無許可で動かすのは、便利でも避けてください。属人化したVBAと同じ問題を形を変えて再生産することになります。
Q7. Claude Codeが書いたコードにバグがあったらどうしますか?
A. エラーメッセージや「期待と違う出力」をそのまま貼り付けて指摘すれば、Claude Code自身が原因を調査して修正します。重要なのは実践4で紹介した突合検証をルーチンにすることです。「動いた」ではなく「手作業の結果と一致した」を合格基準にしてください。
Q8. 毎回コードを書き直すのですか?それとも一度作れば使い回せますか?
A. 一度作ったスクリプトは資産として使い回します。翌月は入力ファイルを差し替えて実行するだけです。仕様変更(列の追加など)が起きたときだけ、Claude Codeに「この変更に対応して」と依頼して改修します。この積み重ねで「自分専用の業務ツール群」が育っていきます。
まとめ|Excel作業は「作る」から「確認する」へ
要点を振り返ります。
- 手順書にできるExcel作業は、Claude Codeへの日本語依頼でスクリプト化できる
- 基本セットはpandas(集計・変換)+openpyxl(体裁)。CLAUDE.mdに前提と禁止事項を書くのが品質の要
- 「元ファイルを上書きしない」「差分を出させてレビューする」「手作業と並走して突合検証する」の3つが安全弁
- 属人化VBAは「仕様書化→移植→突合検証」の2段階移行で、開かずのマクロ問題ごと解決できる
今日からの3アクション:
- 毎月のExcel作業を棚卸しする — 「手順書が書ける・月1回以上・30分以上」の3条件で自動化候補に印をつける(所要15分)
- 候補1つの手順を箇条書きにしてClaude Codeに渡す — 「この作業をPythonで自動化して。元ファイルは上書きしないで」と依頼してみる
- 1ヶ月だけ手作業と並走させる — 結果を突合し、一致を確認できたら翌月から切り替える
次回は、自動化したスクリプト群をチームの共有資産として整備していく「社内ツール化」の進め方を扱う予定です。
Excel業務の自動化、個別にサポートします
「どの業務から手をつけるべきか分からない」「VBA資産の移行を相談したい」という方向けに、Claude Code個別指導サービスを提供しています。
実際の業務ファイルを題材に、要件の言語化からスクリプトの運用設計まで伴走します。経理・営業企画・情シスなど、エンジニア以外の方への導入支援実績もあります。
参考資料
- Claude Code公式ドキュメント(Anthropic)
- Anthropic — Claude Code製品ページ
- pandas公式ドキュメント
- openpyxl公式ドキュメント
- Microsoft Learn — Excel VBAリファレンス
著者プロフィール
佐藤傑(さとう・すぐる)
株式会社Uravation代表取締役。早稲田大学法学部在学中に生成AIの可能性に魅了され、X(旧Twitter)で活用法を発信(@SuguruKun_ai、フォロワー約10万人)。100社以上の企業向けAI研修・導入支援を展開。著書『AIエージェント仕事術』(SBクリエイティブ)。SoftBank IT連載7回執筆。