Google Apps Script / スプレッドシート

手作業の集計・転記・連絡を、
スプレッドシートの中で自動化します

本業はオンライン教育サービスのカスタマーサクセス責任者です。現場の手作業を整理して、生成AIとGASで仕組みにし、非エンジニアのメンバーが使い続けられる形まで定着させてきました。このページの見本は、すべてダミーデータで動きます。

fx=手作業の時間 − 自動化 → 本来の仕事に使える時間
GAS(Google Apps Script)スプレッドシート関数Excel・マクロ Claude Code・ChatGPT・GeminiGitHub・Vercel業務フロー改善

※効果の数字は、よくある業務量(例:月に数十〜数百件)を想定した目安です。実際の効果は、業務の量や進め方によって変わります。

対応できる業務

こんな業務を自動化できます

業務の種類例見本
営業・顧客フォロー資料請求・問い合わせ後の追客、見込み度の判定、担当者への通知11
顧客の分析・解約防止利用データからのヘルススコア計算、解約予兆の検知、フォロー対象の抽出12
データの集計・数値管理売上・受注の集計、日報・月報、数値チェック1・8
書類の自動作成注文データから発注書・請求書・見積書を作る6
フォーム・予約の管理自動返信、定員・締切の管理、予約の登録2・5・9
リスト収集・データ取得企業情報・営業リストの収集、Webからの取得7
通知・リマインド期限・在庫・価格の監視、LINE・Slack・Chatwork通知3・10
生成AIとの連携問い合わせ・メッセージの分類、要約、判定4
見本 1 ・ 集計・レポートの自動化

受注データの月次集計と、レポートメールの自動送信

毎月はじめに、明細をコピーして、ピボットで集計して、メールに貼る。この作業をボタン1つ(またはトリガーで完全に自動)にします。

こんな課題

毎月はじめに、明細をコピーし、ピボットで集計してメールに貼る。この作業に1〜2時間かかり、転記ミスも起きる。

こう解決
  1. 受注データのシート
  2. 商品別・担当者別に自動で集計
  3. 集計表とレポートメールが届く
効果の目安月2時間 → ほぼ0分
  • 転記・計算のミスがなくなる
  • 締めた直後に数字を確認できる
動くデモを見る(ダミーデータ)
受注データ(ダミー)対象:2026年10月分 / キャンセルは除外
ボタンを押すと、ここに「月次集計」シートと送信メールが表示されます

設計のポイント

  • シートの読み込み・書き込みを1回ずつにまとめ、件数が増えても速く動く
  • シート名・送信先・除外するステータスなどの設定を1か所にまとめ、依頼主が自分で変えられる
  • 毎月1日に自動で実行。メニューから手動でも実行できる
見本 2 ・ フォーム連携

フォーム回答への自動返信と、担当者への通知

申込や問い合わせが来たら、回答者に受付メールを返し、担当者に知らせ、シートに「未対応」と記録します。

こんな課題

問い合わせへの返信が遅れる。誰が対応したかが分からず、対応漏れが起きる。

こう解決
  1. フォームの回答
  2. 自動返信+担当者への通知+「未対応」を記録
  3. すぐに返信が届き、対応状況がシートで見える
効果の目安返信まで数時間 → 1分以内
  • 対応漏れを防ぐ
  • 担当者が確認する手間が減る
動くデモを見る(ダミーデータ)
フォーム(ダミー)
送信すると、自動返信メールとシートの記録が表示されます

設計のポイント

  • 送信の直後に自動返信し、担当者にも同時に通知する
  • 「対応状況」の列を自動で用意し、新しい回答に「未対応」と入れて対応漏れを防ぐ
  • 返信の文面や通知先は、あとから簡単に変えられる
見本 3 ・ 通知・リマインド

期限が近いタスクを、担当者ごとにまとめてリマインド

タスク表を毎朝チェックして、期限が2日以内・超過しているものを担当者ごとに1通にまとめて送ります。

こんな課題

締切が近いタスクを、人が表を見て声をかけて回っている。抜けや遅れが出る。

