Claude Code Media
連載 11/11この記事は「非エンジニア向け」シリーズの第 11 回 / 全 11シリーズ全体を見る →
103,212初級

Claude Code × Google スプレッドシート 完全ガイド|集計・API連携を自動化

Claude Code で Google スプレッドシートを自動化する完全ガイド。Google Sheets API の設定・gspread 連携・MCP 接続から売上集計・フォーム整形・週次レポート自動生成まで、非エンジニアが今日から使える実装手順を網羅。

By Claude Code Media 編集部Reviewed by Claude Code Media 編集部

1. なぜ Google スプレッドシート × Claude Code か

Google スプレッドシートは「クラウド上の Excel」として多くの中小企業・フリーランスが使っている共有データの中心です。Claude Code と組み合わせると、これまで人手でやっていた以下の作業を 日本語の指示だけで自動化 できます。

  • 毎月の売上 CSV をスプレッドシートに取り込んで月次集計
  • Google フォームの回答を整形して通知
  • 在庫管理シートの数値を定期チェックしてアラートを出す
  • 複数シートのデータを横断して週次レポートを作成

Excel との最大の違いは クラウドネイティブ な点です。どの端末からでもリアルタイムに共有でき、Google フォーム・Gmail・Google カレンダーとも API でつながります。Claude Code はこの Google エコシステム全体を自然言語の指示で動かす「司令塔」になります。

1-1. Excel との比較

比較軸Excel(ローカル)Google スプレッドシート
共有OneDrive 必要URL を送るだけ
リアルタイム共同編集制限あり複数人が同時に可
API 連携VBA / PythonGoogle Sheets API(無料)
Claude Code との相性gspread / openpyxlgspread / Sheets API / MCP
料金Microsoft 365 契約Google Workspace または無料

Excel ユーザーへ: Excel の自動化手順は Claude Code × Excel 完全実装ガイド でも解説しています。Google スプレッドシートに移行していない場合はそちらを参照してください。

1-2. 自動化できる業務の範囲

Claude Code は Google Sheets API を通じて以下を実行します。

  • 読み込み: セル値・行列データの取得、シート一覧の取得
  • 書き込み: セルへの値入力・行の追加・書式設定
  • 計算・整形: Python で集計・グラフ生成し、結果を書き戻す
  • 他サービス連携: Slack / Gmail / Notion と組み合わせて通知・記録

2. 準備するもの

  • Claude Code Pro 以上料金プランを確認
  • Google アカウント(個人 or Google Workspace)
  • Python 3.11 以上(Claude Code がコードを書いて実行するため)
  • 対象の Google スプレッドシート

2-1. Google Sheets API の有効化

  1. Google Cloud Console にアクセス
  2. 新規プロジェクトを作成(例: claude-sheets-bot
  3. 「API とサービス」→「ライブラリ」→「Google Sheets API」を検索して有効化
  4. 「認証情報」→「サービスアカウントを作成」
  5. サービスアカウントの「キー」タブ → 「鍵を追加」→「JSON」でダウンロード

2-2. スプレッドシートをサービスアカウントに共有

  1. スプレッドシートを開く
  2. 右上「共有」→ サービスアカウントのメールアドレス(例: bot@claude-sheets-bot.iam.gserviceaccount.com)を入力
  3. 権限を「編集者」に設定して「送信」

これで Claude Code(サービスアカウント経由)がシートを読み書きできるようになります。

3. Claude Code からスプレッドシートを操作する

3-1. gspread ライブラリを使った基本操作

ターミナルで Claude Code を起動し、以下のように日本語で指示します。

claude -p "Google スプレッドシート ID '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms' の Sheet1 を読み込んで、B列の合計を計算して C1 セルに書き込んで。credentials.json は ~/Downloads/ にある。必要なライブラリは pip で自動インストールして。"

Claude Code が内部的に実行するコード例(参考):

import gspread
from google.oauth2.service_account import Credentials

SCOPES = ["https://www.googleapis.com/auth/spreadsheets"]
creds = Credentials.from_service_account_file("~/Downloads/credentials.json", scopes=SCOPES)
gc = gspread.authorize(creds)

# スプレッドシートを開く
sh = gc.open_by_key("1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms")
ws = sh.worksheet("Sheet1")

# B列のデータを取得して合計
b_values = ws.col_values(2)[1:]  # ヘッダー除く
total = sum(float(v) for v in b_values if v)

# C1 セルに書き込む
ws.update("C1", [[total]])
print(f"合計 {total} を C1 に書き込みました")

gspread の詳細は 公式ドキュメント を参照してください。

3-2. Google Sheets MCP を使う方法

MCP(Model Context Protocol)を使うと、Claude Code がスプレッドシートをより直感的に操作できます。

.mcp.json をプロジェクトルートに作成:

{
  "mcpServers": {
    "google-sheets": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-google-sheets"],
      "env": {
        "GOOGLE_CREDENTIALS_PATH": "/path/to/credentials.json"
      }
    }
  }
}

