スポンサーリンク

GASで毎日の事務作業を自動化!初心者でも使える業務別サンプル集

スポンサーリンク
この記事は約10分で読めます。
スポンサーリンク

毎日の事務作業って、気づくとすごい時間を取られてしまうことありませんか?

「もっと楽にできたらいいのに…」と思っていても、仕組みを作るのはむずかしいイメージがあって、なかなか手が出しにくいですよね。

でも実は、Google Apps Script(GAS)をちょっと使うだけで、メール送信や集計、書類づくりなど、よくある作業をびっくりするほど自動化できるんです。

本記事では、初心者の方でも“そのままコピペで動く”サンプルを、業務シーンごとにまとめてご紹介します。
今日からすぐに使える内容ばかりなので、ぜひ気軽に試してみてください。

スポンサーリンク

GASで“何が自動化できるのか”をやさしく整理する

GAS(Google Apps Script)は、かんたんに言うと「Googleの道具どうしをつないで、自動で動かしてくれるお手伝いロボットみたいなもの」です。スプレッドシートやGmail、Googleドキュメントなど、仕事でよく使うサービスをまとめて操作できるので、毎日の事務作業をコツコツ代わりにこなしてくれます。

たとえば、スプレッドシートに入力された数字をもとに自動で集計したり、レポートを作ったりできます。毎月の売上を集めたり、提出物のチェックをしたりするのにとても便利です。また、Gmailとつなげると、リマインドメールや通知メールを自動で送ることもできます。「支払い期限が近いですよ」や「フォームに回答が届きました」みたいなお知らせを、自分の代わりに送ってくれるイメージです。

さらに、Googleドキュメントと組み合わせれば、請求書や見積書のテンプレートに数字を入れて自動で書類を作ることも可能です。毎回同じ作業を繰り返さなくてよくなるので、かなりの時間が節約できます。

こうした自動化は、特別むずかしいプログラミングを覚える必要はなく、少しのコードを書くか、すでにできているサンプルをコピペするだけで動かせるのがGASの良いところです。本記事では、このあと「メール」「集計」「書類作成」「勤怠・フォーム処理」など、仕事でよくあるシーンごとに、すぐ使えるサンプルをご紹介していきます。自分の業務に当てはめながら読み進めてみてください。

すぐ使える!業務シーン別「コピペで動くGASサンプル」

ここからは、いよいよ「今日から使える」レベルのGASサンプルをご紹介いたします。

どれもむずかしい設定はいらず、コード上の“ここだけ直せばOK”ポイントを変えるだけで動きます。

まずは、小さく試してから自分の業務に合わせて育てていくイメージで使ってみてください。

メール業務(お知らせ・リマインド・通知)

■ こんな場面で使える

  • 支払い期限のリマインド
  • イベント前日の案内メール
  • フォーム回答が届いたときの担当者通知

■ 事前準備

  • Gmail が使える状態であればOK
  • 宛先メールアドレスをスプレッドシートにまとめておくと便利

■ コピペで動くサンプルコード

function sendReminderMail() {
  const to = "宛先メールアドレスを入れてください"; // ←変更ポイント
  const subject = "【お知らせ】支払い期限が近づいています"; // ←変更可
  const body = "いつもお世話になっております。\n支払い期限が近づいておりますのでご確認お願いいたします。";

  GmailApp.sendEmail(to, subject, body);
}

■ 書き換えポイント

  • to に送り先のメールアドレスを入れるだけでOK
  • 複数人に送りたいときはスプレッドシートから読み込む応用も可能

売上・集計業務(日次・月次レポート作成)

■ こんな場面で使える

  • 毎日の売上合計を自動計算してメール送付
  • 月次レポートを自動作成
  • “昨日分だけ”などの日付しばりの集計

■ 事前準備

  • スプレッドシートに「日付」「売上」などの列を用意
  • 集計結果を出したいシートを1つ作成

■ コピペで動くサンプルコード