こう解決
  1. タスク表
  2. 期限が2日以内・超過のものを担当者ごとに抽出
  3. 毎朝、担当者ごとに1通のリマインドが届く
効果の目安声かけ 毎日15分 → 0分
  • 期限切れを減らす
  • 管理者が確認する作業が不要になる
動くデモを見る(ダミーデータ)
タスク(ダミー)今日:2026年11月11日として計算
ボタンを押すと、担当者ごとのリマインドメールが表示されます

設計のポイント

  • 担当者ごとに1通にまとめ、通知が多すぎて読まれない状態を防ぐ
  • 「超過」「今日まで」「あと○日」の3段階で、急ぎ度がひと目で分かる
  • 完了したタスクは除外。毎朝決まった時刻に自動で実行する
見本 4 ・ 外部サービス連携(生成AI × Slack)

問い合わせを生成AIで分類・要約し、緊急のものだけSlackに通知

シートに入った問い合わせを、生成AIのAPIで「分類・緊急度・要約」に整理します。緊急度が高いものはすぐにSlackへ知らせます。

こんな課題

問い合わせを全件読んで振り分けている。緊急の連絡に気づくのが遅れる。

こう解決
  1. 問い合わせのシート
  2. 生成AIで分類・緊急度・要約をつける
  3. 分類済みの表ができ、緊急のものだけSlackに届く
効果の目安振り分け 1件3分 → 0分
  • 緊急の連絡に数分で気づける
  • 分類ごとの件数もすぐに集計できる
動くデモを見る(ダミーデータ)
問い合わせ(ダミー)デモではAIの回答例を表示します
ボタンを押すと、分類の結果とSlackへの通知が表示されます

設計のポイント

  • APIキーとWebhook URLはコードに書かず、安全な保存場所(スクリプトプロパティ)で管理する
  • AIには決まった形式で答えさせ、表の決まった列にそのまま書き込む
  • 1件でエラーが出ても止めず、その行に理由を残して次へ進む
  • Chatwork・LINE WORKS・Discord にも同じ形で通知できる
見本 5 ・ 外部サービス連携(Googleカレンダー)

予約シートから、Googleカレンダーへ自動で登録

予約の行をカレンダーの予定にし、予約者に確認メールを送ります。担当者の予定と重なっている予約は登録せず、「重複」と知らせます。

こんな課題

予約をシートからカレンダーに手で写している。ダブルブッキングや確認メールの送り忘れが起きる。

こう解決
  1. 予約シート
  2. 重複をチェックしてカレンダーに登録
  3. 予定の登録と確認メールが自動になる
効果の目安1件5分 → 0分
  • ダブルブッキングを防ぐ
  • 確認メールの送り忘れがなくなる
動くデモを見る(ダミーデータ)
予約(ダミー)担当Aの 10:00〜11:00 に重なる予約が1件あります
ボタンを押すと、カレンダーに入る予定と確認メールが表示されます

設計のポイント

  • 担当者ごとに予定の重なりを確認し、ダブルブッキングを防ぐ
  • 「登録済み」「重複」を表に記録し、何度実行しても二重に登録しない
  • 予約者への確認メールまで自動で送る。共有カレンダーにも対応できる
見本 6 ・ 書類の自動作成

注文データから、仕入先ごとの発注書PDFを自動で作成

未発注の注文を仕入先ごとにまとめ、ひな形に流し込んでPDFにします。Driveに保存し、仕入先にメールで送り、注文に「発注済み」と記録します。請求書・見積書・領収書も同じ仕組みで作れます。

こんな課題

注文を見ながら、発注書のひな形に1件ずつ転記してPDFにしている。

こう解決
  1. 注文データ
  2. 仕入先ごとにまとめ、ひな形に流し込む
  3. PDFの保存とメールでの送付まで自動
効果の目安月3時間 → 5分
  • 転記ミスや二重発注を防ぐ
  • 請求書・見積書にも転用できる
動くデモを見る(ダミーデータ)
注文(ダミー)
ボタンを押すと、仕入先ごとの発注書のプレビューが表示されます

