GoogleスプレッドシートをClaude Codeで自動操作する|gogcliとSheetsAPI実践ガイド

Claude Codeとgogcliを組み合わせれば、GoogleスプレッドシートのデータをCLIコマンド1行で読み書きできます。

  • 要点1: gogcliはMCPサーバー不要でSheets APIをコマンドラインから操作できるツール
  • 要点2: BATCH_GETを使えば複数シートのデータを1回のAPIコールで一括取得可能
  • 要点3: Googleフォームの申し込みデータをスプレッドシートで管理し、GASと連携して自動メール通知まで実現できる

対象: Claude Codeでスプレッドシート管理を自動化したい経営者・DX推進担当者

今日やること: gogcliをインストールしてOAuth認証を設定し、管理しているスプレッドシートを読み取ってみる

この記事の著者
川島陸

株式会社Nexa 代表取締役川島 陸

一橋大学経済学部卒業後、フォーティエンスコンサルティング株式会社(旧 株式会社クニエ)にて法人向けAI導入支援等を経験。独立後、AI系メディア運営やDify/n8nの導入支援を経て、株式会社Nexaを創業。法人向けAI研修・AI導入支援・AI関連メディア運営を手掛ける。

Claude Codeとgogcliを組み合わせることで、Googleスプレッドシートへのデータ読み書きをCLIから自動化できます。

「スプレッドシートをいちいち開いてデータを確認している」「新しいKWや案件情報を手で入力している」——こうした定型作業は、Claude CodeとgogcliをつなぐだけでCLIから解決できます。

この記事では、gogcliのセットアップから基本コマンド、BATCH_GETによる一括取得、さらにGoogleフォーム連携まで、実際の活用事例をもとに解説します。

Claude CodeからGoogle Sheetsを操作する仕組み

Claude CodeからGoogleスプレッドシートを操作するには、いくつかのアプローチがあります。MCPサーバーを使う方法、Google Sheets APIを直接呼び出す方法、そして本記事で紹介するgogcliを使う方法です。

gogcliを使うアプローチは、設定がシンプルで、Claude Codeのコンテキスト内からコマンドを実行するだけで済みます。MCPサーバーの設定や複雑なAPI認証コードを書く必要がありません。

gogcliとは——Claude CodeとGoogle Workspaceをつなぐツール

gogcliは、Google WorkspaceのサービスをCLIから操作するためのツールです。Gmail、カレンダー、Drive、Sheets、Docs、Contacts、Tasks、Chatなど10以上のサービスに対応しており、OAuth認証を一度設定すればすべてのサービスをコマンドラインから扱えます。

Claude Codeの会話内で gog sheets get などのコマンドを実行指示するだけで、スプレッドシートのデータを取得・処理できます。

Sheets API直接操作との違い

Sheets APIを直接操作する場合、サービスアカウントの作成・認証情報の管理・Pythonやシェルスクリプトの記述が必要です。gogcliを使う場合は、これらを省略できます。

比較項目 Sheets API直接操作 gogcliを使う場合
認証設定 サービスアカウントまたはOAuth設定が必要 gogcliのOAuth認証のみ
コード記述 Python/シェルスクリプトが必要 コマンド1行で操作可能
Claude Codeとの連携 スクリプトファイルを別途作成・管理 会話の中で直接実行指示
対応サービス Sheetsのみ Google Workspaceの10+サービスに統一対応

セットアップ:前提条件と認証の設定

gogcliの利用を始めるには、まずインストールとOAuth認証の設定が必要です。前提として、Node.js(v18以上)がインストールされていることを確認してください。

gogcliのインストール

ターミナルから以下のコマンドを実行します。

npm install -g gogcli

インストール後、以下で動作を確認できます。

gog --version

OAuth認証の設定

初回利用時にGoogle Cloudプロジェクトを作成し、OAuth 2.0クライアントIDを取得する必要があります。

