SuggescoMagazine
Suggesco AI何を読めばいいか、お困りですか?
AIツールSuggesco

GAS自動化はコードが書けなくてもできる。AIに34本書かせて分かった始め方と、暴走させない止め方

GASを一行も書けないまま、AIにコードを書かせる形で自動化ツールを34本作りました。スクリプト…

GASで自動化しようとすると、たどり着く先はたいてい「サンプルコードをコピーして貼ってください」か「まずJavaScriptの文法を覚えましょう」のどちらかです。私はそのどちらも通っていません。2025年の12月まで、私はGASを一行も書けませんでした。ネットで見つけた便利そうなコードを、意味が半分わからないまま貼って動かす程度です。12月からはAIにコードを書かせる形に切り替えて、いまは34本の自動化ツールが手元で動いています。書けるようになってから作ったのではなく、書けないまま作れてしまったという順番です。何ができて、どこから危ないのか、そして動かし続けるために何を付けたのかを、実際に運用している側から書いていきます。

目次

GAS(Google Apps Script)とは何か

まず言葉から整理します。スクリプトというのは、決まった手順を上から順に自動で実行してくれる小さなプログラムのことです。人がマウスで10回クリックしていた作業を、代わりに走ってくれるものだと思ってもらえれば近いです。

GAS(Google Apps Script)は、Googleが無料で提供しているスクリプトの置き場所です。書く言語はJavaScriptがベースになっていて、動かせる相手はGoogleスプレッドシート、Gmail、Googleカレンダー、Googleドライブ、Googleフォームといった、普段使っているサービスです。

非エンジニアにとって一番大きいのは、準備がいらない点だと思います。パソコンに何かをインストールする必要も、サーバーを借りる必要もありません。Googleアカウントさえあれば、ブラウザの中にあるスクリプトエディタという画面を開いて、そこに書いて、その場で実行できます。動かす場所はGoogleのサーバー側なので、自分のパソコンを閉じていても、決めた時刻に勝手に走ります。

費用も、個人で使う範囲なら基本的にかかりません。1日に動かせる量や送れるメールの通数に上限は決まっていますが、日常業務の自動化で当たることはほとんどないでしょう。

Google Apps Scriptでできることの全体像

できることを一覧で並べた記事はたくさんありますが、眺めても頭に残らないと思います。大きく分けると3つです。

①Googleのサービスの中で完結する自動化——スプレッドシートの集計、Gmailの送信や検索、カレンダーへの予定登録、ドライブの整理、Googleフォームの回答を別の表へ転記する、といった仕事です。数のうえでは、ほとんどがここに入ります。

②外部サービスとのAPI連携——APIというのは、サービス同士がデータをやり取りするための窓口のことです。GASからその窓口を叩けるので、チャットツールへの通知、広告や解析の数字の取得、生成AIへの問い合わせなど、Googleの外にあるものとつなげられます。

③Webアプリ化——書いたスクリプトにURLを発行して、ブラウザから使える簡単な画面として公開できます。入力フォームや小さな社内ツールが、これで作れます。

スプレッドシートの自動化から入る人が多いのは、材料が目の前にあって、結果が表として見えるからだと思います。私も最初はそこからでした。

書けないまま、AIに34本書かせた

使い始めたのは2025年の12月ごろです。それまでは前述のとおり、コピーして貼るだけの人でした。文法を勉強し直そうとも思わなくて、代わりにやったのは、Claude Codeに日本語でやりたいことを説明することだけです。Claude Codeは自分のパソコンのフォルダを読んで、ファイルを書き換えたり新しく作ったりできるAIで、入り方はClaude Codeの始め方をまとめた記事に書きました。黒い画面を触らない形から入れるので、コードを書いたことがない方はそちらから読んでもらうと流れがつかみやすいと思います。

8ヶ月ほどで、手元のフォルダに34本たまりました。中身は業種が割れない形に一般化して並べます。

