「毎月同じ集計表を、同じ手順で作っている」「フォームに回答が入るたび、誰かが気づいて転送している」。中小企業の現場には、手順が決まりきっているのに人がやり続けている作業が残っています。人を増やす余裕はない、システムを入れる予算もない。その隙間を埋める選択肢が Google Apps Script(GAS)です。
Google Apps Script は、すでにスプレッドシートやGmailを使っている会社なら、追加のソフトを買わずブラウザだけで始められます。今の環境のまま、毎月の作業時間だけを減らせる仕組みだとお考えください。
Google Apps Script(GAS)とは
ブラウザだけで書ける、Google公式のスクリプト実行環境
Google Apps Script(略してGAS)とは、Google が提供する、Google Workspace の各サービスを操作できるスクリプト実行環境のことです。スプレッドシート、Gmail、カレンダー、ドライブ、フォームをプログラムから操作できます。
記述する言語はJavaScriptをベースにしたもので、専用ソフトの導入は不要です。ブラウザでスプレッドシートを開き、編集画面を呼び出せば、その場で書いて実行できます。サーバーもGoogle側が用意しているため、自社で借りる必要がありません。
エクセルのマクロ(VBA)との違い
違いは2つあります。1つは実行がパソコンに依存しないこと。マクロは開いている人のパソコン上で動きますが、Google Apps Script はクラウド側で動くため、パソコンが閉じていても決まった時刻に動かせます。
もう1つは扱える範囲です。シート内で完結するマクロと違い、メール送信やドライブへの保存までサービスをまたげます。「集計してPDF化し、保存して関係者へメールする」流れを1本で通せます。
中小企業で効果が出やすい自動化の5つの型
当協会が中小企業のDX支援を行う中で、最初の一歩として成果が出やすいと感じているのは次の5つです。いずれも毎週・毎月繰り返している作業が対象です。
- フォーム回答を受けて自動通知する:回答が入った瞬間に内容を整形してチャットへ流します。初動が早くなります。
- シートの内容を定型メールで一斉送信する:宛先や金額を1行ずつ読み取り、文面に差し込みます。
- 毎月の集計表を自動生成してPDF化・保存する:月末の数時間がボタン1つになります。
- カレンダーの予定を集計して稼働時間を可視化する:案件別の時間を書き出し、数字で把握できるようにします。
- 期限が近いタスクを毎朝リマインドする:管理表の期限列をチェックし、担当者へ通知します。
Google Apps Script の使い方(ステップ形式)
Step 1 スプレッドシートから編集画面を開く
自動化したいスプレッドシートを開き、メニューの「拡張機能」から「Apps Script」を選びます。新しいタブで編集画面(スクリプトエディタ)が開きます。
Step 2 やりたい処理を関数として書く
関数とは、名前をつけた処理のかたまりのことです。集計の自動化なら「対象シートを取得する」「必要な範囲を読み込む」「条件に合う行を抜き出す」「結果を別シートへ書き込む」の順で並べます。メール送信なら、最後に宛先・件名・本文を指定する処理を足します。
最近は Claude や Gemini、ChatGPT に依頼すればたたき台が出てくるようになり、非エンジニアが着手するハードルは大きく下がりました。ただし、動かす前に「何をするコードか」を自分の言葉で説明できる状態にしておくことは重要です。
Step 3 実行して権限を承認する
実行ボタンを押すと、初回だけ「スプレッドシートやGmailへのアクセスを許可しますか」という確認が出ます。承認して初めて処理が動きます。中身を確認したもの以外は安易に承認しないでください。
Step 4 トリガーを設定して自動で動かす
トリガーとは、スクリプトを自動実行するきっかけの設定のことです。代表的なものが「時間主導型」(毎朝8時など決めた時刻に動かす)と「フォーム送信時」(回答が入った瞬間に動かす)です。ここまで設定して、人がボタンを押す作業もなくなります。
Step 5 実行ログでエラーを確認する
編集画面には、どの関数が成功したか失敗したかが残る実行ログがあります。導入直後は定期的に見てください。あわせて、トリガーの設定画面で「実行に失敗したときに通知メールを送る」設定を必ず有効にします。
Step 6 共有と引き継ぎの設定をする
最も見落とされ、最も事故につながる工程です。ファイルを共有ドライブ配下に置き、複数名が編集できる状態にします。あわせて「どのシートの何を、いつ、どう処理しているか」をメモに残します。ここまでやって会社の資産になります。
Google Apps Script の料金プラン
スクリプト自体の利用料金はかからない
Google Apps Script は単体で課金される有料サービスではありません。Google アカウントがあれば追加料金なしで利用できます。費用として考えるのは土台となるアカウントの種類だけです。
違いが出るのは「割り当て(クォータ)」
割り当て(クォータ)とは、1日あたりに実行できる時間やメールの送信通数など、使いすぎを防ぐための上限のことです。この上限は、無料の個人アカウントよりも Google Workspace のほうが大きく設定されています。業務で一斉送信を行うなら Google Workspace を前提に考えるのが安全です。
| アカウントの種類 | 月額(税別) | GAS の利用料 | 割り当ての傾向 | 主な特徴 |
|---|---|---|---|---|
| 無料の個人 Google アカウント | 0円 | 追加料金なし | 相対的に小さい | 学習や試作向け。管理機能がない |
| Google Workspace(小規模向け) | 公開価格(税別) | 追加料金なし | 無料より大きい | 独自ドメインのメール、権限管理 |
| Google Workspace(上位) | 公開価格(税別) | 追加料金なし | さらに大きい | 保存容量・セキュリティ・監査が拡充 |
割り当ての数値や月額は見直されることがあります。最新の割り当てと料金は公式ドキュメントをご確認ください。検討段階で1日に送るメールの想定通数を数えておくと判断がぶれません。なお、最新の料金は公式サイトをご確認ください。
他ツールとの比較
4つのツールを費用・つなげる先・必要なスキルで比べる
| ツール | 費用の考え方 | つなげる先 | 必要なスキル | 向いているケース |
|---|---|---|---|---|
| Google Apps Script | 追加料金なし(アカウント費用のみ) | Google Workspace の各サービス | 簡単なコードを読める・直せること | シートやGmailで完結する定型処理 |
| Make | 無料枠あり。処理件数に応じた課金 | 多数の外部SaaS | 画面上で流れを組み立てる操作 | 複数のクラウドをまたぐ連携 |
| Zapier | 無料枠あり。処理件数に応じた課金 | 多数の外部SaaS | 画面設定が中心でコード不要 | 外部サービスを早くつなぎたい場合 |
| Power Automate | Microsoft 365 のライセンスに準じる | Microsoft 365 の各サービス | 画面設定が中心 | ExcelやTeamsが主軸の会社 |
判断軸は「Google の中で完結するか」
当協会では、使い分けを「Google Workspace の中だけで完結する処理か、外部サービスとつなぐか」で判断するようお伝えしています。シートを集計してメールを送るだけなら Google Apps Script のほうが速く、件数課金も発生しません。会計ソフトやCRMをまたぐなら Make や Zapier が組みやすく保守も楽です。自社に合った組み合わせはDX顧問(一般社団法人中小企業販促・DX支援協会)でもご相談を承っています。
活用事例
事例1 製造業(従業員45名規模):月末の集計を自動生成
受注データのシートから毎月末に手作業で集計表を作り、PDF化して共有していました。作業はおよそ6時間、月末に集中するため他の業務が止まる状態です。集計・PDF化・保存を自動化した結果、担当者の作業は表の確認だけとなり、月末の作業時間はおよそ30分になりました。
事例2 士業事務所(従業員12名規模):問い合わせの初動を当日中に
問い合わせフォームの回答が代表アドレスにのみ届き、担当者が気づくまで時間がかかり、初回返信まで平均で1営業日でした。フォーム送信時にトリガーが動き、内容を整形してチャットへ通知する形に変えたところ、初回返信のほとんどが当日中になりました。
事例3 建設業(従業員80名規模):カレンダーから稼働時間を可視化
案件ごとの時間の使い方が把握できず、見積もりの根拠が担当者の感覚に依存していました。予定を毎週集計して案件別の時間を書き出したところ、月におよそ4時間の集計作業がおよそ20分になり、赤字になりやすい案件の傾向も数字で見えるようになりました。
デメリット・注意点
書いた人しか直せなくなる(属人化)
最大のリスクは技術ではなく体制の問題です。詳しい1人だけが中身を理解している状態は、異動・退職の瞬間に誰も触れないブラックボックスへ変わります。処理内容を日本語で書いたメモを必ず残してください。
実行時間・送信数などの割り当て上限がある
1日に実行できる時間やメールの送信通数には上限があります。少数のデータで試したときは問題なくても、件数が増えた途端に上限へ達して止まることがあります。一斉送信では想定する最大件数を先に見積もってください。
エラーが起きても気づけない
自動化の怖いところは、止まっても誰も困った声を上げないことです。当協会の支援現場でも、エラー通知を設定していないスクリプトが止まったまま数週間気づかれなかった例があります。実行が失敗したときにメール通知が飛ぶ設定は例外なく入れてください。
個人アカウントのスクリプトは退職時に止まる
最もよくある事故が、退職した担当者の個人アカウントでスクリプトが動いていて、アカウント停止と同時にある日突然止まるというものです。所有者は必ず共有ドライブ配下または組織アカウントにしてください。
データが増えると遅くなる
シートの行数が増えるほど読み書きに時間がかかり、実行時間の上限に近づきます。古いデータを別ファイルへ退避する、処理範囲を必要な行だけに絞るといった工夫が必要です。
よくある失敗パターンと対策
いきなり本番データで実行してしまう
症状:試しに動かしたら本番の管理表が上書きされた。原因:書き込み先を確認せず本番シートで実行したためです。対策:複製したテスト用シートで確認してから本番へ向けます。最初は書き込む予定の内容をログに出すだけにすると安全です。
最初から欲張った仕組みを作ろうとする
症状:構想が大きすぎて半年たっても完成しない。原因:複数部署をまたぐ全体最適から入るためです。対策:当協会のDX支援でも、月末に数時間かけている集計作業のような手順が決まりきった1作業を最初の対象にします。1つ動くと社内の見方が変わります。
エラー通知を設定していない
症状:数週間後に「あの通知、来ていませんね」と発覚する。原因:正常に動く状態が当たり前になり、止まったことを知らせる仕組みがないためです。対策:失敗時の通知を有効にし、通知先を個人ではなく複数人が見るアドレスやチャットにします。
AIが書いたコードを中身を見ずに動かす
症状:意図しない相手にメールが送られた。原因:生成AIが出したコードをそのまま実行し、宛先や対象範囲を確認していなかったためです。対策:実行前に「何を読み、何を書き、誰に送るコードか」の3点は必ず確認します。
まとめ
まずは1つの作業を自動化する
Google Apps Script は、Google Workspace をすでに使っている会社なら追加費用なしで今日から始められます。大切なのは全社的な仕組みを構想することではなく、繰り返している作業を1つだけ選んで自動化しきることです。月末の集計、フォームの通知、期限のリマインド。どれでも構いません。
属人化を避けるため、作成者を2名以上にする
動かし始めるときは必ず、所有者を組織のアカウントに置き、内容を理解している人を2名以上にしてください。自動化は、作った瞬間より担当者が代わった後に価値を試されます。