設計のポイント

  • ひな形をコピーして使うので、元のひな形は崩れない
  • 未発注の注文を仕入先ごとにまとめ、1社1枚のPDFにする
  • 保存とメール送付のあとに「発注済み」と記録し、二重発注を防ぐ
  • 請求書・見積書・領収書にも同じ仕組みで転用できる
見本 7 ・ 外部サービス連携(データ取得)

営業リストを自動で集めて、重複なく追記

「キーワード×地域」の条件ごとに企業情報のAPIを呼び、まだリストにない会社だけを追加します。手作業で検索して貼り付ける作業がなくなります。

こんな課題

営業リストを作るために、1社ずつ検索してコピー&ペーストしている。

こう解決
  1. 検索の条件(業種×地域)
  2. APIから企業情報を取得し、重複を除く
  3. 新しい会社だけがリストに追加される
効果の目安100社で5時間 → 数分
  • 重複のない、すぐに使えるリストになる
  • 毎日自動で更新できる
動くデモを見る(ダミーデータ)
営業リスト(ダミー・既存2件)条件:「学習塾 × 東京都」「料理教室 × 神奈川県」
ボタンを押すと、取得結果と追加された行が表示されます

設計のポイント

  • 利用規約でデータ取得が認められたAPI・サイトだけを対象にし、間隔をあけて取得する
  • URLで重複を判定するので、何度実行しても同じ会社は増えない
  • 取得日と「未アプローチ」のステータスを自動で付け、そのまま営業に使える
見本 8 ・ データの統合

形式の違う複数のCSVを取り込み、1つの表とダッシュボードに

ECモールやレジから書き出したCSVを、フォルダに置くだけで取り込みます。列名や金額の書き方の違いをそろえ、重複した注文は除きます。

こんな課題

モールやレジごとにCSVの形式が違うので、毎回並べ替えてから貼り付けている。

こう解決
  1. フォルダに置いたCSV
  2. 列名と金額の書き方をそろえ、重複を除いて統合
  3. 1つの表とダッシュボードが更新される
効果の目安月2時間 → ほぼ0分
  • チャネル別の売上がすぐに分かる
  • 貼り付けのミスや重複がなくなる
動くデモを見る(ダミーデータ)
モールA_202610.csv
受注日,受注ID,売上金額
2026/10/03,MA-201,"12,800円"
2026/10/09,MA-202,"5,400円"
2026/10/09,MA-202,"5,400円"
レジB_202610.csv
order_date,order_id,amount
2026-10-05,RB-77,3200
2026-10-12,RB-78,9800
2026-10-20,RB-79,4600
ボタンを押すと、統合された表とチャネル別の売上が表示されます

設計のポイント

  • 列名の違い(受注日・order_date など)を対応表で吸収する
  • 文字コードや「12,800円」のような金額の書き方の違いも自動でそろえる
  • 注文番号で重複を除き、取り込み済みのCSVは別のフォルダへ移す
  • ダッシュボードは関数とグラフで作り、データを追記するだけで更新される
見本 9 ・ フォームの定員・締切管理

予約フォームの定員と締切を、自動で管理

申込のたびに便(回)ごとの残りの席を数え、満席や締切を過ぎた便をフォームの選択肢から外します。すべて埋まったら受付を止めます。

こんな課題

予約の人数を数え、手でフォームを閉じている。定員を超えてしまうことがある。

こう解決
  1. フォームへの申込
  2. 便ごとの残りの席を数え直す
  3. 満席や締切の回を自動で外し、残りの席を表示
効果の目安定員超過 → 0件
  • 締切に合わせた手作業がなくなる
  • 申込者も残りの席が分かって安心
動くデモを見る(ダミーデータ)
便の設定と申込数(ダミー)今:11月11日 12:00 として計算

設計のポイント

  • 申込のたびに残りの席を数え直し、選択肢に「残り○席」と表示する
  • 満席や締切を過ぎた回は、選択肢から自動で外す
  • すべて埋まったら受付を止め、案内の文を表示する。締切に備えて1時間ごとにもチェックする
見本 10 ・ 外部サービス連携(LINE)

在庫と価格を監視し、しきい値を超えたらLINEに通知

