メインコンテンツへスキップ

COLUMN

Google Apps Scriptでできること、自動化の例7つと使う前の注意点

AI・業務効率化公開日
Google Apps Scriptでできることを知り、くり返しの作業を手放してほっとする事務担当者のイラスト

この記事でわかること

  • Google Apps Scriptでできることの全体像と3つの動き方
  • Gmailやカレンダーなどサービスごとにできること
  • 小さな事業者で使いやすいGASの業務の自動化の例7つ
  • 1日の上限など、使う前に知っておく制限と向かない作業
  • 最初の1本を動かす手順と、人に頼んだ方がよい目安

Google Apps Script(GAS)でできることは、スプレッドシート、Gmail、カレンダー、ドライブ、フォームなど Google のサービスをつないで、くり返しの作業を自動で動かすことです。フォームの回答が届いたらお礼のメールを送る、毎朝シートを集計して知らせる、といった作業が向いています。一方で、1回の実行時間や1日に送れるメールの数には上限があり、大きなシステムの代わりにはなりません。この記事では、できることの具体例と制限、最初の1本を動かす手順、人に頼んだ方がよい目安を、作る側の目線で順に説明します。

Google Apps Scriptでできることは、Googleのサービスをつないだ作業の自動化

Google Apps Script は、Google が用意している、業務用の小さな仕組みを作るための開発の場です。プログラムは JavaScript という言語で書き、書く場所(エディタ)はブラウザの中にあるので、パソコンに何かを入れる必要はありません。Docs、Sheets、Forms にメニューを足す、スプレッドシートで使う独自の関数を作る、Web アプリとして公開する、カレンダーやドライブ、Gmail と連携する、といったことができると案内されています(出典: Google for Developers「Apps Script の概要」)。

Google Apps Scriptでできることを考えながら、手書きの伝票とスプレッドシートを見比べる店主のイラスト
毎日同じ手順で書き写したり、送ったりしている作業が、GAS で自動にできるかを考える出発点になります。

できることは多いのですが、小さな事業者が使う場面では、動き方はおおむね次の3つに分けられます。どの動き方で作業を置き換えたいのかを先に決めると、何を作ればよいかが見えやすくなります。

  • 決まった時刻に動かす: 毎朝、毎週、毎月の締め日などに、集計や送信を自動で行う
  • 何かが起きたときに動かす: フォームが送信された、シートが編集された、カレンダーに予定が入った、といった出来事をきっかけに動く
  • ボタンや画面から動かす: スプレッドシートに独自のメニューを足し、押したときだけ動かす。簡単な入力画面を Web アプリとして作る

GASとは何か、マクロとの違い

GAS は Google Apps Script の略で、スプレッドシートの「拡張機能」のメニューから「Apps Script」を開くと、そのシートにつながったエディタが立ち上がります。Excel のマクロ(VBA)がおもに1つのファイルの中で動くのに対して、GAS は Google のサーバーの上で動くので、パソコンの電源を切っていても、決めた時刻に動かせます。

スプレッドシートの操作を記録して GAS に変える「マクロの記録」もあり、書いたことのない人が最初の1本を作るきっかけになります。ただし記録できるのはシートの中の操作までで、メールの送信やカレンダーとの連携は、コードを書いて足すことになります。

Google Apps Scriptでできることをサービスごとに整理する

GAS は Google の各サービスを、プログラムから操作する部品を持っています。どのサービスで何ができるかを、仕事の場面と合わせて表にしました。

Google Apps Scriptでできることの例(サービスごと)
サービスできることの例使う場面
スプレッドシート値の読み書き、集計、シートの追加やコピー、独自の関数やメニュー売上や在庫の集計、月ごとのシート作り
Gmailメールの送信、受信したメールの検索とラベル付けお礼や確認のメール、届いたメールの整理
Google カレンダー予定の作成、変更、読み取り申し込みを予定に入れる、翌日の予定を知らせる
Google ドライブフォルダやファイルの作成、移動、一覧づくり書類の保存先をそろえる、ファイルの一覧を作る
Google フォーム回答の受け取り、回答をきっかけにした処理問い合わせや申し込みの受付
Google ドキュメントひな形の文書をコピーして文字を差し込む見積書や案内文のひな形から書類を作る
外部のサービスURL を呼び出してデータを送ったり受け取ったりするチャットへの通知、公開されている API との連携