手順の概要は以下の通りです。

  1. Google Cloud Consoleでプロジェクトを作成する
  2. 「APIとサービス」→「ライブラリ」でGoogle Sheets APIを有効化する
  3. OAuthクライアントIDを作成し、credentials.json をダウンロードする
  4. gog auth login --credentials credentials.json で認証を開始する
  5. ブラウザでGoogleアカウントにログインし、権限を許可する

認証が完了すると、トークンがローカルに保存され、以降はコマンドを実行するだけで操作できます。

スプレッドシートのIDを確認する

操作対象のスプレッドシートIDは、URLから確認できます。

https://docs.google.com/spreadsheets/d/[スプレッドシートID]/edit

この [スプレッドシートID] の部分(長い英数字の文字列)を控えておきます。以降のコマンドで使用します。

\ Claude Codeの導入、何から始めればいいかわかります /

法人向けClaude Code個別指導の無料相談はこちら

スプレッドシートの読み取り——データを取得するコマンド

認証が完了したら、スプレッドシートのデータを読み取ってみましょう。

単一セル・範囲指定の読み取り

特定のセルや範囲を読み取る基本コマンドは以下の形式です。

# 単一セルの読み取りgog sheets get [スプレッドシートID] Sheet1!A1# 範囲指定の読み取り(A1からD10)gog sheets get [スプレッドシートID] Sheet1!A1:D10# シート全体の読み取りgog sheets get [スプレッドシートID] Sheet1

出力はJSON形式で返ってくるため、Claude Codeがその場で内容を解析・処理できます。

BATCH_GETで複数シートを一括取得する

複数の範囲やシートを同時に取得したい場合、BATCH_GETを使うとAPIコールを1回に抑えられます。これは特に、マスターシートとデータシートを同時に参照する必要がある場合に有効です。

# 複数範囲の一括取得gog sheets batchGet [スプレッドシートID] "Sheet1!A1:C10,Sheet2!A1:B20"

たとえば、KWリストシートとボリュームデータシートを同時に取得してまとめて処理する、というユースケースに適しています。BATCH_GETは個別に複数回コマンドを実行するより高速で、APIクォータの消費も抑えられます。

取得したデータをClaude Codeで処理する

取得したデータはClaude Codeのコンテキストに渡され、そのまま処理できます。たとえば以下のような指示ができます。

  • 「このKWリストの中で検索ボリュームが1,000以上のものを抽出して」
  • 「ステータスが”未着手”のクライアントを一覧にして」
  • 「先月の新規申し込み件数を集計して」

スプレッドシートを開かずに、Claude Codeとの会話だけでデータの確認・分析が完結します。

スプレッドシートへの書き込み——データを更新するコマンド

読み取りだけでなく、データの追加・更新もCLIから実行できます。

特定セルの値を更新する

# 特定セルを更新gog sheets update [スプレッドシートID] Sheet1!B5 "調査済み"# 複数セルを一括更新gog sheets update [スプレッドシートID] Sheet1!B5:C5 "調査済み" "2026-03-26"

KWリストのステータス列を更新したり、クライアント情報を修正したりする際に使います。

新しい行を末尾に追加する

# 末尾に1行追加gog sheets append [スプレッドシートID] Sheet1 "新しいKW" "1000" "中" "未着手"

このコマンドを使うと、スプレッドシートを開くことなく、新しいデータを末尾に追加できます。

複数セルを一括更新する

大量データの更新には batchUpdate を使います。

# JSON形式でまとめて更新gog sheets batchUpdate [スプレッドシートID] --data '[{"range":"Sheet1!B2","values":[["済"]]}]'

これにより、複数行にわたるステータス更新やデータ修正を1回のコマンドで完了できます。

\ 業務自動化のお悩み、プロが30分で整理します /

法人向けClaude Code個別指導の無料相談はこちら

実践事例1——KWリストをCLIから管理する