何をするもの いつ動くか 何が変わったか
チャットに流れた依頼をAIに拾わせて一覧にする 手動と定期の併用 読み返して拾う作業が消えた
終わっていない仕事だけを担当者ごとに名指しで通知 毎朝8時 催促のための確認作業が要らなくなった
その時点の数字を1行だけ自動で書き足す 毎月1日 過去の数字を後から取り直せなくなる事故が減った
数字が想定から外れた日だけ通知を出す 日次 毎日ダッシュボードを見に行く習慣が不要になった
解析データを毎日1枚の表に集める 日次 管理画面を横断して転記する時間がまるごと消えた
URLを貼るだけで中身をテキストで持ってくる 手動 コピーの取りこぼしがなくなった
決まった型の資料をデータから組み立てる 手動 体裁を整える手作業が要らなくなった

業務効率化と書くと大げさに聞こえますが、派手なものは1つもありません。どれも、自分が毎月あるいは毎日、同じ手つきで繰り返していた作業です。フォームに届いた内容を一覧に転記して控えのメールを返す、みたいな地味なものほど、任せたときに楽になる幅が大きいと感じています。

AIで業務を減らす最初の一歩をどこに置くかは、一人で仕事をしている人のAI効率化の始め方に別途書きました。まだ1本も自動化していない方は、そちらを先に読むほうが順番として自然かもしれません。

GAS自動化をAIに書かせる手順

サンプルコードを配る記事は山ほどありますが、コードが書けない人がつまずくのは、コードそのものではないと思っています。何を頼めばいいか、返ってきたものをどこに置けばいいか、動かなかったときにどうすればいいか。私が毎回やっている流れを、そのまま4段階で書きます。

①やりたいことを、作業手順の形で書き出す。プログラムの言葉で説明しようとしなくて大丈夫です。「毎朝8時に、このシートのB列を見て、期限を過ぎている行だけを拾って、担当者ごとにまとめてチャットに投げてほしい」——実際に人にお願いするときと同じ書き方で通ります。大事なのは、入力(どこのデータを見るか)と、出力(どこに何を出すか)と、いつ動くかの3つを漏らさないことです。3つのうちどれかが抜けると、返ってくるものも曖昧になります。

②スクリプトエディタに貼って、保存して、実行する。スプレッドシートから作る場合は、メニューの拡張機能からApps Scriptを開きます。返ってきたコードを貼って保存し、実行ボタンを押します。

③エラーが出たら、画面の文字をそのまま投げ返す。今回いちばん伝えたいのは、この一点です。エラーの意味を自分で読み解こうとしなくて構いません。赤い文字で出ているメッセージを全部コピーして、そのままAIに渡して「こう出た」と伝えるだけで、たいてい直ったコードが返ってきます。何行目で止まったかも一緒に書いてあるので、それも渡します。エラーは読めなくていい、そのまま持って帰ればいいと分かってから、詰まる回数が一気に減りました。

④動いたら、コードの控えを手元に残す。GASのコードはブラウザの中にあるので、放っておくと自分の作業フォルダには何も残りません。動いた時点のコードをテキストとしてパソコンにも保存しておくと、後から直すときにAIへ渡しやすく、間違えて上書きしても戻せます。あわせて、そのスクリプトが何のために何を触るのかを数行のメモとして同じ場所に置いておくと、半年後の自分が助かります。

ちなみに、最初から完成形を頼まないほうが早いです。私は「まず読むだけ」「まず1件だけ試す」の形で作らせて、想定どおりに動いてから範囲を広げています。全件を一気に処理するコードをいきなり走らせて失敗すると、どこまで進んだのかを調べるところから始めることになります。

最初の1本で必ず出てくる権限の確認

初めて実行ボタンを押すと、コードの前に権限の確認が出ます。手が止まる人の多いところなので、先に書いておきます。

スプレッドシートやGmailを操作するには、あなたのアカウントに触る許可が要ります。だから実行の前に「このスクリプトにアクセスを許可しますか」と聞かれます。さらに、自分で書いたスクリプトは審査を受けていないので、「Googleが確認していないアプリ」という警告の画面が出ます。見た目が物々しいので不安になりますが、自分が今書いたものに自分で許可を出しているだけです。詳細を開いて、安全でないページへ進む、という表示から先へ進めば実行できます。