外部のサービスとつなぐ場合は、相手のサービスが API(プログラムから使うための窓口)を用意しているかどうかで、できる範囲が決まります。使っている会計ソフトや予約サービスにつなげたいときは、そのサービスの公式の案内で API があるかを先に確かめてください。

GASのトリガーで「決まった時刻」と「何かが起きたとき」に動かす

自動で動かすきっかけを「トリガー」と呼びます。設定して使うトリガー(インストール型トリガー)には、決まった時刻や間隔で動く時間主導トリガー、スプレッドシートを開いたとき、編集したとき、シートの構造が変わったとき、フォームが送信されたとき、カレンダーの予定が作られたり変わったりしたとき、の種類があります。時間主導トリガーの頻度は、毎分から月1回まで選べます(出典: Google for Developers「Installable triggers」)。

時刻ちょうどには動かないことがある

同じ案内には、時間主導トリガーの時刻は多少ばらつくことがあると書かれています。たとえば毎日9時に設定すると、9時から10時の間のどこかの時刻が選ばれ、その後は毎日その時刻に動きます。「9時ちょうどに送る」ことが大切な作業は、この幅を見込んで設計します。

GASの業務の自動化の例、小さな事業者で使いやすい7つ

ここからは、お店、教室、サロン、士業の事務所などで、GAS に置き換えやすい作業の例を挙げます。どれも Google のサービスの中で完結するか、つなぐ先が1つだけの、小さく始めやすいものです。

Google Apps Scriptでできることの例として、申し込みの通知をスマホで受け取る教室の運営者のイラスト
申し込みが届いたらお礼を送り、担当者にも知らせる。こうした受付まわりの作業は、GAS の例として取り組みやすいところです。

問い合わせと申し込みの受付まわりの例

  1. フォームの回答が届いたら、申し込んだ人へお礼と受付のメールを送り、担当者にも内容を知らせる
  2. 体験や予約の申し込みを、Google カレンダーに予定として登録する
  3. 予定の前日に、申し込んだ人へ確認のメールを送る

受付まわりは、フォームとシートとカレンダーがそろっていれば始められます。フォームの作り方そのものは問い合わせフォームの作り方で、予約の仕組みを自分で作る方法と予約サービスとの比べ方は予約システムを自作する方法で説明しています。

数字と書類まわりの例

  1. 毎朝、売上や問い合わせのシートを集計し、前日の数字をメールやチャットで知らせる
  2. 月末に、ひな形の文書をコピーして宛名や金額を差し込み、PDF にしてドライブの決まったフォルダに保存する
  3. 締め日になったら、シートに未入力の人だけを探して、入力をお願いするメールを送る
  4. ドライブの決まったフォルダにあるファイルの一覧を、名前と更新日つきでシートに書き出す

シートの集計や転記を関数で済ませるか GAS にするかの分け方はスプレッドシートの自動化の方法に、書類づくりを会計ソフトなどほかの方法と比べたい場合は請求書の自動化にまとめています。お客様の情報をシートで管理しているなら、顧客管理をスプレッドシートで始める手順も合わせて読むと、自動化しやすい表の作り方が分かります。

例をそのまま真似る前に

同じ「お礼のメール」でも、送る文面、送る相手、送ってはいけない場合(迷惑な送信やいたずらの申し込み)は事業ごとに違います。例は形の参考にとどめ、自分の作業の手順を書き出してから決めてください。

Google Apps Scriptでできないことと、使う前に知っておく上限

GAS は手軽な一方で、1回に動ける時間や、1日に使える量に上限があります。上限は一般の Google アカウントと Google Workspace(会社向けの有料の Google サービス)で違います。おもなものを公式の表から抜き出しました。

Google Apps Script のおもな上限(出典: Google for Developers「Quotas for Google Services」)
項目一般の Google アカウントGoogle Workspace
メールの送信先の数1日100件1日1,500件
1回の実行時間6分6分
トリガーで動いた合計の時間1日90分1日6時間
独自の関数の実行時間1回30秒1回30秒
外部のサービスの呼び出し1日20,000回1日100,000回
トリガーの数1つのスクリプトにつき1人20個1つのスクリプトにつき1人20個

公式の表には、上限は予告なく変わることがあると書かれています(出典: Google for Developers「Quotas for Google Services」)。作る前と、作ったものが止まったときは、公式の表で最新の値を確かめてください。

