← AI実務ナビ トップへ

マーケティングレポートをスプレッドシート×AIで自動化する方法(GAS連携)

PR本記事はアフィリエイト広告(プロモーション)を含みます。紹介する商品・サービスの選定基準や体験談は編集部の見解に基づきます。

この記事を読むと何ができるようになるか

  • スプレッドシートの関数やGAS(Google Apps Script)のコードをAIに書いてもらい、集計〜レポート表の生成〜定期更新までを「仕組み化」する手順がわかります
  • 「AIにレポートの文章を書かせる」のと「レポートの仕組みそのものを作る」の違いを整理できます
  • GASの無料枠の制限(実行時間など)を踏まえ、無理なく回る小さな自動化から始められます

毎月同じフォーマットのレポートを、手作業でコピペ・集計して作っていませんか。この記事では、Googleスプレッドシートの関数やGASのコードをAIに書いてもらい、レポートを毎月自動で更新される「仕組み」に変える方法を紹介します。手作業を減らす最初の一歩を踏み出すことがゴールです。

まず線引き: 「文章化」ではなく「仕組み化」の記事です

この記事は、姉妹記事「マーケティング担当者がGeminiでデータ分析・レポート作成を効率化する方法」とは役割が違います。混同しやすいので最初に整理します。

Gemini記事(文章化) 本記事(仕組み化)
やること 集計済みの数値を貼り付け、説明文・要約をAIに書かせる 関数・GASのコードをAIに書かせ、集計〜表生成〜定期更新を自動化する
成果物 レポートの「説明文」 毎月自動で更新される「レポートの仕組み」
向いている場面 数値の変化を文章で説明したい 手作業の集計・更新そのものをなくしたい

つまり、「レポートの文章を書く手間」を減らしたいならGemini記事、「集計と更新の手作業」そのものをなくしたいなら本記事です。両方を組み合わせて、「仕組みで集計→文章はGeminiで肉付け」という使い方もできます。

最初に知っておくべき制約: GAS無料枠の実行時間

仕組み化に入る前に、必ず先に知っておくべき制約があります。GAS(Google Apps Script)を通常の無料Googleアカウントで使う場合、1回の実行は約6分で強制終了し、**1日あたりのトリガー実行時間の合計にも上限(目安90分程度)**があります(上限値は変更されることがあります)。

そのため、「何万行ものデータを一気に処理する」ような大きな自動化は、無料枠では途中で止まります。対策はシンプルで、小さく作ることです。

  • 扱うデータを数十〜数百行程度に絞る、または期間で区切る
  • 重い処理は分割し、途中経過を記録して次回に続きから処理する(PropertiesServiceなどを使う)
  • まずは「毎月の決まったシートを集計して1枚のレポート表にする」程度の小さな範囲から始める

⚠️ 注意: GASの実行時間・トリガーの上限は、無料アカウントとGoogle Workspace契約とで異なり、仕様も変更されることがあります。大きな処理を組む前に、必ず公式ドキュメントで最新の制限を確認してください。

無料でどこまでできる? ツールごとの整理

ツール 無料でできること 有料/制限に当たる場面
スプレッドシート関数 QUERYIMPORTRANGESUMIFSなどでの集計・レポート表作成 基本的に無料で完結
GAS 集計処理・レポート生成・時間主導型トリガーでの定期実行 1回6分/1日の合計時間など実行制限あり
Gemini(シート内直接連携) 「Gemini in Google スプレッドシート」はGoogle Workspace対応プランまたはGoogle AI Proが必要
AIにコードを書かせる ChatGPT・Claude等の無料プランで、関数やGASのコードの下書きを作れる 一定時間あたりの利用回数に上限あり

ポイントは、スプレッドシート関数とGASは無料で使えるという点です。Geminiのシート内直接連携は有料ですが、それがなくても関数とGASで自動化の仕組みは作れます。「無料で完結させたい」なら、本記事のアプローチが選択肢になります。

