Google Apps Script(GAS)完全ガイド|初心者から始める基本と活用例

毎日の業務や生活の中で「もっと効率化できないかな?」と感じる瞬間はありませんか?
メールの送信、スプレッドシートでの集計、ファイル整理など、単純だけれど時間がかかる作業は誰にでもあるはずです。

そんな悩みを解決してくれるのが Google Apps Script(GAS) です。
Googleが提供しているこの無料ツールを使えば、Gmail・スプレッドシート・Googleドライブ・GoogleカレンダーといったGoogleサービスを中心に多岐にわたって自動化でき、手作業を大幅に削減できます。

AWSやGCPといったサーバーを立てる必要のないサーバーレスなので非常に簡単で、無料で使うことができる味方にすれば業務改善がぐっと捗るツールです。

Google Apps Scriptは、外部API(ChatGPTやslackなど)とも連携することができるため自由度高く業務を自動化することができます。

この記事では、GASの大枠すべてを解説し、初心者でもゼロから始められる手順と、実務や日常に役立つ活用例をたっぷり紹介します。
「GASとは?」「どうやって使うの?」「どんな自動化ができるの?」といった疑問に答える完全ガイドです。

当ブログがオススメする

業務自動化サービスランキング

なお、業務効率化や工数削減を目指しているものの、どの業務から自動化すべきか、どのツールや手段が自社に合っているのかがあいまいな方は、「業務自動化プラン診断」をお試しください。

かかる時間は1分ほど。4つの質問に答えるだけで、あなたに最適な自動化対象業務や、推奨される自動化手段を診断してもらえます。

効率よく自社に適した業務効率化を知りたい方は、ぜひ一度お試しください。

\ 4つの質問に答えるだけ /

目次

Google Apps Script(GAS)とは?

Google Apps Script

Google Apps Script(GAS)は、Googleが提供するクラウドベースのスクリプト言語です。

JavaScriptに似た文法で書かれており、Google Workspace(旧G Suite) のサービスを拡張・自動化するために利用できます。

つまり「Googleサービス専用の便利な自動化エンジン」と考えるとわかりやすいでしょう。

何ができるのか?(Googleサービスとの連携)

GASを使うと、以下のようなことが可能です。

  • Gmail:特定条件に応じてメールを自動送信
  • スプレッドシート:データを自動集計、他シートへコピー
  • Googleドライブ:定期バックアップ、ファイル整理
  • Googleカレンダー:リマインド通知、予定の自動登録
  • 外部サービス:Slack・Notion・ChatGPT APIとも連携可能

GASを使うメリット

無料で使える

Googleアカウントさえあれば誰でも無料で利用可能。追加費用は一切かかりません。

インストール不要(クラウド環境)

ブラウザ上のエディタでそのまま動作するため、ソフトのインストールは不要です。

繰り返し作業を自動化できる

定型業務をプログラム化して「ボタン1つ」「時間指定(トリガー)」で自動実行できます。

Google Apps Scriptの始め方(初心者向けステップ)

事前準備(Googleアカウント・スプレッドシートの用意)

GASを使うために必要なのは Googleアカウントだけ

以下の準備をしておきましょう。

  1. Googleアカウントを作成(Gmailを使っている方はすでに持っています)
  2. Googleドライブから「新規 → Googleスプレッドシート」を作成
  3. 自動化対象のデータを入力(例:メール送信用の宛先リスト)

スクリプトエディタの開き方

作成したスプレッドシートを開き、メニューから「拡張機能 > Apps Script」をクリックすると、スクリプトエディタ(専用の開発画面)が開きます。

ここにプログラムを書いていきます。

初めてのプログラムを書いてみよう

ポップアップメッセージを表示するサンプルコード

まずは「こんにちは」と表示するだけの簡単なコードを書いてみましょう。

最初にかかれているmyFunctionを消します。

上手く削除できたら以下のコードをコピペします。

function showAlert() {
  SpreadsheetApp.getUi().alert("こんにちは!Google Apps Script入門へようこそ");
}
  • function … 関数を定義する
  • SpreadsheetApp.getUi().alert … スプレッドシート上にポップアップを表示

つまり、このコードは

「こんにちは!Google Apps Script入門へようこそ」という文章をスプレットシート上のポップアップとして表示する処理を行う役割を担うもので、この関数のことを「showAlert」と名付ける

という意味になります。

これを保存すると、実行ボタンが押せるようになります。

実行ボタンを押すとスプレッドシート上にメッセージが表示されます。

↓このようになれば成功!

