MENU

GASとは?できること・始め方・学習順を初心者向けに解説

当ページのリンクには広告(PR)が含まれていることがあります。
【初心者向け】GASとは?できること・始め方・学習順を実務目線で解説のアイキャッチ
お悩み女子

スプレッドシートの毎月の集計を自動化したいけれど、GASで何ができて、どこから始めればいいのか分からない……

GAS(Google Apps Script)は、Googleが提供するプログラミングの仕組みです。ブラウザだけで書いて動かせるので、スプレッドシートの作業を自動化したい人が最初に検討しやすい道具です。

GASでできること、スプレッドシートから最初のコードを動かす手順、学ぶ順番、そして公式が定めている上限を紹介します。GASはこの環境では動かせないため、コードは公式ドキュメントのサンプルの書き方に沿って書いたもので、GASでの実行は確かめていません。JavaScriptとしての文法と処理の流れだけは、Node.jsでスプレッドシートの動きを模して確かめました。上限の数値は公式の割り当てのページで2026年10月に確かめた内容です。

この記事でわかること
  • GASの仕組みと、公式が挙げている「できること」
  • スプレッドシートで使う3つの自動化の形
  • 最初のコードを動かす4ステップ
  • 自動化にたどり着くまでの学習順
  • 実行時間やメール数の上限と、承認の注意点
目次

GASの仕組みとできること

GASはブラウザで書いて、Googleのサーバーで動く仕組みです。まず動く場所と書き方を押さえてから、公式が挙げている「できること」を見ます。

動く場所と書き方

公式の概要ページによると、GASは追加のインストールが要りません。ブラウザの中にコードエディタがあり、書いたスクリプトはGoogleのサーバーで動きます。言語は最近のJavaScriptで、let や const といった新しい書き方も使えます。JavaScriptが初めての人向けに、公式は学習コースを案内しています(Google製ではありません)。

スプレッドシートの「拡張機能」から「Apps Script」を選んで作るスクリプトは、そのシートに紐づくコンテナバインドスクリプトになります。公式によると、メニューの追加は紐づいたスクリプトだけができ、「今開いているシート」を取る getActiveSpreadsheet も使えます。単独のスクリプトは script.google.com から作ります。最初はシートに紐づく方を選びます。

公式が挙げるできること

公式の概要ページはGASでできることとして次のものを挙げています。

  • Googleドキュメント・スプレッドシート・フォームに、カスタムメニューやダイアログ、サイドバーを足す
  • スプレッドシートのカスタム関数とマクロを書く
  • Webアプリとして公開する
  • Gmail、カレンダー、ドライブ、Googleマップなど、ほかのGoogleサービスとやりとりする
  • Google Workspace Marketplace向けのアドオンを作る

スプレッドシートの手作業を減らす目的なら、まずメニュー、カスタム関数、ほかのサービスとの連携を見ます。Webアプリとアドオンは、その先の段階です。

GASでできるスプレッドシートの自動化3つ

スプレッドシートの自動化はいつ動かすかで3つの形に分けると整理できます。

スクロールできます
形動くきっかけ使う仕組み詳しい記事
手動で動かすメニューをクリックしたときカスタムメニュー(onOpen で作る)Apps Scriptエディタの使い方
決まった時刻に動かす指定した時刻や間隔時間主導型トリガーGASトリガーの基本
操作をきっかけに動かすシートの編集、ファイルを開く、フォームの送信onEdit や onOpen、フォーム送信トリガーGoogleフォーム回答をGASで処理する方法

時間主導型トリガーは公式によると最短1分ごとから、月1回までの間隔で設定できます。時刻は少しずれることがあり、毎日9時に設定すると、9時から10時のどこかで動きます。

onEdit や onOpen のような名前で動く「シンプルトリガー」には、制限があります。承認が必要なサービスは使えないので、たとえばメールの送信はできません。動けるのは30秒までで、スクリプトが setValue で書き換えたときには onEdit が動きません。メールを送るなど承認が必要な処理は、手動で作る「インストール型トリガー」を使います。

インストール型トリガーは作った人のアカウントで動きます。同僚がファイルを開いて動いたときも、メールの差出人はトリガーを作った人になります。

GASの始め方|スプレッドシートからコードを動かす4ステップ

ここでは、B列の売上を合計してD1に書き込む小さなコードで、開く、書く、実行する、確かめるの流れを一通り進めます。

練習用のシートはA列に店舗名、B列に売上を入れ、1行目を見出しにします。2行目から順に、東京が1200、大阪が3400、名古屋が560です。

