AI Cowork Lab
AIでExcel・スプレッドシート作業を自動化する ── CSV集計からレポート生成まで
仕事に活かす 約35分で読めます

AIでExcel・スプレッドシート作業を自動化する ── CSV集計からレポート生成まで

「毎月おなじCSV(Excelで開けるデータ形式)ファイルを開いて、おなじ手順で集計して、おなじフォーマットでレポートを作る…」──こんな繰り返し作業に時間を取られていませんか?

Excel・スプレッドシートの定型作業は、AIと自動化の組み合わせがいちばん効果を発揮する分野です。手作業で30分〜1時間かかっていた集計が、一度スクリプト(自動処理のプログラム)を作ってしまえば数秒で完了します。

つまり、「毎月おなじ作業をくり返す」から「ボタンひとつで完了」に変わるということです。

この記事では、CSV(Excelで開けるデータ形式)の集計からレポート生成まで、5つの実務シナリオを具体的なプロンプト(AIへの指示文)とコード付きで解説します。


なぜスプレッドシート作業はAI自動化にぴったりなのか

スプレッドシート作業がAI向きな理由

🔁
毎回おなじ手順
コピペ・フィルタ・VLOOKUP…
📐
ルールが明確
判断基準がはっきりしていて機械的
⏱️
時間泥棒
月に10時間以上かかることも

かんたんに言うと、「やることが決まっていて、毎回同じことをやっていて、しかも時間がかかる」──この3条件が揃った作業は、自動化の効果がいちばん大きいということです。

時間比較:手作業 vs AI自動化

作業内容手作業AI自動化削減率
CSVファイル3つの統合・重複除去30分10秒99%
月次売上レポート作成1時間30秒99%
データ形式の変換・クリーニング45分15秒99%
ピボットテーブル(集計表)作成20分10秒99%
グラフ付きレポート生成1.5時間1分99%
ℹ️

最初だけ、ちょっと準備時間がかかります

上の表はスクリプト(自動処理プログラム)の「実行時間」の比較です。初回はAIにスクリプトを書いてもらう時間(5〜15分程度)がかかりますが、2回目以降はワンクリックで実行できます。毎月やる作業なら、初月から十分にモトが取れます。


5つの実務シナリオ

シナリオ1:CSVファイルの統合と重複除去

複数のCSV(Excelで開けるデータ形式)ファイルを一つにまとめて、重複している行を削除するタスクです。部署ごとにバラバラにエクスポートされたデータの統合など、実務ではしょっちゅう発生します。

Claudeへのプロンプト(指示文)例:

以下の要件でPython(データ処理が得意なプログラミング言語)スクリプトを書いてください:

目的:複数のCSVファイルを1つにまとめて、重複を消す

入力:
- data/ フォルダ内のすべてのCSVファイル
- 各ファイルは同じ列構成(社員ID, 名前, 部署, メール)

処理:
1. data/ 内の全CSVを読み込む
2. 1つのデータにまとめる
3. 社員IDが重複する行を削除(最初の行だけ残す)
4. 結果をmerged_output.csvとして保存

出力:
- 統合前の合計行数、重複件数、統合後の行数を画面に表示

AIが作ってくれるコードの例:

import pandas as pd
import glob

# data/フォルダ内の全CSVファイルを取得
csv_files = glob.glob("data/*.csv")
print(f"対象ファイル数: {len(csv_files)}")

# 全ファイルを読み込み・統合
dfs = [pd.read_csv(f) for f in csv_files]
combined = pd.concat(dfs, ignore_index=True)
print(f"統合前の合計行数: {len(combined)}")

# 社員IDで重複除去
before_count = len(combined)
combined = combined.drop_duplicates(subset=["社員ID"], keep="first")
duplicates = before_count - len(combined)
print(f"重複件数: {duplicates}")
print(f"統合後の行数: {len(combined)}")

# 保存
combined.to_csv("merged_output.csv", index=False, encoding="utf-8-sig")
print("merged_output.csv に保存しました")