コードを保存・実行する方法

  1. エディタ右上の保存アイコンをクリック
  2. 「実行」ボタンを押す
  3. 初回実行時にはGoogleアカウントへのアクセス許可を求められるので承認

初回実行時に出る「権限承認」の対応方法

  • 警告画面が出ても慌てないでください。自分で書いたコードなら問題ありません。
  • 「詳細」 → 「安全ではないページに移動」 → プロジェクト名を選択 → 「許可」をクリック
  • これでスクリプトが動作します。

Google Apps Scriptの基本構文(初心者でもわかる解説)

変数の使い方(var/let/const)

Google Apps Scriptでは、データを一時的に保存するために「変数」を使います。

var name = "田中さん";   // 古い書き方
let age = 30;            // 新しい書き方(推奨)
const company = "dataX"; // 値を変更できない定数
  • var … 古い書き方。現在は非推奨。
  • let … 値を後から変更できる変数。
  • const … 一度決めたら変更できない定数。

条件分岐(if文)

条件によって処理を変えるときに使います。

let score = 85;

if (score >= 80) {
  Logger.log("合格です!");
} else {
  Logger.log("残念、不合格です。");
}

繰り返し処理(for文/while文)

同じ処理を何度も行いたい場合に使います。

for (let i = 0; i < 5; i++) {
  Logger.log("これは" + (i+1) + "回目のループです");
}

ログ出力(Logger.logの使い方)

コードの動作確認には Logger.log を使います。

実行後、スクリプトエディタの「表示 → ログ」から確認できます。

let message = "テスト実行中";
Logger.log(message);

よく使うAPI(SpreadsheetApp / GmailApp / DriveApp)

  • SpreadsheetApp … スプレッドシートを操作
  • GmailApp … Gmailでメール送信・検索
  • DriveApp … Googleドライブ内のファイルやフォルダを操作

例:スプレッドシートに新しい行を追加

function addRow() {
  let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  sheet.appendRow(["日付", "名前", "メモ"]);
}

Google Apps Scriptの活用例(初心者からできる定番)

Gmailの自動送信

定期的なリマインドメール

function sendReminderEmail() {
  let emailAddress = "example@example.com";
  let subject = "リマインド:明日の会議";
  let body = "お疲れ様です。明日10時から会議があります。ご確認ください。";
  MailApp.sendEmail(emailAddress, subject, body);
}

👉 毎週・毎月のリマインド業務を自動化できます。

顧客フォローメールの自動化

スプレッドシートに顧客リストを保存し、ループで自動送信することも可能です。

スプレッドシートの自動処理

入力データの集計と整形

function sumSales() {
  let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  let values = sheet.getRange("B2:B10").getValues(); // 売上データ
  let total = 0;
  for (let i = 0; i < values.length; i++) {
    total += values[i][0];
  }
  sheet.getRange("B11").setValue(total); // 合計をB11に表示
}

👉 毎月の集計を自動化できます。

他のシート・ファイルへのデータ転記

たとえば「請求データ」を自動的にコピーして管理表へ追加することが可能です。

Googleドライブとの連携

ファイルの自動バックアップ

function backupSheet() {
  let ss = SpreadsheetApp.getActiveSpreadsheet();
  let file = DriveApp.getFileById(ss.getId());
  let folder = DriveApp.getFolderById("フォルダIDをここに入力");
  file.makeCopy("バックアップ_" + new Date().toISOString(), folder);
}

👉 定期的にバックアップを取ることで、データ消失リスクを防止。

フォルダ整理・自動コピー

特定の条件でフォルダを分けたり、自動コピーすることも可能です。

Googleカレンダー連携

会議リマインダー通知

function addCalendarEvent() {
  let calendar = CalendarApp.getDefaultCalendar();
  calendar.createEvent("定例会議",
    new Date("2025-09-01T10:00:00"),
    new Date("2025-09-01T11:00:00")
  );
}

👉 手動入力の手間を省き、予定忘れを防げます。

スケジュールの自動登録

スプレッドシートに予定をまとめ、まとめてカレンダーに反映可能。

中級者向けの便利な活用方法

トリガーの使い方(時間・イベント駆動)

「毎朝9時にメール送信する」スクリプト

  1. スクリプトを書いたら、左の「目覚まし時計」アイコンからトリガー設定
  2. 「sendReminderEmail」関数を選び「時間主導型」「午前9時」を指定

👉 PCをつけっぱなしにしなくてもクラウド上で自動実行されます。

「スプレッドシート更新時にSlackへ通知」