在庫が発注点を下回ったときや、仕入れ価格が目標まで下がったときに、LINEのグループへ知らせます。同じ日に同じ通知は送りません。

こんな課題

在庫や価格を、毎日シートを開いて目で確認している。在庫切れに気づくのが遅れる。

こう解決
  1. 監視リストのシート
  2. 1時間ごとにしきい値をチェック
  3. 必要なときだけLINEに通知が届く
効果の目安確認 毎日10分 → 0分
  • 在庫切れや買い時の見逃しを防ぐ
  • 同じ通知を何度も送らない
動くデモを見る(ダミーデータ)
監視リスト(ダミー)
ボタンを押すと、LINEに届く通知が表示されます

設計のポイント

  • 在庫と価格を同時に監視し、確認が必要な商品だけをまとめて通知する
  • 同じ日に同じ通知は送らない
  • LINE公式アカウントの仕組みでグループに送る。接続用のキーは安全な保存場所で管理する
  • しきい値(発注点・目標価格)は表で変えられる
見本 11 ・ 営業(自動追客)

資料請求・問い合わせのあとを、ステップメールで自動フォロー

こんな課題

資料請求のあとのフォローが担当者まかせで、忙しいと連絡が抜ける。見込みの高い人に気づくのも遅れ、他社に流れてしまう。

こう解決
  1. 資料請求・問い合わせのリスト
  2. 経過日数に合わせて、1日後・3日後・7日後にメールを自動送信
  3. 返信・面談予約で自動停止し、見込みの高い人は担当者に通知
効果の目安追客漏れ → 0件
  • フォローの手間 1人あたり月20分 → 0分
  • 温度が高いうちに担当者が連絡できる
動くデモを見る(ダミーデータ)
見込み客(ダミー)今日:2026年11月11日として計算
ボタンを押すと、送られるメールと担当者への通知が表示されます

設計のポイント

  • 送る文面と間隔は「シナリオ」シートで管理し、依頼主がコードを触らずに変えられる
  • 返信・面談予約・配信停止の希望があれば、その時点で自動で止める
  • 資料ページの閲覧や複数回の開封など、見込みの高い動きをした人を担当者にすぐ知らせる
  • 送信の記録を残し、同じメールを二重に送らない
見本 12 ・ カスタマーサクセス(解約予兆)

利用データからヘルススコアを出し、解約の兆しを自動で検知

こんな課題

解約の連絡が来てから、利用が減っていたことに気づく。全員の利用状況を毎週見て回る時間はない。

こう解決
  1. ログイン・利用回数・問い合わせなどの利用データ
  2. 先月との比較などから、ヘルススコアを自動で計算
  3. スコアが下がった顧客を、理由つきで担当者に毎週通知
効果の目安解約の兆しに数週間早く気づく
  • 利用状況の確認 毎週2時間 → 0分
  • フォローすべき顧客に集中できる
動くデモを見る(ダミーデータ)
利用データ(ダミー・今月)スコアは100点満点。40点未満を「要フォロー」
ボタンを押すと、スコアと担当者への通知が表示されます

設計のポイント

  • スコアの配点(ログインの減り方・利用回数・未対応の問い合わせなど)は表で調整でき、実際の解約データに合わせて見直せる
  • 点数だけでなく「何が下がったか」を通知に書き、担当者がすぐ動ける
  • 週ごとのスコアを記録し、推移と、フォローした結果まで追える
  • 決済や会員管理のCSVを取り込めば、ツールを入れ替えずに始められる
進め方

ご依頼から納品まで

  1. 今の作業を聞き取る
    どの表を、誰が、いつ、何分かけて触っているかを整理します。
  2. 自動化する範囲を決める
    効果の大きい所から。全部を自動にしない判断もします。
  3. 作って、一緒に試す
    実際のシートのコピーで動かし、気になる点を直します。
  4. 使い方のメモを添えて納品
    設定の変え方とエラー時の対処を、非エンジニア向けに書きます。

稼働

平日夜・土日を中心に、週10時間ほど。チャットには当日中に返信します。

大切にしていること

作って終わりにせず、現場の人が使い続けられること。お預かりしたデータは、了承なくAIツールに入力しません。