かんたんに言うと、「フォルダにCSVファイルを入れてスクリプトを実行するだけで、まとめて重複も消してくれる」ということです。


シナリオ2:カテゴリ別集計と前年比較

売上データをカテゴリ別に集計して、去年の同じ月と比較するレポートを作るタスクです。

Claudeへのプロンプト例:

以下の要件でPythonスクリプトを書いてください:

入力ファイル:
- sales_2026.csv(列:日付, 商品カテゴリ, 商品名, 売上金額, 数量)
- sales_2025.csv(同じ列構成)

処理:
1. 両方の年のデータを月別・カテゴリ別に集計
2. 2026年4月のカテゴリ別売上を出す
3. 2025年4月との前年比を計算
4. 前年比の高い順に並べる

出力:
- カテゴリ別の集計表(CSV)
- 前年比の増減を画面に表示
💡

プロンプトのコツ:列名を書いておく

CSVの列名(ヘッダー)をプロンプトに書いておくと、AIが正確なコードを作ってくれます。列名がわからない場合は「このCSVの最初の5行を表示するコードを書いて」から始めると、スムーズです。


シナリオ3:データ形式の変換とクリーニング

実際の仕事では、データが「そのまま使えない形」で届くことがよくあります。全角数字が混ざっている、日付の書き方がバラバラ、余計な空白が入っている…。こうした「お掃除作業」は地味に時間がかかります。

Claudeへのプロンプト例:

以下のデータクリーニング(お掃除)処理を行うPythonスクリプトを書いてください:

入力:raw_data.csv

クリーニング処理:
1. 全角数字 → 半角数字に変換
2. 電話番号のハイフン統一(全角ハイフン → 半角ハイフン)
3. 日付列を YYYY-MM-DD 形式に統一(今は "2026/4/3", "R8.4.3" などバラバラ)
4. 前後の余計な空白を除去
5. 空の行を削除
6. メールアドレスの形式チェック(おかしいものにフラグ)

出力:
- cleaned_data.csv(きれいにしたデータ)
- cleaning_report.txt(何件変換したか・何件エラーだったかのまとめ)

つまり、「汚いデータを渡すだけで、きれいに整形されたデータが返ってくる」ということです。


シナリオ4:ピボットテーブルの作成

Excelのピボットテーブル(クロス集計表)機能をPython(データ処理が得意なプログラミング言語)で再現します。一度スクリプトを作れば、毎月のデータ更新がワンクリックで済みます。

Claudeへのプロンプト例:

sales_data.csv からピボットテーブル(クロス集計表)を作成するPythonスクリプトを書いてください。

入力の列:取引日, 地域, 商品カテゴリ, 売上金額, 数量

作成する集計表:
- 行:地域
- 列:商品カテゴリ
- 値:売上金額の合計
- 小計・総計を含む

出力:pivot_result.xlsx(Excelファイル)

AIが作ってくれるコードの例:

import pandas as pd

# データ読み込み
df = pd.read_csv("sales_data.csv")

# ピボットテーブル(クロス集計表)作成
pivot = pd.pivot_table(
    df,
    values="売上金額",
    index="地域",
    columns="商品カテゴリ",
    aggfunc="sum",
    margins=True,       # 小計・総計を追加
    margins_name="合計"
)

# Excel出力
pivot.to_excel("pivot_result.xlsx")
print("ピボットテーブルを pivot_result.xlsx に保存しました")
print(pivot)

シナリオ5:グラフ付きレポートの自動生成

集計結果をグラフにして、Excelレポートに埋め込むところまで全自動化します。

Claudeへのプロンプト例:

月次売上レポートをグラフ付きExcelファイルとして作るPythonスクリプトを書いてください。

入力:monthly_sales.csv(列:年月, カテゴリ, 売上, 前年売上)

レポートに含めるもの:
1. シート1「サマリー」:月別の売上推移折れ線グラフ + データ表
2. シート2「カテゴリ別」:カテゴリ別の売上割合の円グラフ + データ表
3. シート3「前年比較」:今年 vs 去年の棒グラフ + 増減率の表