トリガーを「スプレッドシート編集時」に設定し、Slack Webhookと連携すれば可能。

Web API連携(UrlFetchAppの基本)

function getWeather() {
  let response = UrlFetchApp.fetch("https://api.weatherapi.com/v1/current.json?key=API_KEY&q=Tokyo");
  let data = JSON.parse(response.getContentText());
  Logger.log("現在の天気: " + data.current.condition.text);
}

👉 外部APIからデータを取得し、スプレッドシートに記録できます。

外部サービスとの連携(Slack, ChatGPT, Notion, kintoneなど)

  • Slack:新しいファイルが追加されたら通知
  • ChatGPT API:文章を要約してメール送信
  • Notion:フォーム送信内容を自動でDBに登録
  • kintone:日報を自動で登録

Google Apps Scriptでよくあるつまずきポイントと解決法

権限エラーが出るときの対処法

GASはGoogleサービスを操作するため、初回実行時に「権限承認」が必要です。

よくあるエラー例:

  • 「このアプリは確認されていません」 → 「詳細」→「安全ではないページに移動」から承認
  • 「権限が不足しています」 → 実行アカウントを再確認(職場アカウントは制限あり)

フォルダIDやシートIDの確認方法

GoogleドライブのURL

https://drive.google.com/drive/folders/xxxxxxxxxxxx

→ xxxxxxxxxxxx がフォルダID

GoogleスプレッドシートのURL

https://docs.google.com/spreadsheets/d/xxxxxxxxxxxx/edit

→ xxxxxxxxxxxx がスプレッドシートID

実行時間エラー(制限)に注意

GASには無料利用の範囲で制限があります。

  • 1回の実行時間:6分まで
  • Gmail送信上限:1日あたり100通(個人アカウント)

👉 大量処理をする場合はバッチ分割や有料版(Google Workspace)を検討。

スクリプトが動かないときのデバッグ方法

  • Logger.log() を活用して処理の流れを確認
  • 「デバッグ実行」ボタンで1行ずつ処理を確認
  • 公式のエラーメッセージを検索して解決策を調べる

Google Apps Scriptの学習方法とリソース

Google公式ドキュメント・リファレンス

日本語の解説サイト・ブログ

  • Qiita、Zenn、個人ブログに初心者向け記事が豊富
  • 特に「スプレッドシート 自動化」「Gmail 自動送信」で検索すると多数の事例あり

書籍(初心者向け・実務向け)

  • 『できるGoogle Apps Script』シリーズ
  • 『Google Apps Script実践ハンドブック』

コミュニティ(Qiita・Stack Overflow・Xなど)

  • 困ったらまず検索 → 同じエラーに遭遇した人が必ずいる
  • 英語で検索するとより多くの情報が得られる

Google Apps Scriptで業務効率化するメリット

作業時間の短縮

毎日10分かかっていた作業を自動化すれば、1年で数十時間の削減に。

ヒューマンエラーの削減

転記ミス・送信漏れを防止し、業務の正確性を向上。

チーム全体の生産性向上

Slackやカレンダー連携により、チームでの情報共有がスムーズに。

コスト削減効果

SaaSや外部ツールを導入する前に、GASで内製すればコストを抑えられる。

Google Apps Scriptでよくある活用シーンまとめ

個人利用(家計簿・趣味・生活管理)

  • 家計簿を自動集計し、毎月の収支をメールで送信
  • 読書記録や健康データをスプレッドシートに自動保存

中小企業(経理・営業管理・顧客対応)

  • 請求書PDFを自動でDriveへ保存
  • 売上データを毎日Slackへ通知
  • 顧客への定期フォローメールを自動送信

チーム/プロジェクト(情報共有・Slack通知)

  • 会議予定をGoogleカレンダーに一括登録
  • スプレッドシート更新をSlackに通知
  • プロジェクト資料を定期的にバックアップ

まとめ|まずは小さな自動化から始めよう

Google Apps Script(GAS)は、Googleサービスを効率化・自動化できる非常に強力なツールです。

  • 無料で使える
  • 初心者でも簡単に始められる
  • Gmailやスプレッドシートとの相性が抜群

まずは 「ポップアップ表示」や「自動メール送信」 など、簡単なサンプルから始めてみましょう。

慣れてきたらトリガーや外部API連携を活用し、業務や生活に役立つ自動化を広げていくことができます。

👉 「毎日の小さな作業を自動化する」ことが、結果的に大きな生産性向上につながります。

今日からGASを取り入れて、あなたの時間をもっと価値あることに使いましょう。

目次