あるメディアサイトの運営者が、SEOキーワードの管理にClaude CodeとgogcliのSheets連携を活用した事例を紹介します。

KWリスト管理シートの構成

スプレッドシートには以下の列を設けていました。

内容
A キーワード
B 月間検索ボリューム(Bing Webmaster API取得値)
C 競合難易度(SD)
D 優先度(高/中/低)
E 記事ステータス(未着手/執筆中/公開済)
F 公開URL

新規KWを追加するコマンド

KWリサーチで新しいキーワードが見つかった際、以下のコマンドで即座にリストへ追加していました。

gog sheets append [スプレッドシートID] KWリスト "Claude Code 使い方" "" "" "高" "未着手"

Claude Codeがリサーチ結果をまとめながら、そのままスプレッドシートへ書き込む指示を出すことで、リサーチとリスト管理が一連の作業として完結するようになりました。

調査結果を自動書き込みする

Bing Webmaster APIでボリュームを取得したあと、結果をスプレッドシートに書き戻す処理をClaude Codeが一括実行します。

# ボリューム取得結果をB列に書き込みgog sheets update [スプレッドシートID] "KWリスト!B5" "2400"

スプレッドシートを開かずにリサーチから管理まで完結するため、作業の切り替えコストが大幅に削減できました。

実践事例2——Googleフォーム申し込みをスプレッドシートで管理し、GASで自動通知する

あるイベント運営者が、参加申し込みフォームとスプレッドシート・GASを連携させて自動通知を構築した事例を紹介します。

スプレッドシートの列構成をgogcliで確認する

まず、Googleフォームの回答が蓄積されているスプレッドシートの構成をClaude Codeから確認しました。

gog sheets get [スプレッドシートID] "フォームの回答 1!A1:H1"

確認した結果、以下の列構成であることがわかりました。

内容
A タイムスタンプ
B お名前
C 役職
D メールアドレス
E 電話番号
F 会社名
G 会社HPのURL
H ご希望の日程

この情報をClaude Codeが取得した上で、GASのコードを生成する作業に進みました。

GASとclaspでフォーム送信トリガーを設定する

次に、claspを使ってGASプロジェクトを作成し、フォーム送信時のトリガーを設定しました。

# claspでGASプロジェクトを作成clasp create --type standalone --title "フォーム自動通知"# スクリプトをアップロードclasp push

ポイントGASプロジェクトを既存のスプレッドシートにバインドしようとすると、別の新しいスプレッドシートが生成されてしまうことがあります。スタンドアロン型として作成し、スクリプト内でスプレッドシートIDを直接指定する方式が確実です。


Claude Codeを使ったスプレッドシート操作の自動化を、どの業務に適用すべきか迷っている方は、個別にご相談いただけます。自社の管理シートの構成を共有いただければ、具体的な自動化案をご提案します。

法人向けClaude Code個別指導の無料相談はこちら|まずはお困りごとをプロに相談


管理者通知メールと申し込み確認メール下書きの自動生成

GASには以下の2つの処理を実装しました。

  1. 管理者への通知: フォーム送信ごとに管理者メールアドレスへ申し込み内容を送信
  2. 申し込み者への確認メール: 申し込み者のメールアドレスに、参加するイベントのURLを記載した確認メールの下書きを自動生成