グラフのスタイル:
- 日本語フォント対応
- 見やすい配色(ビジネス向け)
- タイトル付き
⚠️

日本語のグラフを作るときの注意点

matplotlibというグラフ描画ライブラリで日本語のグラフを作ると、文字が□□(豆腐)になることがあります。macOSなら「Hiragino Sans」、Windowsなら「MS Gothic」というフォントを指定する必要があります。AIに「macOS環境です」と伝えれば、適切なフォント設定を含めたコードを作ってくれます。


Claude Codeでスクリプトを作る手順

実際にClaude Codeを使ってスプレッドシート自動化スクリプトを作る手順を、順番に説明します。プログラミングの知識がなくても大丈夫です。

Claude Codeでの作成ステップ

1
作業フォルダを用意する
処理したいCSVやExcelファイルを、ひとつのフォルダにまとめておく
2
Claude Codeを起動する
ターミナル(黒い画面にコマンドを打ち込む画面)で作業フォルダに移動し、claudeと入力して起動
3
データの中身を見てもらう
「data/sales.csv の最初の5行を見せて」と話しかける
4
やりたいことを日本語で伝える
「このCSVをカテゴリ別に集計して、前年比付きのExcelレポートを作って」と話しかけるだけ
5
作られたスクリプトを実行・確認
Claude Codeがスクリプトを作って実行してくれる。結果を確認して、直してほしいところがあれば伝える

つまり、「データを置いて、やりたいことを日本語で伝えるだけ」でスクリプトが完成するということです。


主要ツール・ライブラリの紹介

Python(データ処理が得意なプログラミング言語)でスプレッドシートを操作する際に使う主要ライブラリ(便利な道具箱のようなもの)を紹介します。

pandas

データ分析の定番ツール
  • CSVやExcelの読み書き
  • フィルタ・集計・結合
  • ピボットテーブル
  • 日付や時系列データの処理
pip install pandas

openpyxl

Excel(.xlsx)を操作するツール
  • セルの書式設定(色・太字など)
  • グラフの埋め込み
  • 複数シートの操作
  • 条件付き書式
pip install openpyxl

matplotlib

グラフを描くツール
  • 折れ線・棒・円グラフ
  • 見た目の細かいカスタマイズ
  • 画像ファイルとして保存
  • Excelへの埋め込みも可能
pip install matplotlib

これらのライブラリは、Claude Codeに「pandasを使ってCSVを集計して」と伝えれば、自動的にインストールしてコードを書いてくれます。自分でインストール方法を調べる必要はありません。


Excel(.xlsx) vs CSV:どう使い分ける?

CSVを選ぶケース

  • データの受け渡しが目的のとき
  • システム同士の連携
  • 大量データ(100万行を超えるもの)
  • バージョン管理をしたいとき
  • 処理速度を優先したいとき

Excelを選ぶケース

  • 人に見せるレポートのとき
  • 色・書式・グラフが必要なとき
  • 複数シートの構成
  • 関数やマクロを含むとき
  • プログラミングを知らない人との共有
💡

実務での使い分けのコツ

処理の途中はCSV、最終的に人に見せるものはExcel──これが基本です。つまり、「CSVで処理して→Excelでレポートに仕上げる」という流れがいちばん効率的ということです。


応用:定期実行で完全自動化する

スクリプトを一度作ったら、「毎月1日に自動実行」のように定期実行を設定すれば、完全自動化の完成です。

macOS の場合(launchd)

macOSでは launchd という仕組みで定期実行を設定できます。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>com.example.monthly-report</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/bin/python3</string>
    <string>/path/to/generate_report.py</string>
  </array>
  <key>StartCalendarInterval</key>
  <dict>
    <key>Day</key>
    <integer>1</integer>
    <key>Hour</key>
    <integer>9</integer>
    <key>Minute</key>
    <integer>0</integer>
  </dict>
</dict>
</plist>

これで毎月1日の朝9:00にレポート生成スクリプトが自動的に実行されます。つまり、「毎月1日にパソコンを開いたら、レポートがもう出来ている」という状態になります。