上限のほかにGASが向かないこと

  • 何万行ものデータを1回でまとめて処理する作業(6分の上限に当たりやすい)
  • 秒単位で決まった時刻に動かしたい作業(時間主導トリガーには幅がある)
  • 大勢のお客様が同時に使う予約や会員の仕組み
  • 画面の見た目や操作のしやすさにこだわったアプリ
  • API のないサービスを操作する作業(画面を自動で操作することは得意ではない)

こうした作業は、GAS で無理に作るより、専用のサービスを使うか、Web アプリとして作る方が保ちやすくなります。Web アプリとして作る場合に何に費用がかかるかは、Webアプリの開発費用で説明しています。

GASで最初の自動化を動かすまでの手順

初めて作るときは、大きな仕組みを考えるより、毎週くり返している作業を1つだけ選んで、手で動かせるところまで作るのが近道です。作る側としても、まず1つの作業で動くことを確かめてから、次の作業に広げる順番で進めると、つまずいた場所を見つけやすくなります。

図解・流れGASで最初の自動化を動かすまでの流れ
  1. 1作業を書き出すいまの手順を、開く画面と入れる値まで細かく書く
  2. 21つに絞るくり返しが多く、間違えても戻せる作業を選ぶ
  3. 3試しのシートで作る本番のシートをコピーし、そこで書いて動かす
  4. 4承認して手で動かす初回に出る権限の確認を読み、結果を目で確かめる
  5. 5トリガーで自動にするしばらくは結果を毎回見て、ずれがないか確かめる

いきなり本番のシートで動かさず、試しのシートで手で動かしてから、トリガーで自動にします。

  1. スプレッドシートを開き、メニューの「拡張機能」から「Apps Script」を選ぶ
  2. エディタに処理を書き、保存する
  3. 実行のボタンを押し、初回に出る承認の画面で、何に触れる権限を求めているかを読んでから許可する
  4. 結果をシートやメールで確かめ、思ったとおりでなければ直す
  5. エディタの「トリガー」から、時刻やフォームの送信などのきっかけを設定する
  6. エラーが起きたときの通知の届け先を確かめておく

承認の画面で警告が出ることがある

自分で作ったスクリプトでも、Gmail やドライブに触れる処理では、Google が確認していないアプリだという警告が出ることがあります。自分で書いたものか、出どころの分かるものだけを許可し、ネットで見つけたコードを中身を読まずに貼り付けて許可することは避けてください。

AIにGASのコードを書いてもらうときの注意

いまは生成 AI に頼むと、それらしいコードがすぐに出てきます。手早く形にするには便利ですが、シートの名前や列の位置が実際と違っていたり、上限を考えていない書き方になっていたりすることがあります。試しのシートで動かし、何をしているかを1行ずつ AI に説明してもらってから本番に使うと安心です。AI を仕事にどう取り入れるかの全体はChatGPTの業務での活用で説明しています。

GASで自動化に向く作業と向かない作業の見分け方

自動にできる作業でも、作って保つ手間に見合わないことがあります。次の図と確認項目で、GAS に向く作業かどうかを見分けてください。

図解・比較GASで自動化に向く作業と向かない作業

向く作業

  • 毎日や毎週、同じ手順でくり返している
  • 入れる値と出す結果が決まっている
  • Google のサービスの中で完結する
  • 間違えても気づいて戻せる

向かない作業

  • その都度、人の判断が必要になる
  • 例外の対応が多く、手順が決まっていない
  • 大量のデータや大勢の同時利用がある
  • 止まるとすぐにお客様に迷惑がかかる

手順が決まっていて、Google のサービスの中で完結する作業ほど向いています。判断や例外が多い作業は、人が見る段を残します。

自動にする前に確かめること

  • その作業に、毎月どのくらいの時間を使っているか
  • 手順を紙に書き出せるくらい決まっているか
  • 使うシートの列や名前を、ほかの人が勝手に変えないか
  • 止まったときに、誰が気づいて手作業に戻すか
  • お客様の個人情報を扱う場合、送り先やアクセスできる人を絞れるか

ほかの事業者がどんな作業から自動化しているかは、AI業務効率化の事例で、真似しやすい使い方と注意点をまとめています。

自分で作ったGASでつまずきやすい点と、人に頼む目安

GAS は始めやすい分、作った後のことが置き去りになりがちです。作る側として相談を受けるなかで、よく見かけるつまずきは次のようなものです。