function onFormSubmit(e) {  const sheet = SpreadsheetApp.openById(CONFIG.SPREADSHEET_ID)    .getSheetByName(CONFIG.SHEET_NAME);  const lastRow = sheet.getLastRow();  const data = sheet.getRange(lastRow, 1, 1, 8).getValues()[0];  const name = data[1];  const email = data[3];  const schedule = data[7];  // 管理者への通知メール送信  GmailApp.sendEmail(    CONFIG.ADMIN_EMAIL,    'Claude Code勉強会の申し込みがありました',    `申込者: ${name}\n日程: ${schedule}\nシート: ${CONFIG.SPREADSHEET_URL}`  );  // 申し込み者への確認メール下書き作成  const scheduleInfo = getScheduleInfo(schedule);  GmailApp.createDraft(    email,    'Claude Code勉強会へのお申し込みありがとうございます。',    `${name} 様\n\nご参加URL: ${scheduleInfo.url}`  );}

setupTrigger 関数を一度手動で実行するだけで、以降はGoogleのサーバー側でフォーム送信を常時監視します。スプレッドシートを開きっぱなしにしたり、PCを起動しておく必要はありません。

このフローの注目点は、gogcliでスプレッドシートの列構成を確認してからGASのコードを生成したことです。列の順序が不明なままコードを書くと後から修正が必要になります。Claude Codeがgogcliで事前確認してからコード生成に進んだため、一発で正確なコードが出来上がりました。

内部リンク: GAS(Google Apps Script)をClaude Codeから実行・管理する方法

\ AI活用の「次の一手」を一緒に考えませんか /

法人向けClaude Code個別指導の無料相談はこちら

よくある質問

Q. gogcliがエラーになるときの対処法は?

よくあるエラーには次のものがあります。

「認証エラー」が出る場合: OAuth認証のトークンが期限切れになっている可能性があります。gog auth refresh を実行してトークンを更新してください。

「スプレッドシートが見つからない」場合: スプレッドシートIDの確認と、認証しているGoogleアカウントがそのスプレッドシートにアクセス権を持っているかを確認してください。

「APIクォータ超過」エラーが出る場合: Sheets APIには1分あたりのリクエスト数に上限があります。短時間に多数のコマンドを実行する場合は、BATCH_GETを活用してリクエスト数を減らしてください。

Q. スプレッドシートの全シートを一括で取得できますか?

シート名を指定せず、スプレッドシートIDのみを指定すると、スプレッドシートのメタ情報(シート名一覧など)を取得できます。ただし全シートの全データを一括取得する場合は、シート名を明示してBATCH_GETで複数範囲を指定する方が確実です。

Q. GASトリガーとgogcliはどちらを使うべきですか?

用途によって使い分けます。

用途 推奨方法
スプレッドシートのデータを確認・分析したい gogcli(Claude Codeから即時確認)
フォーム送信・行追加などのイベントに自動で反応したい GAS(Googleサーバー側で常時監視)
定期的にデータを更新・集計したい GAS(時間ベーストリガー)またはcron

2つを組み合わせることで、確認はClaude Codeから・自動処理はGASで、という役割分担が実現できます。

まとめ

Claude Codeとgogcliを組み合わせることで、Googleスプレッドシートの操作を大きく自動化できます。本記事のポイントを整理します。

  • gogcliはMCPサーバー不要でSheets APIをCLIから操作できるツール
  • BATCH_GETの活用で複数シートのデータを1回のAPIコールで一括取得できる
  • KWリスト管理・クライアント管理などの定型作業をClaude Codeから自動化できる
  • GASとclaspと組み合わせることで、スプレッドシートをトリガーにした自動通知まで実現できる

最初のステップとして、まずgogcliをインストールし、日常的に参照しているスプレッドシートの読み取りを試してみることをおすすめします。「このデータをClaude Codeで見たい」と感じるシートが一つでもあれば、そこから自動化を始められます。

Claude Codeの導入・活用をサポートします

株式会社Nexaでは、Claude Codeを活用した業務自動化の個別指導・企業研修を提供しています。「Googleスプレッドシートの自動化から始めたい」「どの業務に適用すれば効果が高いか知りたい」という段階からご支援いたします。

法人向けClaude Code個別指導の無料相談はこちら|まずはお困りごとをプロに相談 →




関連記事

AIの力で、ビジネスを次のステージへ

まずはお気軽にご相談ください。貴社に最適なAI活用プランをご提案します。

Claude Codeのプロに無料相談 30秒で日程調整完了