他人からもらったコードを動かすときだけは、セキュリティの話になります。何を許可しようとしているのかを一度AIに説明させてから進めるのが安全でしょう。メールを送る権限まで求めてくるコードなら、なぜ必要なのかは説明できるはずです。

決まった時間に動かすトリガーの設定

実行ボタンを押している間は、まだ手作業の延長です。GASが本当に楽になるのは、勝手に動き出してからでした。

スクリプトエディタの左側にある時計のアイコンから、トリガーという設定を足せます。種類はふたつに分けて考えると分かりやすいです。ひとつは時間で動くもので、毎朝◯時、1時間おき、毎月1日といった指定ができます。もうひとつは出来事で動くもので、スプレッドシートが編集されたとき、Googleフォームが送信されたとき、といった条件で走ります。

Googleフォームの送信をきっかけにして、届いた内容を一覧に転記し、送信者へ控えのメールを自動で返す形も作れます。Gmailの自動返信をGASで作る、と言われている仕組みは、だいたいこの組み合わせです。問い合わせフォームの一次返信くらいなら、十分に回ります。

ただ、定期実行を付けた瞬間から、性質が変わります。手で押している間は、間違っていても押した本人が気づけます。トリガーを付けると、間違ったまま毎日走り続けます。だから私は、次に書く準備をしてからトリガーを足すようにしています。

暴走させないためのガードレール

自動化の記事は「こう書けば動きます」で終わるものが多いのですが、実際に困るのは動いた後です。私が34本を回していて事故を起こしていないのは、書き方がうまいからではなく、先に枠をはめているからだと思っています。

まず前提として、危ないのはGASそのものではなく、外に触るところです。スプレッドシートの中で数字を並べ替えるだけなら、間違っても直せます。危ないのは、データベースへ問い合わせるもの、決まった時刻に自動で走るもの、外部のAPIを呼ぶもの、Slackのようなチャットツールと連携するものです。4つのどれかが絡むときだけ、私は作る前に条件を決めます。

作る前に決めている4つ

①1回で取ってくる量の上限(データベースへの問い合わせは、いきなり全期間を取らせない)②1日に実行してよい回数の上限(想定より多く走ったら、そこで止まる)③外に出る操作は手動承認を挟む(送信・投稿・入稿は、必ず下書きか停止状態で作って、人が押してから出す)④緊急停止のスイッチを最初から付けておく(設定シートのセルを1つ書き換えれば、全部止まる)

順番も大事にしています。機能を足してから安全を考えるのではなく、先に上限を決めてから機能を足します。後から機能を追加するときに、枠がすでにはまっていれば、追加分も自然とその中に収まります。逆に、動くものを先に作って走らせてしまうと、追加のたびに「これは大丈夫だったか」を思い出す作業が発生します。

手動承認を挟む理由は、料金というより、間違いに気づく時間を確保するためです。自動で最後まで流し切ると、おかしいと分かるのが数日後になります。人が一度目を通す場所を残しておけば、その日のうちに止められます。緊急停止のスイッチは、使わなくても持っているだけで気が楽になりました

チャット連携と生成AIのAPIは、特に気をつけています。通知は間違えると人の目に触れますし、APIは走った回数がそのまま料金になります。通知の文面や送り先を作りながら足していくときほど、走らせる前に一度自分の目で通す時間を残しておくほうが安全でしょう。

GASの制限とできないこと

できないことも先に知っておくほうが、余計な時間を使わずに済みます。私が実際にぶつかったものを中心に挙げます。

1回の実行時間に上限があります。おおむね6分で打ち切られます。数千行を一度に処理させると、途中で止まって、どこまで進んだのか分からない状態になります。対処は難しくなくて、100件ずつなど区切って処理し、どこまで終わったかをシートに記録しておいて、次回はその続きから始める形にします。AIに頼むときも「実行時間の制限があるので分割して、続きから再開できるようにして」と一言添えれば、その前提で書いてくれます。細かい条件は変わることがあるので、正確なところは公式のドキュメントで確認してください。