自分で作ったGoogle Apps Scriptの自動化が止まり、エラーの知らせを見て困る担当者のイラスト
シートの列を1つ足しただけで動かなくなることもあります。止まったときに誰が直すかを、作る前に決めておきます。
  • 作った人しか中身が分からず、その人が辞めると誰も直せない
  • 個人の Google アカウントで作っていて、その人のアカウントがなくなると止まる
  • シートに列を足した、シートの名前を変えた、といった小さな変更で動かなくなる
  • エラーの通知が作った人のメールにしか届かず、止まっていることに誰も気づかない
  • 利用が増えて、1日のメールの上限や実行時間の上限に当たる
自分で続けやすい場合と、人に頼んだ方がよい場合
場面自分で続けやすい頼んだ方がよい
作業の大きさシート1つとメールなど、つなぐ先が少ない複数のサービスや外部のツールをつなぐ
扱う情報社内の数字や予定お客様の個人情報や支払いに関わる情報
止まったときの影響手作業に戻せば困らない止まるとお客様への連絡や請求が遅れる
直す人書いた本人が続けて触れる書いた人がいない、触れる人が社内にいない

自動化を GAS だけで考えず、AI やほかのツールとどう組み合わせるか、どの作業から手を付けるかの順番は、中小企業のAI業務効率化の進め方にまとめています。頼む場合は、いまの手順を書き出したメモと、使っているシートやフォームの一覧を用意しておくと、相談が早く進みます。

Google Apps Scriptでできることを試す前に決めておくこと

Google Apps Script でできることは、Google のサービスをつないで、くり返しの作業を自動で動かすことです。上限と向かない作業を知ったうえで、小さな作業から始めれば、手作業の時間を減らすきっかけになります。試す前に、次のことを決めておいてください。

  1. 自動にしたい作業を1つ選び、いまの手順を書き出す
  2. どのアカウントで作るか(個人のものか、会社で管理しているものか)を決める
  3. 本番のシートとは別に、試しのシートを用意する
  4. 止まったときに気づく人と、手作業に戻す手順を決める
  5. 公式の上限の表で、使う量が収まるかを確かめる

uparia では、スプレッドシートやフォーム、メールまわりの手作業を GAS や AI で置き換える仕組みづくりをお受けしています。何を自動にできるか分からない段階でも、いまの手順を伺って、自分で作れる範囲と任せた方がよい範囲を一緒に整理します。進め方はAI導入支援と業務の自動化でご覧いただけます。

よくある質問

プログラミングをしたことがなくても、GASを使えますか?

スプレッドシートの操作を記録して GAS に変える「マクロの記録」から始めると、書いたことのない人でも最初の1本を作れます。メールの送信やカレンダーとの連携はコードを書くことになるので、短い例を少しずつ直しながら、何をしているかを確かめて進めると覚えやすくなります。

GASとExcelのマクロ(VBA)は何が違いますか?

VBA はおもにパソコンの Excel の中で動き、GAS は Google のサーバーの上で動きます。そのため GAS は、パソコンを閉じていても決めた時刻に動かせ、Gmail やカレンダーなど Google のほかのサービスともつなげられます。Excel のファイルをそのまま動かすことはできないので、使うなら Google スプレッドシートに移します。

個人のGoogleアカウントと会社のGoogle Workspaceでは、GASでできることが違いますか?

使える機能はほぼ同じですが、1日に送れるメールの数やトリガーで動ける合計の時間などの上限が違い、Google Workspace の方が多く設定されています。仕事で使う場合は、担当者が替わっても止まらないよう、会社で管理しているアカウントで作る方が後で困りにくくなります。

作ったGASが急に動かなくなったときは、何から確かめればよいですか?

まずエディタの「実行数」でエラーの内容を見ます。シートの名前や列の位置が変わっていないか、作った人のアカウントの権限が外れていないか、1日の上限に当たっていないかを順に確かめます。エラーの文章をそのまま控えておくと、人に相談するときにも原因を探しやすくなります。

GASで作ったものを、ほかの人と一緒に使えますか?

スプレッドシートにつながった GAS は、そのシートを共有した人も使えます。ただし、メールを送る処理などは、動かした人や、トリガーを設定した人の権限で動きます。誰の権限で動いているかを決めておかないと、その人がいなくなったときに止まるので、作るときに確かめておきます。

CONSULTATION

まず資料で確かめるか、
相談して決めるか。

料金プランと制作の流れは資料にまとめています。
自分の場合はどうなるかを知りたいときは、無料相談でお聞かせください。

contact@uparia.com