function createDailyReport() {
  const sheetName = "売上データ"; // ←変更ポイント
  const sheet = SpreadsheetApp.getActive().getSheetByName(sheetName);
  const values = sheet.getDataRange().getValues();

  let total = 0;
  const today = Utilities.formatDate(new Date(), "Asia/Tokyo", "yyyy/MM/dd");

  values.forEach(row => {
    if (row[0] == today) total += Number(row[1]);
  });

  const message = `本日の売上合計は「${total}円」です。`;
  GmailApp.sendEmail("送信先メールアドレスを入れてください", "日次売上レポート", message); // ←変更ポイント
}

■ 書き換えポイント

  • sheetName を自分のシート名にする
  • メールの宛先を変更する
  • 売上列が別の位置なら row[1] を変更

勤怠・フォーム処理(回答通知・打刻集計)

■ こんな場面で使える

  • Googleフォーム回答をリアルタイムで担当者に通知
  • 毎日の打刻データを自動集計
  • 入力忘れチェックを自動化

■ 事前準備

  • Googleフォームの回答先をスプレッドシートに設定
  • 通知したい担当者メールを準備

■ コピペで動くサンプルコード(回答通知)

function onFormSubmit(e) {
  const to = "担当者メールアドレスを入れてください"; // ←変更ポイント
  const answer = e.values.join(" / ");
  GmailApp.sendEmail(to, "フォームに回答が届きました", answer);
}

■ 書き換えポイント

  • 宛先だけ変えればOK
  • 回答内容を見やすくしたい場合は整形処理を追加

応用したい人向けワンポイント

  • メールは Google Chat のWebhook に変えると社内通知にも使えます(Google Workspace標準機能で追加費用なし)
  • 書類生成は、フォルダ内で月ごとに自動整理することも可能
  • 集計処理は「〇日前」などの条件追加も簡単

コードの書き換えポイントを「初心者向けに」徹底解説

サンプルコードを動かしてみると、「あれ?思ったとおりにならない…」「どこを直せば自社用になるの?」という壁にぶつかりやすいです。ここでは、初心者の方でも迷わないように、**“まず見直すべき場所だけ”**にポイントをしぼってご説明いたします。

まず押さえておきたいのは、コードの一番上にある変数(const ~)をまとめて管理することです。たとえば「シート名」「テンプレートID」「メール宛先」などは、ほとんどの作業で何度も出てきます。これらをコードの冒頭にずらっと並べておけば、「どこを直せばいいんだっけ?」と迷わなくなります。見つけやすさが一気に上がるのでおすすめです。

次によく出てくるのが if(条件分岐)の書き換え です。たとえば「今日の日付だけ集計したい」「特定のお客さまだけ処理したい」などは、if (〇〇 == △△) の部分を変えるだけで調整できます。むずかしく見えますが、実は“条件を日本語で考えて、それをそのまま置き換える”だけでOKです。

そしてもう一つ大事なのが ループ処理(for / forEach)の理解 です。これは「シートの行を上から順に読んでいく作業」だと思っていただければ十分です。途中で処理したくない行がある場合は、ループの中に if を入れて「この行はスキップしてください」と指示すればOKです。

初心者の方がつまずきがちなポイントは、「全部理解しないと動かせない」と思いこんでしまうことです。実は、今回のサンプルのほとんどは “変数・if・ループ”のどれかを直すだけで自社仕様になる ように作っています。まずはこの3つだけ触るつもりで、自信を持って使ってみてください。慣れてくると、自然にコードの見通しもよくなっていきます。

つまずきやすい運用トラブルを防ぐ設定・セキュリティ基本

GASは一度動き出すととても便利ですが、「急に動かなくなった」「変な人にも共有されていた」「間違った人にメールが飛んだ」など、運用でヒヤッとする場面も多いです。

ここでは、最低限おさえておきたいポイントをチェックリスト形式でご紹介いたします。

権限設定・共有トラブルを防ぐ方法

  • スプレッドシートやドキュメントの共有先を最小限にする
  • 「リンクを知っている全員」にしない
  • 社外共有が必要な場合は、閲覧のみ・コメントのみで付与する