自分のパソコンの中のファイルは触れません。GASが動いているのはGoogleのサーバー側なので、デスクトップに置いてあるファイルは見えません。扱いたければ、いったんGoogleドライブへ上げる必要があります。

1日に送れるメールの通数にも上限があります。数字は無料のアカウントとGoogle Workspaceで違うので、公式の一覧で確認してください。大量配信の道具ではない、と考えておくのが無難でしょう。

重い計算や大量データの処理には向きません。数万行の集計を毎日回すような使い方になってきたら、GASで粘るより、別の仕組みに移したほうが早いと思います。

GASとExcelマクロ(VBA)の違い

ExcelのマクロやVBAと何が違うのか、という疑問もよく見かけます。動く場所が違う、と捉えるのが一番分かりやすいです。

GAS Excelマクロ(VBA)
動く場所 Googleのサーバー 自分のパソコン
パソコンを閉じていても動くか 動く 動かない
主な相手 スプレッドシート・Gmail・カレンダー・外部サービス Excelのブックとファイル操作
準備 Googleアカウントのみ Excelが入っていること
共有 URLで共有すればそのまま動く ファイルを配る必要がある

すでに業務がExcelで完結していて、パソコンの中のファイルをまとめて処理したいならVBAのほうが素直です。逆に、決まった時刻に勝手に走らせたい、チームで同じ表を見ている、通知やメールまでつなげたい、という話ならGASのほうが向いています。どちらが優れているかではなく、仕事がどちら側にあるかで決まります。

もう一点、作るときに聞かれるのが、スプレッドシートに紐づけて作るか、単体で作るかです。特定の表だけを扱うならスプレッドシートのメニューから作って紐づけておくほうが迷いません。複数の表をまたいで動かすものや、時刻で走らせるだけのものは、Googleドライブから単体のプロジェクトとして作るほうが後で探しやすいです。私は後者を多めにしています。

動き出した後に困ること

作るところより、動き続けている状態を保つほうが難しいと感じています。よく言われる問題は3つあって、どれも実感があります。

作った本人しか中身が分からなくなる。自動化の記事でだいたい「属人化」と書かれるやつです。ただ、AIに書かせている場合、この問題は少し形が変わります。コードの中に日本語のコメントを入れさせて、そのスクリプトが何のために何を触るのかを数行のメモとして残しておけば、次に開いた人はそれをAIに読ませて説明させられます。人が読んで理解するのではなく、AIが読める形で残しておけば引き継ぎの負担はかなり軽くなります。私は自分の半年後のためにやっています。

止まっても気づかない。トリガーは黙って失敗します。エラーで止まっても、誰も通知を受け取らなければ、数日経ってから「あれ、来ていない」と気づくことになります。対策として、失敗したときにチャットへ知らせる処理を入れておくか、そもそも成功したときにも短い通知を出す形にしておくと、来なくなった時点で気づけます。

権限が作った人に紐づいている。自分のアカウントで動かしている以上、その人が離れると止まります。長く使うものは、置き場所と実行するアカウントを最初に考えておくほうが安全でしょう。

GASは無料でも、AIの分は有料

費用の話を書いておきます。GAS自体は無料で、個人の業務自動化で追加のお金がかかることはまずありません。一方で、コードを書かせているAIのほうは有料です。私は月額のプランに入って使っています。

正直なところ、GASのために課金したわけではありません。資料づくりや集計を含めた普段の仕事全体でAIを使っていて、その延長でGASも書かせているだけです。だから「GASの自動化のためにいくらかかるか」という切り分け方はしていません。実際に払っている額とプランの選び方はClaude Codeの料金をまとめた記事に書いたので、課金の前に確認したい方はそちらを見てください。

元が取れるかどうかは、毎月何時間その作業に使っていたかを一度だけ数えてみると見当がつきます。1本の自動化で月に2時間浮くなら、それが毎月続きます。書かせるのは一度きりです。

GAS自動化はどこから手をつけるか

