定型業務を自動化する方法|社内SEがGASで実践した手順【テンデンプレ付き】

業務効率化

毎日のルーティンワークに追われて、本来やるべき仕事が後回しになっていませんか?

社内SEあるあるですが、こんな状況になっていませんか?

  • フォームに届いた申請を1件ずつ手でスプレッドシートに転記している
  • 月末の帳票作成で半日つぶれる、を毎月繰り返している
  • 「あの通知メール、また手で送ったの?」と言われながら作業している

一つでも当てはまるなら、Google Apps Script(GAS)で定型業務を自動化することで、その時間をまるごと取り戻せます。

GASはGoogleアカウントさえあれば今日から使えます。この記事では、実際に動くサンプルコードと一緒に、自動化の基本手順と社内SEがつまずきやすいポイントを具体的に解説します。

Google Apps Script(GAS)とは?定型業務を自動化する基礎知識

GASはGoogleが提供するプログラミング環境で、JavaScriptをベースにしています。Gmail、スプレッドシート、フォームなどGoogle系サービスをコードで操作・連携できるのが特徴です。

  • 開発から実行まですべてブラウザ上で完結します
  • 追加のソフトウェアインストールもサーバー構築も不要です

正直なところ、最初は「コードを書く」というハードルで躊躇する方も多いと思います。ただ、GASはサンプルコードを少し修正するだけで動かせるレベルなので、プログラミング経験が浅くても十分に使えます。

GASでできることの具体例

GASでできることは、アイデア次第でかなり広がります。代表的なものをいくつか挙げておきます。

前提条件:必要なのはGoogleアカウントだけ

GASを始めるために必要なものはたった2つです。

  1. Googleアカウント
  2. Webブラウザ

これだけで、Google Workspace上の定型業務を自動化する環境が整います。

【実際に起きた失敗例】自動化しないとどうなるか

GASの手順の前に、少し脱線させてください。

自分の周りでよく聞く話として、フォームへの申請対応をずっと手作業で続けていた結果、担当者が休暇中に申請が20件たまっていて、休み明けに一気に処理しようとしたら転記ミスが連発した、というケースがあります。しかも、転記ミスに気づかないまま関係者にメールを送ってしまい、訂正連絡の対応でさらに時間を取られる、という悪循環です。

「手作業でやっている限り、ミスはいつか必ず起きる」というのは、自動化を検討する上でいちばん現実的な動機になると思っています。

【3ステップ】Google Apps Script で定型業務を自動化する基本手順

ここでは「Googleフォームへの回答をトリガーに、スプレッドシートへ転記し、関係者にメール通知する」という業務を例に、自動化の流れを解説します。

ステップ1:スクリプトエディタを開く

まず、コードを書く場所(スクリプトエディタ)を開きます。

  1. フォームの回答が記録されるスプレッドシートを開きます
  2. メニューバーから「拡張機能」をクリックします
  3. 「Apps Script」を選択します
  4. 新しいタブでスクリプトエディタが開きます
Apps Script

ステップ2:自動化したい処理のコードを記述する

エディタが開いたら、以下のサンプルコードをコピー&ペーストし、メールアドレスの部分だけ修正してください。

// 【テンプレート】フォーム回答時にメール通知するスクリプト

function onFormSubmit(e) {
  // フォームの回答内容を取得
  const itemResponses = e.response.getItemResponses();
  
  // 送信メールの件名と本文を作成
  let subject = "【自動通知】新しい申請がありました";
  let body = "以下の内容で新しい申請がありました。\n\n";
  
  // 各回答を本文に追加(質問名と回答をセットで記載)
  itemResponses.forEach(function(itemResponse) {
    const question = itemResponse.getItem().getTitle();
    const answer = itemResponse.getResponse();
    body += `■ ${question}\n${answer}\n\n`;
  });
  
  // 通知先のメールアドレスを設定(★ここを変更してください)
  const recipient = "担当者@example.com";
  
  // メールを送信
  GmailApp.sendEmail(recipient, subject, body);
}

担当者@example.com の部分を、実際に通知を受け取りたいメールアドレスに変更するだけで動きます。