最初は元のシートを直接使わず、練習用のシートかコピーしたシートで動かします。このコードはD1に書き込むので、すでに値があると上書きされます。

① Apps Scriptのエディタを開く

スプレッドシートの上のメニューから、「拡張機能」の中にある「Apps Script」を選びます(英語表示では Extensions の Apps Script)。エディタが開き、このシートに紐づくスクリプトができます。

② コードを貼って保存する

エディタに最初から入っているコードを消して、次のコードを貼り、保存します。

function sumSales() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const lastRow = sheet.getLastRow();
  if (lastRow < 2) {
    console.log("2行目以降にデータがありません");
    return;
  }

  // B列の2行目から最終行までの売上を読み取る
  const values = sheet.getRange(2, 2, lastRow - 1, 1).getValues();
  let total = 0;
  for (const row of values) {
    total += Number(row[0]);
  }

  sheet.getRange("D1").setValue(total);
  console.log(`合計: ${total}`);
}

getLastRow() でデータのある最後の行を調べ、getRange(2, 2, lastRow - 1, 1) で「2行目・2列目から、最終行までの1列」を指定します。getValues() で値をまとめて読み、足し合わせて、setValue でD1に書きます。2行目以降にデータがないときは、何もせずに終わらせています。

③ 実行して承認する

エディタの上で関数名(sumSales)を選び、「実行」を押します(英語表示では Run)。初めて実行すると、承認のダイアログが出ます。公式によると、GASはコードを調べて、使うサービスに必要な権限を自動で決めます。このコードはスプレッドシートを使うので、スプレッドシートへのアクセスを求められます。

Google Workspaceのアカウントでは、管理者の承認が必要な場合があると、公式のクイックスタートに書かれています。会社のアカウントで承認画面が進まないときは、先に管理者に相談します。

コメントアウトしたコードでも、承認を求められることがあります。許可した内容は、Googleアカウントの「セキュリティ」にある、サードパーティ製のアプリとサービスの一覧から取り消せます。

④ 結果を確かめてメニューにする

このコードの想定では、D1に5160(1200 + 3400 + 560)が入ります。GASでは動かしていないので、手元で確かめてください。エディタの上の「実行ログ」(Execution log)には、「合計: 5160」と出るはずです。

毎回エディタを開くのは手間なので、シートのメニューから実行できるようにします。次のコードを、同じエディタに追加して保存します。

function onOpen() {
  SpreadsheetApp.getUi()
    .createMenu("自動化")
    .addItem("売上を合計", "sumSales")
    .addToUi();
}

onOpen は、ファイルを開いたときに自動で動く決まりの名前です。シートを開き直すと、「自動化」というメニューが増え、「売上を合計」を選ぶと sumSales が動く想定です。公式によると、メニューを作れるのはシートに紐づいたスクリプトだけです。

GASで自動化するまでの学習順6段階

学ぶ順番は、画面に慣れる、シートを読み書きする、自動で動かす、ほかのサービスと連携するの流れにすると、途中で止まりにくくなります。

スクロールできます
段階学ぶこと次に読む記事
1エディタの画面と実行ログの見方Apps Scriptエディタの使い方
2シートの読み書き(セル・行・範囲)GASでスプレッドシートを読み書きする基本
3メニューの追加(onOpen)この記事のステップ④
4トリガーによる定期実行GASトリガーの基本
5メール・ドライブ・フォームなどとの連携GASでGmail通知を送る方法
6止まったときの調べ方(実行ログ・上限)GASのエラーログを見る方法

段階1と2は、読むだけのコードで動きを確かめてから、書き込みのあるコードに進みます。書き込みは元に戻せない場合があるため、勝率が高いのは、先に読み取りだけで範囲と件数を確かめる順番です。

AIにコードを書いてもらう場合も、この順番は変わりません。シート名、範囲、件数は人が確かめ、コピーしたシートで先に動かします。

GASの上限と注意点|実行時間・メール数・承認の確認

GASには、1回の実行時間や、1日に使える量の上限があります。止まる前に、主な数値を確かめておきます。

主な上限の表

公式の割り当てのページ(2026年10月時点で、最終更新は2026年9月3日)から、自動化でよく関わる項目を選びました。

スクロールできます
項目個人アカウント(gmail.comなど)Google Workspace
スクリプト1回の実行時間6分6分
カスタム関数1回の実行時間30秒30秒
トリガーの合計実行時間90分 / 日6時間 / 日
メール受信者数(MailAppなど)100 / 日1,500 / 日
URL取得(外部へのアクセス)20,000回 / 日100,000回 / 日
1スクリプトのトリガー数20 / ユーザー20 / ユーザー