💡 ポイント: コードを書くのはAI(無料プランでも可)、動かすのは無料のスプレッドシート/GAS、という組み合わせなら、初期コストをかけずに自動化を試せます。

全体の流れ(図解)

① レポートに必要な数値と、元データの置き場所を決める


② 集計に使う関数、または処理内容をAIに伝えてコードを書かせる


③ AIが書いた関数/GASコードを、自分のシート・スクリプトに貼る


④ 少量のデータで動かし、結果が正しいか人が必ず確認する


⑤ 時間主導型トリガーで、毎月/毎週の定期更新を自動化する

実際の手順

  1. Googleスプレッドシートで、元データのシートと、レポートを出力するシートを分けて用意する
  2. レポートに載せたい数値(例: 月別のクリック数・CV数・費用)と、その集計方法を言葉で整理する
  3. まずは関数でできる範囲を、AI(ChatGPT・Claudeなど)にコードを書いてもらう。例えば「QUERYで月別に集計する式」を依頼する
  4. 関数で足りない処理(複数シートの結合・整形・定期更新)は、GASのコードをAIに書いてもらう
  5. AIが書いたコードを自分のシート/スクリプトエディタに貼り、少量のデータで試し、結果を元データと突き合わせて確認する
  6. 正しく動いたら、GASの時間主導型トリガーを設定し、毎月・毎週の自動更新にする

AIにコードを書いてもらうプロンプト例(3つ)

コードは自分で書く必要はありません。「何のデータを・どう集計して・どこに出すか」を具体的に伝えるのがコツです。

プロンプト例(集計用の関数を書いてもらう場合):

Googleスプレッドシートの関数を教えてください。
・元データ: 「rawdata」シートのA列に日付、B列に流入元、
 C列にクリック数、D列にコンバージョン数
・やりたいこと: 流入元ごとに、クリック数とコンバージョン数の
 合計を集計した表を別シートに出したい
QUERY関数など、無料のスプレッドシートで使える式で
提案してください。式の意味も簡単に説明してください。

プロンプト例(GASで集計〜レポート生成を書いてもらう場合):

Google Apps Script(GAS)のコードを書いてください。
・「rawdata」シートの当月分を集計し、「report」シートに
 流入元別のクリック数・CV数・CVRの表を出力する
・処理はできるだけ軽くし、実行時間が長くならないようにする
・初心者向けに、コードの各ブロックにコメントを付けてください
※このコードは少量データで動作確認してから使う前提です。

プロンプト例(定期実行のトリガー設定を教えてもらう場合):

上記のGASを、毎月1日の朝に自動実行したいです。
GASの「時間主導型トリガー」の設定手順を、
スクリプトエディタの画面操作に沿って教えてください。
無料アカウントの実行時間制限に触れそうな場合は、
その注意点も教えてください。

AIに実際に手伝ってもらったやり取り

自分: rawdataシートの当月分を、流入元別にクリック数とCV数で集計して、reportシートに出すGASを書いてください。処理は軽くしてください。

AI: シート全体を1回で読み込み、当月分だけをフィルタして流入元ごとに集計し、結果をまとめてreportシートに書き込む構成にすると、シートへの読み書き回数が減って処理が軽くなります。以下のように、(1)データを配列でまとめて取得、(2)スクリプト側で集計、(3)結果を一度に書き込む、という流れのコードにしました。各ブロックにコメントを付けています。まずは数十行のデータで動作を確認し、結果が手集計と一致するか見てから本番データに広げてください……(以下、コード)

このように、AIは処理を軽くする書き方まで提案してくれます。ただし、出力されたコードが本当に正しく動くか・数値が合っているかは、必ず自分が少量データで確認します。ここを飛ばすと、間違った数値のレポートが自動で量産される事態になりかねません。

Before/After比較

項目 従来のやり方 スプレッドシート×AI自動化後
集計 毎月手作業でコピペ・集計 関数/GASで自動集計
レポート更新 毎回ゼロから作り直す トリガーで定期自動更新
コードを書く手間 自分で調べて書く AIにコードを書かせる
数値の正確性の確認 自分で確認 自分で確認(変わらず・省略不可)