メール誤送信を避けるテスト手順

  • まずは 自分のアドレスだけ に送るテスト用モードを作る
  • Gmailのサブアドレス(xxx+test@gmail.com)を使ってテストする
  • 件名に【テスト】を必ず入れる

トリガーの設定・動かない時のチェック方法

  • 「実行ログ」にエラーが出ていないか確認
  • トリガーの種類(時間ベース/フォーム送信時)が合っているかチェック
  • スクリプトの権限再承認が必要になっていないかを見る
筆者
筆者

このあたりを最初に整えておくと、「便利だけど怖い」ではなく、「安心して任せられるGAS」になります。

まず導入すべき「効果の高いGASスターター3選」

ここまで読んでいただいて、「自分でもGAS使えそうかも!」と思えてきた方も多いのではないでしょうか。

でも、最初からぜんぶ自動化しようとすると、どうしても難しく感じてしまいます。

そこでまずは、どんな企業でも共通して“めちゃくちゃ効果が出やすい”定番シナリオを3つだけご紹介いたします。
これらは Google Workspace の標準機能だけで動くので、追加費用は不要です。

毎朝の定時レポート自動送信

毎日同じ時間に「売上」「在庫」「アクセス数」などをメールで送るだけでも、確認作業がかなり楽になります。

トリガーを朝9時にセットしておくだけで、自分より早くGASが報告してくれるイメージです。

支払・請求リマインドの自動メール

「今月の支払いまだでした!」という連絡を手動で送ると地味に時間がかかります。

期日が近づいた行だけをスプレッドシートから拾って、自動でメールしてくれる仕組みはとても便利で、ミス防止にもつながります。

問い合わせフォーム → 担当者通知の自動化

お問い合わせが来たら、すぐ担当者にメールやChatで通知。返信の遅れが減るので、お客さま満足度にも直結します

Googleフォーム+GASだけで作れる“最強の時短コンボ”です。

筆者
筆者

まずはこの3つを導入するだけで、「あ、仕事が楽になった!」と実感できるはずです。慣れてきたら、他の業務にもどんどん広げてみてください。

よくある質問

Q
プログラミングがほぼ未経験でもGASは使えますか?
A

はい、使えます!サンプルコードをコピペして、上のほうにある変数だけ直せば動くものが多いので、まずは怖がらず触ってみてください。

Q
GASって全部無料で使えるんですか?
A

はい、Google Workspace か無料のGoogleアカウントがあれば追加料金なしで使えます。

Q
トリガーが急に動かなくなったのはなぜですか?
A

権限の再承認が必要になったり、エラーが出て止まっていることが多いです。「実行ログ」を見ると原因がわかりやすいです。

Q
メール誤送信が怖いんですが、どうテストすればいいですか?
A

Gmailの「+test」サブアドレスを使うのが安全です。まずは自分宛に送るテストを必ず行ってください。

Q
シート名を変更したら動かなくなりました。どうすれば?
A

コード内に書いた getSheetByName("シート名") と実際のシート名が一致しているか確認してください。これがずれると動きません。

Q
同じテンプレートで複数の請求書を作りたいです。できますか?
A

はい、可能です。スプレッドシートに顧客リストを作って、1行ずつループしながら作ればまとめて生成できます。

Q
Googleフォームの回答通知はリアルタイムで届きますか?
A

フォーム送信トリガーを使えばほぼ即時です。担当者への連絡が早くなるのでとても便利です。

Q
GASでPDFを作ったりできますか?
A

はい、GoogleドキュメントをPDFに変換できます。請求書などでよく使われる定番パターンです。

Q
スプレッドシートが大きくなると動作は遅くなりますか?
A

はい、データ量が極端に増えると遅くなることがあります。必要な列だけ読む工夫をすると改善しやすいです。

Q
サンプルコードを自分用に編集できる自信がありません…
A

まずは「変数だけ編集」「if の条件だけ編集」など、小さい変更から始めるのがおすすめです。全部理解しなくても動きますのでご安心ください!

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