公式は、割り当てがユーザーごとで、最初のリクエストから24時間後にリセットされると説明しています。1回の実行は6分までなので、数万行の処理は、分けて動かす設計が必要になることがあります。分け方はGASの実行時間制限で止まる時の分割実行と再開設計で扱っています。

上の数値は、公式が「予告なく変更されることがある」と書いています。実際に使う前に、公式のページで最新の値を確かめてください。メール数の欄には公式の表で注記の印(*)が付いているため、送る前に MailApp.getRemainingDailyQuota() で残りの数を確かめられます。

止まったときに見る場所

上限を超えると、スクリプトは例外を出して止まります。公式の割り当てのページには、たとえば次のようなメッセージが載っています。

  • Service invoked too many times:サービスを1日に呼びすぎた
  • Service using too much computer time for one day:1日の実行時間の合計を超えた。トリガーで動くスクリプトは、手動で動かすより1日の上限が低い
  • Limit exceeded: Email Attachments Per Message:1通あたりの添付ファイルの数が上限を超えた

時間主導型トリガーのように、画面を見ていない間に動くスクリプトが失敗すると、公式の説明では「Summary of failures for Apps Script」という件名のメールが届きます。原因は、エディタ左側のメニューにある「Executions」(実行履歴の一覧)で、失敗した実行とエラーメッセージを見て調べます。見方はGASのエラーログを見る方法で扱っています。

GASに関するよくある質問

GASについて、よくある疑問をまとめました。

個人のGoogleアカウントでもGASは使えますか?

使えます。公式の割り当ての表には、個人アカウント(gmail.comなど)向けの数値があり、Google Workspaceより低く設定されています。Workspaceのアカウントでは、管理者の承認が必要な場合があります。

JavaScriptを知らなくても始められますか?

GASはJavaScriptで書くので、変数、関数、配列といった基本は必要です。公式の概要ページも、初めての人向けにJavaScriptの学習コースを案内しています。AIに書かせる場合も、コードの意味を読み取れる程度の知識があると、範囲の間違いに気づけます。

GASとPythonは、どちらから始めればよいですか?

データがスプレッドシートの中で完結するなら、インストール不要で始められるGASが向いています。手元のExcelやCSVを処理するなら、Pythonを検討します。判断の材料は、Excel作業はPythonとGASどっちで自動化する?とノーコード・GAS・Pythonの違いにまとめています。

承認の画面が出ました。許可してよいですか?

自分で書いた、または中身を確かめたコードだけ許可します。GASはコードを調べて必要な権限を決めるので、「なぜこの権限が要るのか」を、コードの中のサービス名(SpreadsheetApp、GmailAppなど)と照らして確かめます。許可はあとで取り消せます。

GASの最初の実行と上限の確認

GASの基本を整理します。

この記事のまとめ

GASとは:ブラウザで書いてGoogleのサーバーで動く仕組み。JavaScriptで書き、追加のインストールは要らない。
できること:メニューやカスタム関数の追加、ほかのGoogleサービスとの連携、Webアプリの公開など。
始め方:「拡張機能」から「Apps Script」を開き、コードを貼って保存、実行して承認する。最初は練習用のシートで動かす。
学ぶ順番:エディタ、シートの読み書き、メニュー、トリガー、他サービス連携、止まったときの調べ方。
上限:1回の実行は6分まで。トリガーの合計時間やメール数にも1日の上限がある。

まずは練習用のシートで、読み取りだけのコードから動かしてください。上限は予告なく変わることがあるので、本番で使う前に公式のページで最新の値を確かめます。

GASの次の一歩は、次の記事でも扱っています。

参考資料
Google Apps Script overview | Apps Script
Extend Google Sheets | Apps Script
Custom Menus in Google Workspace | Apps Script
Simple Triggers | Apps Script
Installable Triggers | Apps Script
Quotas for Google Services | Apps Script
Authorization for Google Services | Apps Script

この記事を書いた人

Watanabeのアバター Watanabe サイト運営者

2020年よりブログ開始。
SEOが思いのほか性にあっていたようで現在に至る。
モットーは「勝率の高い選択をする」
AIは活用するが吉、最後は人間が息を吹き込む。
アートと科学を追求し、日々精進。
―――
収益:6~7桁をウゴウゴ。
サイト:ペラサイト~中規模サイトまで運営中。
案件:1000円以上の案件をメインに取組中。
打ち手:ブラックSEO~ホワイトSEOまで
―――

目次