※上記は一般的に想定される変化の整理であり、当社が数値として計測したものではありません。

使用例: レポート作業に追われる担当者・渡辺さんのケース

Google広告とアクセス解析のデータを、毎月スプレッドシートで手集計していた渡辺さんの例です。月初はレポート作成で丸1日つぶれていました。

  1. まず「流入元別のクリック数・CV数を集計するQUERYの式」をAIに書いてもらい、手集計をなくしました
  2. 複数シートの結合と整形が必要な部分は、GASのコードをAIに書いてもらいました
  3. いきなり全データではなく、まず1ヶ月分の少量データで動かし、手集計の結果と一致することを確認しました
  4. 正しく動いたので、毎月1日に自動実行されるトリガーを設定し、月初のレポート作業を大幅に減らしました

渡辺さんいわく、「コードは書けないと思っていたけれど、『何をしたいか』を伝えればAIが書いてくれるので、少量で動作確認しながら進められた」とのことでした(これは渡辺さんの体感であり、当社が効果を計測した数値ではありません)。

気をつけたいこと

  • AIが書いたコードは、必ず少量データで動作確認し、数値が正しいかを人が確認してから本番に使ってください。間違ったまま自動化すると、誤ったレポートが量産されます
  • GASの無料枠は1回の実行時間・1日の合計時間に上限があります。大きな処理は分割し、小さく始めてください
  • 「Gemini in Google スプレッドシート」のシート内直接連携は有料プランが必要です。無料で完結させたい場合は、本記事の関数+GASのアプローチが選択肢になります
  • 広告データ・顧客データなど機密性の高い情報を扱う場合は、コードをAIに相談する際に具体的な数値やアカウント情報を貼り付けない、といった配慮をしてください

⚠️ 注意: 本記事で紹介したツールの仕様・無料枠の制限は執筆時点の情報です。GASの実行時間制限やGeminiの提供条件は変更されることがあるため、実際に利用する際は公式ドキュメントで最新情報を確認してください。

よくある質問

Q. コードが書けなくても大丈夫ですか? はい。コードはAIに書いてもらえます。大切なのは「何のデータを・どう集計して・どこに出したいか」を具体的に伝えることと、出力されたコードを少量データで動作確認することです。

Q. Geminiでレポートを作るのとは何が違うのですか? Geminiは「集計済みの数値を文章で説明する(文章化)」のが得意です。本記事は「集計と更新の仕組みそのものを作る(仕組み化)」話です。詳しくは「Geminiでデータ分析・レポート作成を効率化する方法」とあわせてご覧ください。

Q. 無料のままずっと運用できますか? 扱うデータ量が小さければ無料枠の範囲で運用できます。ただしGASには実行時間の上限があるため、データが大きくなってきたら処理の分割やWorkspace契約の検討が必要になる場合があります。

まとめ

毎月の手作業レポートは、スプレッドシートの関数やGASのコードをAIに書いてもらうことで、「毎月自動で更新される仕組み」に変えられます。ポイントは、Geminiでの「文章化」とは役割が違い、本記事は「集計と更新の仕組み化」だということ。そして、GAS無料枠の実行時間制限を踏まえて小さく始め、AIが書いたコードは必ず少量データで動作確認することです。まずは1つの集計を関数で自動化するところから始めてみてください。

関連する実務ガイド

編集部の実体験メモ

当社はAIエージェントに自動化スクリプトの作成を任せて、日々のデータ集計や定期処理を仕組み化しています。その経験から言えるのは、『AIにコードを書かせるときこそ、小さく作って動作を必ず人が確認する』ことが結果的に一番早い、ということです。本記事はその考え方をもとに、スプレッドシートとGASでレポートを仕組み化する手順を整理しました。ただし紹介するツールの仕様・無料枠の範囲は変更されることがあるため、実際に利用する際は公式ドキュメントで最新情報をご確認ください。