Windows の場合(タスクスケジューラ)

Windowsではタスクスケジューラという機能で、同じように定期実行ができます。

schtasks /create /tn "MonthlyReport" /tr "python C:\scripts\generate_report.py" /sc monthly /d 1 /st 09:00

Linux の場合(cron)

# 毎月1日 9:00 に実行
0 9 1 * * /usr/bin/python3 /path/to/generate_report.py
⚠️

定期実行を設定する前に

定期実行をセットする前に、スクリプトを何度か手動で動かして、エラーが出ないことを確認しましょう。また、ファイルのパス(場所)は省略せずフルパス(絶対パス)で書いてください。かんたんに言うと、「テスト済みの完璧なスクリプトだけを自動実行にかける」のが安全です。


段階的に始めよう

自動化は「1つの作業から」始める

Week 1
いちばん面倒な作業を1つ選ぶ
毎月やっている定型作業のなかから、最も時間がかかるものを選ぶ
Week 2
Claude Codeでスクリプトを作る
手順をふつうの日本語で伝えて、スクリプトを作成・テスト
Week 3
先月のデータで検証する
先月のデータで結果を比較。手作業のときと結果が一致するか確認
Week 4
本番運用スタート + 次の自動化対象を選ぶ
問題なければ本番投入。うまくいったら、次に面倒な作業を選んで同じことをくり返す

よくある質問(FAQ)

Q: Python(プログラミング言語)をまったく触ったことがないのですが、大丈夫ですか?

A: 大丈夫です。Claude Codeに「Pythonをまったく使ったことがない初心者です」と先に伝えておけば、Python のインストール方法やライブラリ(便利ツール)の入れ方から丁寧に教えてくれます。コードを自分で書く必要はなく、AIが書いたコードを実行するだけでOKです。


Q: Excelのマクロ(VBA)との違いは何ですか?

A: VBAはExcelの中だけで完結しますが、Python+pandasはExcel以外のデータ(CSV、データベース、Web上のAPI)とも連携できるのが大きな違いです。また、AIにコードを書いてもらえるので、VBAの知識がなくても高度な処理ができます。すでにVBAマクロで問題なく動いている業務を、わざわざ置き換える必要はありません。


Q: 数十万行の大量データでも処理できますか?

A: pandasは数百万行のデータでも問題なく処理できます。ただし、メモリに収まりきらないほどの超大量データ(数千万行〜)の場合は、分割して読み込む「チャンク処理」や、DuckDBのような軽量データベースの利用がおすすめです。Claude Codeに相談すれば、データ量に合った最適な方法を提案してくれます。


Q: スクリプトが動かなくなったらどうすればいい?

A: エラーメッセージをそのままClaude Codeにコピペして「このエラーを直して」と伝えてください。多くの場合、ファイルの場所が変わった・列名が変わった・ライブラリのバージョンが上がった、のどれかが原因です。AIが原因を特定して修正してくれます。つまり、「エラーが出ても自分で解決する必要はない」ということです。


Q: Googleスプレッドシートでも使えますか?

A: はい、使えます。Google Sheets API(Googleスプレッドシートとプログラムをつなぐ窓口)を使えば、Pythonからスプレッドシートの読み書きができます。gspread というライブラリが便利です。Claude Codeに「Googleスプレッドシートからデータを読み込む処理を書いて」とお願いすれば、API(データの窓口)の設定方法から案内してくれます。


まとめ

スプレッドシート自動化の始め方

1
いちばん時間がかかっている定型作業をひとつ選ぶ
2
Claude Codeにふつうの日本語で手順を伝え、スクリプトを作ってもらう
3
実際のデータで検証して、問題なければ定期実行をセット
4
うまくいったら、次の自動化対象へ。少しずつ広げていく

プログラミングの知識は不要です。AIに「やりたいこと」を伝えるだけで、スクリプトの作成から実行まで完了します。まずはひとつの作業から始めてみましょう。

他のカテゴリの記事