全部を一気に自動化しようとすると、たいてい途中で止まります。私が34本まで増やせたのは、計画を立てたからではなく、単に目の前で面倒だったものから1本ずつ潰していっただけです。

選ぶときの目安は3つあります。1つ目は、同じ手順を2回以上やっていること。2回目に「またこれか」と思ったら、そこが候補です。2つ目は、出てきた結果の正しさを自分で判定できること。合っているかどうか自分で言えない作業を自動化すると、間違いに気づけません。3つ目は、失敗しても取り返しがつくこと。最初の1本に、送信や公開が絡むものを選ばないほうがいいです。

私の最初の1本は、毎月あちこちからコピーして貼り直していた集計表を、開けば最新になっている状態にするものでした。誰にも通知が飛ばず、間違っても自分の中で完結するので、練習台としてちょうどよかったと思います。

よくある質問

Q. プログラミング未経験でもGASは書けますか? 勉強はどれくらい必要ですか?
A. 私は書けないまま作り始めました。文法を先に覚える必要はなくて、やりたいことを作業手順の形で日本語で説明できれば、コードはAIに書かせられます。ただ、出てきた結果が合っているかを自分で判定する力は要ります。変数やfor文の意味を覚えるより、自分の業務の手順を細かく言葉にする練習のほうが、実際には役に立つと思います。

Q. GASは無料で使えますか? 追加でお金はかかりませんか?
A. GAS自体は無料です。Googleアカウントがあれば使えて、サーバーを借りる費用もかかりません。1日に動かせる量や送信できるメールの通数に上限はありますが、個人の業務自動化で当たることは少ないでしょう。お金がかかるとしたら、外部の有料APIを呼ぶ場合と、コードを書かせるAIの利用料です。

Q. GASのコードをAIに書かせても大丈夫ですか?
A. 動かす相手を分けて考えると判断しやすいです。スプレッドシートの中で計算や並べ替えをするだけのものなら、間違っても自分の表が崩れるだけなので、任せてしまって構わないと思います。気をつけたいのは、決まった時刻に自動で走るもの、外部のAPIを呼ぶもの、チャットに投稿するもの、社内のデータベースへ問い合わせるものです。書かせる前に、1回で扱う件数と1日の実行回数の上限、それから止めるための手段を先に決めておくと安心して任せられます。

Q. Google Apps Scriptは終了する、という話は本当ですか?
A. 私が調べた範囲では、そういった公式の発表は見当たりません。GASは長く提供されている仕組みで、いまも新しい機能が追加されています。ただ、どんなサービスにも仕様変更はありますから、そこは他のツールと同じ前提で考えておけばよいと思います。判断に迷うときは、公式のドキュメントとリリースノートを見るのが確実です。

まとめ

GASの自動化で一番むずかしかったのは、コードが書けるかどうかではありませんでした。やりたいことを手順の形で言葉にできるか、エラーが出たときにその文字をそのままAIへ渡せるか、そのくらいです。私は文法を勉強しないまま入って、いまは34本が手元で動いています。毎朝決まった時刻に走るもの、月に一度だけ動くもの、必要なときに自分で叩くもの。頻度はばらばらです。

ただ、動くものを作るのと、動かし続けるのは別の話でした。データベースを触るもの、決まった時刻に走るもの、APIを呼ぶもの、チャットとつながるものについては、作る前に上限と手動承認と停止スイッチを決めておきます。順番を逆にしないことだけ守っています。

最初の1本は、失敗しても誰にも迷惑がかからないものがいいと思います。毎月コピーして貼り直している表が1つでもあるなら、そこから試してみてください。

Ryuichi
Writer / 運営者 Ryuichi

金沢を拠点に、AI活用とこれからの暮らし方を実際に試して記録しています。

関連する記事

More →
Membership

オープンな場では、
言えないことも。

AI活用と仕組み化、これからの働き方・暮らし方。無料の記事では結論を、購読者向けにはそこへ至るまでの実際を、月に1本お届けします。

月額 1,320円 / 年額 13,200円 / いつでも解約できます