ステップ3:トリガーを設定して実行を自動化する

コードを書いたら、「フォームに回答があったとき自動で動く」ように設定します。

  1. スクリプトエディタの左側メニューから時計のアイコン(トリガー)をクリックします
  2. 右下の「トリガーを追加」ボタンをクリックします
  3. 以下の通りに設定します

– 実行する関数を選択: onFormSubmit – イベントのソースを選択: スプレッドシートから – イベントの種類を選択: フォーム送信時

  1. 「保存」ボタンをクリックします
トリガー

これで設定完了です。以降はフォームに新しい回答が届くたびに、指定のメールアドレスへ自動で通知が届くようになります。

【社内SE向け】つまずきやすいGASの注意点と対策

GASは手軽に使えますが、運用でハマりやすいポイントがいくつかあります。事前に知っておくと後で焦らずに済みます。

6分の実行時間制限(タイムアウト)とその回避策

GASのスクリプトは1回の実行時間に上限があります。

  • 上限時間: 一般的なGoogleアカウントでは最大6分です
  • 発生するエラー: 上限を超えると「Exceeded maximum execution time」というエラーが出て処理が強制終了します
  • 回避策: 大量データを一度に処理する場合は、進捗を「Properties Service」で一時保存しながら処理を分割する手法が有効です。時間切れが近づいたら新しいトリガーを自動設定して処理を引き継がせます

初回実行時の「承認」と権限管理のポイント

スクリプトを初めて実行またはトリガー設定する際は、GmailやスプレッドシートへのアクセスをGoogleアカウントで許可する「承認プロセス」が必要です。

自分が最初に試したときは、「安全ではないアプリ」という警告が表示されて詰まりました。「詳細」をクリックして「安全ではないページに移動」を選ぶと許可ボタンが表示されます。見慣れない警告なので焦りますが、自分で書いたスクリプトであれば問題ありません。

⚠️ よくある落とし穴:トリガーは設定したユーザーのアカウントで実行されます。担当者が異動・退職した場合、その人が設定したトリガーは止まります。引継ぎ時には、必ずトリガーの所有者変更か新担当者での再設定を行いましょう。

⚠️ よくある落とし穴:フォームへの連続送信などでトリガーが短時間に複数回発火すると、同じ通知メールが何通も届くことがあります。「Lock Service」を使えば同時実行を1つに制限できます。

実際に使ってみた結果

  • 実装にかかった時間: フォーム作成からコード記述、トリガー設定まで約30分で完了しました(環境による差はあります)
  • 削減できた時間: 1件あたり手動で5分かかっていた転記・通知作業がゼロになりました。月20件の申請があれば、月約1.7時間の工数削減に相当します
  • 詰まったポイント: 前述の承認プロセスの警告と、トリガー設定画面でスプレッドシートとフォームのどちらを選ぶか迷った点です
  • 正直な感想: プログラミング経験が浅くても、サンプルコードを少し修正するだけでここまでできるとは思っていませんでした。社内に散らばる「名もなき業務」を地道につぶしていくのに、これほど向いているツールは他にないと感じています

結論:社内SEならこう使う

まずは問い合わせ管理や備品申請など、GoogleフォームとスプレッドシートだけでほぼWeb完結している小規模な業務から自動化を始めるのがおすすめです。小さな成功体験を積むことで効果を実感しやすく、他部署への横展開もスムーズになります。

まとめ:Google Apps Script で定型業務の自動化を始める

Google Apps Script(GAS)を使えば、これまで手作業で行っていた定型業務の多くを自動化して、貴重な時間を取り戻せます。

  • GASはGoogleアカウントがあれば無料で始められます(Google Workspaceのプランによって実行制限が異なります)
  • 基本は「エディタを開く→コードを書く→トリガー設定」の3ステップです
  • 実行時間制限や権限管理など、運用上の落とし穴を事前に把握しておくと安心です

まずはこの記事のサンプルコードを手元の環境で動かすところから始めてみてください。


【関連記事】

タイトルとURLをコピーしました