設定後は自然言語だけで操作できます:

「Sheet1 の A1:D100 の範囲を読み込んで、売上列を月ごとに集計したテーブルを Sheet2 に書き込んで」

4. 実用ユースケース 4 選

4-1. 売上データの月次集計レポート自動化

毎月の売上 CSV を自動でスプレッドシートに取り込み、月次グラフ付きレポートを生成:

claude -p "~/Downloads/sales-june.csv を読み込んで、スプレッドシート ID '【シートID】' の 'June' シートに転記した後、商品カテゴリ別の売上合計を集計して Summary シートに月次推移として追記して"

4-2. Google フォーム回答の整形・通知

問い合わせフォームの回答が蓄積されたシートを毎朝チェックして、未対応の行を Slack に通知するスクリプトを生成させられます。

claude -p "スプレッドシート '問い合わせ一覧' を読み込んで、E列が空(未対応)の行を抽出して、Slack の #support チャネルに件名と問い合わせ日をリストで通知して"

4-3. 在庫管理シートの自動アラート

在庫数が閾値を下回ったらアラートを出す仕組みを構築:

claude -p "在庫管理シートの D列(現在庫数)と E列(最小在庫数)を比較して、D < E の商品をリストアップして、結果を F 列に '要発注' と書き込んで"

4-4. 週次レポートの自動生成

複数シートのデータを横断して1枚の週次サマリを自動作成:

claude -p "先週(月〜日)の売上・問い合わせ・在庫シートのデータを読み込んで、週次レポートシートに要約テーブルとコメント(前週比増減・注意点)を書き込んで。日付は今週月曜起算で"

5. よくある失敗と対処法

5-1. 認証エラー(403 / PERMISSION_DENIED)

原因: スプレッドシートがサービスアカウントのメールと共有されていない

対処: スプレッドシートの「共有」→ サービスアカウントのメールアドレスを追加(メールアドレスは GCP コンソールの「サービスアカウント」ページで確認)

5-2. API レート制限(429 RESOURCE_EXHAUSTED)

Google Sheets API には無料枠の制限(1プロジェクトあたり 300 リクエスト/分)があります。大量のセルを読み書きする場合は batch_update を使うよう Claude Code に指示してください。

claude -p "1,000行以上のデータをまとめて書き込む場合はバッチ更新を使って API 消費を抑えて"

5-3. credentials.json が見つからないエラー

Claude Code を起動するフォルダと credentials.json のパスを合わせるか、絶対パスで指定してください。

# 絶対パス指定例
claude -p "credentials は /Users/yourname/keys/credentials.json にあります。..."

6. まとめ:Google スプレッドシートを Claude Code で24時間働かせる

Google スプレッドシートは API が無料・クラウドでリアルタイム共有できる・Google フォームや Gmail と連携しやすい、という点で業務自動化の起点に最適です。Claude Code を使えば:

  • API 設定(サービスアカウント作成・JSON 取得)は 30 分で完了
  • 定型集計・レポート作成・アラート通知は日本語の指示だけで実装可能
  • 週次・月次の定期実行は launchd(macOS)や cron で自動スケジューリング可能

「スプレッドシートを毎回手作業で更新している」「レポート作成に毎週 1-2 時間かかっている」という方は、まず 1 つの作業を Claude Code に試してみてください。


関連記事

参考リンク(外部)

ByClaude Code Media 編集部

AI支援で執筆 — 本記事は Claude Code エージェントによる執筆支援を受け、編集部が事実確認・編集を行っています。 数値・引用元は記事更新日時点で確認済みですが、最新情報は各公式サイトでご確認ください。

Related

続けて読む

すべての記事 →