本記事はアフィリエイト広告(PR)を含みます。
「毎日のコピペや定型メールをなんとかしたいけれど、GASで具体的に何ができるのか分からない」。そんな方に向けた記事です。
結論:GASは、スプレッドシート・Gmail・カレンダーなどのGoogleサービスを、時間トリガーで無人実行できる自動化ツールです。プログラミング未経験でも、生成AIの力を借りれば小さな自動化から始められます。ただし実行時間やメール送信数には制限があり、向かない業務もあります。
この記事では、できること15選に加えて、自動化すべきかを判定する3問、始め方、AIへの依頼プロンプト、限界ラインまでまとめます。なお、本記事は筆者の体験談ではなく、公式ドキュメントで確認できる情報と再現可能な手順をもとにした調査・解説記事です。
GASとは?自動化でできることを30秒で整理
Google Apps Scriptの概要
Google Apps Script(GAS)は、Google Workspaceの各サービスを連携・自動化するための、JavaScriptベースのスクリプト環境です。ブラウザ上のエディタで開発でき、Googleアカウントがあれば無料で始められます(公式の概要ページ)。
ExcelマクロやZapier/Makeとの違い
Excelマクロは基本的にPC上のファイルを操作します。一方GASはクラウド上で動くため、PCを起動していなくても時間トリガーで自動実行できます。ZapierやMakeのようなノーコードツールは設定が手軽ですが、GASはコードで細かい処理を書ける自由度が強みです。逆に、デスクトップアプリの操作はRPAなど別のツールが向きます。
この記事の結論:できること早見表
自動化の対象は、次の4分類で整理すると分かりやすくなります。
| 分類 | 主な用途 | 使うサービス | 難易度の目安 |
|---|---|---|---|
| ①データ処理 | 集計・転記・整形・バックアップ | SpreadsheetApp / DriveApp | ★〜★★ |
| ②メール・通知 | 自動返信・添付保存・リマインド | GmailApp / CalendarApp | ★★ |
| ③外部サービス連携 | Slack通知・API取得 | UrlFetchApp | ★★〜★★★ |
| ④AI連携 | 要約・分類・文章生成 | UrlFetchApp+Gemini API等 | ★★★ |
【分野別】GASで自動化できること15選
GAS最大の強みは、時間トリガーで無人実行できる点です。「毎朝7時台に集計する」「フォームが送信されたら通知する」といった動きを、自分が何もしなくても回せます。なお、時間主導型トリガーの実行時刻には数分〜1時間程度の幅があり、指定した時刻ちょうどには動きません。始業前に必ず完了している必要がある業務では、この点に注意してください。以下は「何が楽になるか/主に使うサービス/難易度の目安」で整理しています。難易度は筆者が一般的な実装の手間から付けた目安です。
スプレッドシート編
読み取り・書き込み・整形は、SpreadsheetAppサービスで実行できます(公式リファレンス)。
- 日次売上の集計:手作業の合計・転記が不要に/SpreadsheetApp/★★
- 複数シートの統合:担当者別シートを1枚にまとめる/SpreadsheetApp/★★
- スプレッドシートの自動バックアップ:定期的にコピーを保存/DriveApp/★★
Gmail編
メールの送信・検索・ラベル操作は、GmailAppサービスで可能です(公式リファレンス)。
- 問い合わせメールの自動返信:受付完了の連絡を自動化/GmailApp/★★
- Gmail添付ファイルのDrive保存:請求書などを自動で整理/GmailApp・DriveApp/★★★
- メールの自動仕分け:条件に合うメールにラベルを付与/GmailApp/★★
カレンダー・フォーム編
- 予定の一括登録:シートの一覧からカレンダーへ登録/CalendarApp/★★
- フォーム回答の通知:回答が届いたら自分宛にメール/フォーム送信時トリガー/★
ドライブ・ドキュメント編
- 請求書PDFの自動作成:テンプレートに差し込んでPDF化/DocumentApp・DriveApp/★★★
- 定期レポートのメール送付:集計結果を毎週自動で送る/GmailApp/★★
外部連携編
UrlFetchAppを使うと、外部のAPIやWebサービスにHTTPリクエストを送れます(公式リファレンス)。
- Slack通知:更新や異常をチャットへ知らせる/UrlFetchApp/★★
- 天気やニュースの定時取得:公開APIの情報をシートに蓄積/UrlFetchApp/★★★
- タスクのリマインド:期限が近い行を抽出して通知/SpreadsheetApp・GmailApp/★★
AI連携編
Gemini APIは公式ドキュメントでHTTPリクエストによる呼び出し方が公開されており、GASからも利用できます(公式ドキュメント)。モデル名・料金・無料枠は変わりやすいため、利用前に最新情報を確認してください。
- AI要約・分類:問い合わせ文や議事録を要約・カテゴリ分け/UrlFetchApp/★★★
- ブログ記事の下書き作成補助:見出し案や下書きをシートに出力/UrlFetchApp/★★★
自動化すべき業務・しないほうがよい業務を3問で判定
できることが多いぶん、「何でも自動化」は失敗のもとです。次の3問で判断してみてください。
判定質問:頻度/ルール化できるか/ミスの影響度
- Q1 週1回以上発生しますか?(頻度が低いと、作る手間のほうが大きくなりがちです)
- Q2 手順を文章で説明できますか?(説明できれば、AIにもコードを依頼しやすくなります)
- Q3 失敗しても影響が限定的ですか?(誤送信や誤削除が重大な業務は慎重に)
3つすべて「はい」なら、GAS向きの候補です。1つでも「いいえ」なら、手順の整理や確認フローを入れてから検討しましょう。
GAS向きの業務の特徴
- 毎回同じ手順で、判断が不要
- 入力も出力もGoogleサービス上で完結する
- 数分で終わる程度のデータ量
GASより手作業・他ツールが向く業務
- 判断が毎回変わる業務(例外対応が多いもの)
- 個人情報や機密を大量に扱う業務
- 社内ルールで外部連携やスクリプト実行が制限されている業務
会社で使う場合は、事前にセキュリティポリシーや管理者設定を確認してください。可否の判断は、情報システム部門など社内の担当窓口に相談するのが確実です。
なお、頻度が低く自動化するほどでもない入力作業が残る場合は、入力環境を整えて時短する手もあります。
テンキー付き ワイヤレスキーボード
GASで自動化を始める手順(初心者向け5ステップ)
ステップ1:Apps Scriptエディタを開く
スプレッドシートのメニューから「拡張機能」→「Apps Script」を選ぶと、エディタが開きます。このシートに紐づく「コンテナバインド型」スクリプトになります。
ステップ2:最初の関数を書いて実行・権限承認
まずはセルに日付を書き込む最小サンプルで動作を確認します。
function writeToday() {
const sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange('A1').setValue(new Date());
}
自分宛のテストメールなら、次の1行で試せます。
GmailApp.sendEmail(Session.getActiveUser().getEmail(), 'テスト', 'GASから送信しました');
初回実行時は権限の承認画面が出ます。「このアプリは確認されていません」と表示されて不安になるかもしれません。自分で作ったスクリプトの場合に出る表示ですが、求められている権限の内容(メール送信、スプレッドシート操作など)を必ず読み、意図した範囲かを確認してから進めてください。出所の分からないコードを承認するのは避けましょう。
ステップ3:トリガーを設定する
時間主導型やフォーム送信時などのインストール型トリガーを設定すると、スクリプトが自動実行されます。エディタ左の時計アイコンから追加でき、詳細は公式のトリガーガイドで確認できます。
ステップ4:ログ確認とエラー通知の設定
実行履歴(実行数)でエラーの有無を確認できます。トリガー設定では、失敗時の通知メールを受け取る設定も可能です。無人実行は「止まっても気づかない」のが最大のリスクなので、必ず設定しておきましょう。
ステップ5:運用ルールを決める
- 編集前にコードのコピーを保管する
- 何をするスクリプトか、冒頭にコメントで説明を書く
- シートやスクリプトの共有範囲を必要最小限にする
基礎から体系的に学びたい方は、入門書を手元に置くのも一つの方法です。
Google Apps Script 入門 書籍
スプレッドシート GAS 自動化 本
Gemini・Claudeでコードを書かせて自動化するコツ
依頼プロンプトの型
AIへの依頼は、目的/入力/出力/制約の4点を書くと精度が上がります。シート名や列の構成など、前提を具体的に伝えるのがコツです。
用途別プロンプト例
【集計】
Googleスプレッドシートの「売上」シートのA列に日付、B列に商品名、C列に金額があります。今日の日付の行だけ合計し、「集計」シートのA1に出力するGASを書いてください。初心者向けにコメントを付けてください。
【メール】
Googleスプレッドシートの「申込」シートのA〜D列を読み取り、未処理の行にだけメールを送るGASを書いてください。送信後はE列に「済」と入れてください。まずは実際に送らず、ログに宛先を出力するだけの確認モードも付けてください。
【通知】
スプレッドシートのB列の期限が明日の行を抽出し、タスク名をSlackのWebhook URLに送るGASを書いてください。Webhook URLはスクリプトプロパティから読み込む形にしてください。
生成コードの確認ポイントとテスト方法
- いきなり本番データで動かさず、テスト用シートや少量データで先に試す
- 削除・送信系の処理には、ログ出力だけの「ドライラン」を入れる
- エラーが出たら、エラー文とコードをそのままAIに貼って修正を依頼する
- APIキーなどの秘密情報はコードに直書きせず、スクリプトプロパティ(PropertiesService)に保存する
AIが書いたコードは、内容を理解しないまま実行しないことが大切です。分からない行は「この行は何をしていますか?」と質問して確認しましょう。
GASの限界と注意点|できないこと・制限・トラブル回避
実行時間・メール送信数などの制限(クォータ)
GASにはクォータ(利用上限)があります。上限は無料のGoogleアカウントとGoogle Workspaceで異なります。数値は変更される可能性があるため、必ず公式のクォータページで最新値を確認してください。
| 確認すべき項目 | 無料アカウント | Workspace |
|---|---|---|
| 1回のスクリプト実行時間 | 上限あり(公式で確認) | |
| トリガーの1日あたり合計実行時間 | 上限あり・アカウント種別で異なる | |
| 1日あたりのメール送信数 | 上限あり・アカウント種別で異なる | |
| URL Fetch(外部通信)回数 | 上限あり・アカウント種別で異なる | |
大量データや高度なUIが必要な場合の代替策
1回の実行時間に上限があるため、大量データは処理を分割して数回に分けて実行する、一度に処理する件数を絞る、といった工夫が有効です。それでも収まらない重い処理や、複雑な画面を持つ本格的なシステムは、他のクラウドサービスや専用ツールを検討しましょう。
セキュリティ・権限・アカウント引き継ぎのリスク
トリガーは作成したユーザーのアカウントで動くため、そのユーザーの異動・退職・権限削除で止まります。共有ドライブでの管理、編集者の追加、オーナー移管の手順やトリガー再作成の手順の文書化を検討してください。
よくある質問
GASは無料で使えますか?
Googleアカウントがあれば無料で利用できます。ただし上限があり、Workspaceでは上限が異なります。
プログラミング未経験でも自動化できますか?
簡単な処理であれば可能です。公式サンプルを動かし、生成AIにやりたいことを具体的に伝えてコードを作ってもらう方法が現実的です。必ずテスト用データで動作確認してください。
会社の業務で使っても問題ありませんか?
社内規程や管理者設定で外部連携やスクリプト実行が制限されている場合があります。導入前に情報システム部門や管理者へ確認してください。
まとめ|まずは“週1回の面倒な作業”を1つ自動化しよう
- GASはGoogleサービスを時間トリガーで無人実行できる。できることは「データ処理・メール通知・外部連携・AI連携」の4分類
- 自動化は「頻度・ルール化・失敗の影響度」の3問で選び、制限(クォータ)は公式で確認する
- コードはAIに書かせてよいが、テスト用データで動作確認し、権限内容を確認してから本番運用する
今日やること3ステップ
- 週1回以上ある面倒な作業を1つ選ぶ
- 手順を文章にして、この記事のプロンプト雛形でAIに依頼する
- テスト用シートで実行し、問題なければトリガーを設定する
次は、GASとGeminiの連携、スプレッドシート自動化の実践、トリガー設定の詳細といった記事もあわせて読むと、理解が深まります。