メインコンテンツへスキップ
見出し画像

Google Sheets × Apps Scriptで自動化できる業務10選|現場DXの始め方

    Google Sheets × Apps Scriptで自動化できる業務10選|現場DXの始め方

    Google Sheetsは、社内の管理表として幅広い現場で使われています。問い合わせ管理、案件管理、在庫管理、請求管理——どれも日常的な業務のはずです。

    ただ、使っていても手作業は意外と残りがちです。毎朝シートを開いて未対応を確認し、担当者にメールして、ステータスを手で更新して、月末にまとめて集計する。一つひとつは小さくても、毎日続けば無視できない量になります。

    そこで使えるのが Google Apps Script です。GoogleサービスをつなぐスクリプトでGmail・Drive・Slackとも連携でき、現場の繰り返し作業を自動化する仕組みとして向いています。

    この記事では、実務で使いやすい自動化パターンを10個、具体的な流れと注意点とともに整理します。

    Google Sheets × Apps Scriptが向いている業務とは

    最初に整理しておくべきは、「何を自動化すべきか」という判断です。Apps Scriptは万能ではありません。向いている業務と、そうでない業務があります。

    自動化に向いている業務

    • 毎日・毎週・毎月繰り返す作業

    • 手順が明確で、判断が少ない作業

    • 入力データと出力結果がはっきりしている作業

    • チェック漏れや通知忘れが起きやすい作業

    • 担当者によって対応がばらつく作業

    最初から自動化しない方がよい業務

    • 判断基準が曖昧な業務

    • 例外対応が多い業務

    • 重要な承認が必要な場面

    • シートの入力ルールが整っていない業務

    業務ルールが曖昧なまま自動化すると、かえって混乱しやすくなります。自動化の前に、まず業務の型を決めることが先決です。

    自動化すべき業務の選び方:シート設計が土台になる

    Apps Scriptを動かす前に、Google Sheetsの設計を整える必要があります。シート構成が曖昧なまま自動化すると、あとで壊れやすくなるからです。

    特に重要なのは、手入力する列と、スクリプトが自動更新する列を明確に分けることです。この区別がないと、人間が入力した内容をスクリプトが上書きするトラブルが起こる可能性があります。

    決めておくべき項目として、シート名・列名・必須項目・ステータスの選択肢・担当者名の表記・日付形式・金額形式があります。一見地味ですが、ここが整っていないと自動化は安定しません。

    具体例1:フォーム回答が入ったら担当者に通知する

    最初に取り組みやすいのが、GoogleフォームとSheetsを組み合わせた通知自動化です。セミナー申込・資料請求・問い合わせ・社内申請など、フォームを使う業務ならどこでも応用できます。

    自動化の流れ

    1. Googleフォームに回答が入る

    2. 回答内容がSheetsに追加される

    3. Apps Scriptが新しい行を検知する

    4. 担当者にメール通知する

    5. ステータスを「未対応」にする

    実務でのポイント

    通知メールには、情報を詰め込みすぎないことが大切です。「誰から」「何の問い合わせか」「どのシートを見るか」が伝われば十分です。通知の目的は情報共有ではなく、対応漏れを防ぐことです。

    具体例2:未対応タスクを毎朝メールで通知する

    タスク管理シートから、ステータスが「未対応」または「対応中」で期限が近い行だけを抽出し、毎朝決まった時間にメールする仕組みです。

    自動化の流れ

    1. 毎朝、設定した時間にApps Scriptが起動する

    2. Sheetsから未完了タスクを抽出する

    3. 期限が近い順に整理する

    4. 管理者または担当者へメールする

    朝の確認作業が短くなり、会議前に未対応事項を把握しやすくなる可能性があります。

    簡単なコード例

    javascript

    function sendTaskReminder() {
      const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('タスク管理');
      const values = sheet.getDataRange().getValues();
      const tasks = [];
    
      for (let i = 1; i < values.length; i++) {
        const task = values[i][0];
        const owner = values[i][1];
        const dueDate = values[i][2];
        const status = values[i][3];
    
        if (status !== '完了') {
          tasks.push(`${task} / 担当: ${owner} / 期限: ${dueDate} / 状態: ${status}`);
        }
      }
    
      if (tasks.length > 0) {
        MailApp.sendEmail({
          to: 'manager@example.com',
          subject: '未完了タスク一覧',
          body: tasks.join('\n')
        });
      }
    }

    実際の運用では、担当者別に送る・期限超過だけ送る・Slackに通知するなど、業務に合わせて調整します。

    具体例3:月次レポートを自動作成する

    今月の売上・前月比・問い合わせ件数・完了率などをSheetsから集計し、メールまたはGoogle Docsにまとめる自動化です。

    読み手が知りたいのは単なる数字ではなく、「今月どうだったか」「先月と何が変わったか」「次に何をすべきか」という文脈です。Apps Scriptで数字を集計し、GeminiなどのAIを組み合わせてコメントのたたき台を作る流れも考えられます。ただし、最終的な報告内容は人間が確認することが前提です。

    具体例4:問い合わせ管理のステータスを自動更新する

    手動でのステータス更新は、忘れや漏れが起きやすい作業です。Apps Scriptで条件に応じて自動更新できます。

    自動化の例

    • 回答日時が入力されたら「完了」にする

    • 担当者が空欄なら「未割当」にする

    • 期限を過ぎたら「期限超過」にする

    • 確認依頼から3日経ったら「確認待ち長期化」にする

    注意点

    ステータス変更の条件は、チームで事前に決めておく必要があります。たとえば「回答した=完了」が本当に正しいのかは業務によって異なります。自動更新してよい項目と、人間の確認が必要な項目を分けて設計することが重要です。

    具体例5:重複データや入力ミスをチェックする

    複数人が入力するシートほど、表記ゆれや入力ミスは発生しやすくなります。Apps Scriptで定期的にチェックする仕組みを作れます。

    チェックできる項目の例

    • メールアドレスの形式

    • 必須項目の空欄

    • 重複する顧客名

    • ステータス名が選択肢外のもの

    • 金額欄に文字が混入していないか

    • 日付が正しい形式か

    後からまとめてチェックするより、入力直後に気づける方が修正コストは小さくなります。ただし、ルールを厳しくしすぎると現場が入力しにくくなるため、必須項目・重要項目・後で修正できる項目を分けて設計することが大切です。

    具体例6:請求書・見積書を自動作成する

    Sheetsに顧客名・商品名・数量・単価を入力し、Apps Scriptでテンプレートに差し込んでGoogle DocsまたはPDFに変換する自動化です。

    自動化の流れ

    1. Sheetsに請求データを入力する

    2. Apps Scriptでテンプレートをコピーする

    3. 顧客名や金額を差し込む

    4. PDFに変換してDriveへ保存する

    5. 必要に応じてメールで送付する

    注意点

    請求書はお金に関わる書類です。自動作成しても、顧客名・金額・税率・支払期限・振込先は必ず人間が確認する必要があります。Apps Scriptはあくまで作成を補助する道具です。

    具体例7:Driveフォルダを自動作成する

    営業案件やプロジェクトごとにSheetsへ情報を入力したら、Driveに案件フォルダを自動作成する仕組みです。フォルダURLをSheetsに書き戻すことで、シートからフォルダへすぐアクセスできるようになります。

    フォルダ構成例

    A社_生成AI導入支援
    ├── 01_提案資料
    ├── 02_議事録
    ├── 03_見積
    ├── 04_契約関連
    └── 05_納品物

    担当者ごとのフォルダ管理ばらつきを減らし、案件ごとの資料整理がしやすくなる可能性があります。ただし、共有権限の設計は事前に決めておく必要があります。顧客情報や契約書類を扱う場合は特に注意が必要です。

    具体例8:SlackやGoogle Chatに通知する

    メール通知だけでなく、チャットツールへの通知もApps Scriptで実現できます。問い合わせ新着・期限切れアラート・請求書作成完了など、チームで素早く共有したい情報に向いています。

    実務でのポイント

    通知は増えすぎると読まれなくなります。「重要なステータス変更だけ」「期限超過のみ」「申込数が一定数を超えたら」のように条件を絞ることが大切です。通知は情報共有のためではなく、次の行動を促すために使うべきです。

    具体例9:シートの表示を定期的に整形する

    データが増えるほどシートは見づらくなりがちです。Apps Scriptで定期的に整形する仕組みも作れます。

    整形の例

    • ステータスごとに行の色を変える

    • 期限切れの行を赤くする

    • 完了済みをグレーにする

    • 空白行や余分なスペースを削除する

    • 担当者別に並び替える

    見た目を整えることが目的ではなく、「未対応が目立つ」「期限超過がすぐわかる」「担当者が一目でわかる」状態をつくることが重要です。

    具体例10:月次集計結果を自動でバックアップする

    月末に集計結果を別シートまたは別ファイルへ自動でコピーする仕組みです。過去月との比較が必要な月次会議や、レポート作成の手間を減らせる可能性があります。

    データ量が増えるとシートが重くなるため、必要に応じて別ファイルへの保存も検討します。保存先・命名ルールは事前に決めておくことが大切です。

    GeminiをApps Script設計に使う

    Apps Scriptはノーコードではありません。非エンジニアにとって、いきなりコードを書くのはハードルがあります。そこで、Geminiなどの生成AIを使って設計やコードのたたき台を作ると進めやすくなります。

    Geminiに相談できること

    • 自動化できる業務かどうかの判断

    • 必要なシート構成

    • Apps Scriptで必要な処理の整理

    • サンプルコードの作成

    • エラーの原因調査

    • テスト観点の洗い出し

    プロンプト例

    Google SheetsとApps Scriptで以下の業務を自動化したいです。
    
    業務内容:[ここに業務内容]
    自動化したいこと:[ここに処理内容]
    
    出力してほしいもの:
    1. 自動化の流れ
    2. 必要なシート構成
    3. Apps Scriptで行う処理
    4. 実装手順
    5. 注意点
    6. テスト観点
    7. サンプルコード

    ただし、出力されたコードは必ず確認してから実行します。どのデータを書き換えるか、どの権限が必要か、エラー時にどうなるかを事前に確認することが重要です。

    自動化で失敗しやすいパターン

    シート構成が変わって壊れる

    列の順番を変えたらスクリプトが動かなくなることがあります。列番号ではなく列名で管理する工夫が必要になる場合もあります。

    権限が足りずに動かない

    メール送信・Drive操作・外部連携には権限が必要です。誰のアカウントで実行するかも重要な設計事項です。

    通知が多すぎる

    便利だからといって通知を増やしすぎると、誰も確認しなくなります。

    エラーに気づけない

    スクリプトが失敗しても誰も気づかない状態は危険です。ログやエラー通知の仕組みを用意しておく必要があります。

    作った人しか直せない状態になる

    Excelマクロと同じように、Apps Scriptも属人化する可能性があります。コードの説明と運用メモを残すことが大切です。

    企業で使うときの注意点

    個人アカウントで重要な処理を動かすと、退職や異動でスクリプトが止まるリスクがあります。できれば、管理用アカウントや組織ルールに沿って運用することをおすすめします。

    また、Apps Scriptには実行時間やサービス利用に関する制限があります。大量データ処理や高頻度実行が必要な場合は、BigQueryや専用システムの利用も検討する必要があります。

    問い合わせ・請求・顧客情報を扱う場合は、保存先・通知先・共有範囲を慎重に決める必要があります。請求書・顧客対応・契約・金額に関わる処理は、完全自動化せず人間の確認を残す方が安全です。

    DXにつなげるには「個人技」で終わらせない

    Google Sheets × Apps Scriptの自動化は、詳しい人が個人の工夫として始めることが多いです。それ自体は良いことです。ただし、企業DXにつなげるには、組織で使える形にする必要があります。

    残しておくべきものとして、何を自動化しているか・どのシートを使っているか・どのタイミングで動くか・エラー時に誰が対応するか・コードの管理者は誰か・運用マニュアルの保存場所があります。

    これを残しておかないと、便利な自動化が次の属人化になります。かつてExcelマクロがブラックボックス化したように、Apps Scriptも同じ問題を起こす可能性があります。自動化と同時に、運用ルールを整えることが重要です。

    まとめ|小さな自動化を積み重ねて、現場で使えるDXをつくる

    Google SheetsとApps Scriptを組み合わせると、現場の繰り返し作業をかなり減らせる可能性があります。

    フォーム回答の通知、未対応タスクのリマインド、月次レポート作成、問い合わせ管理、入力ミスチェック、請求書作成、Driveフォルダ作成、Slackへの通知、シート整形、集計バックアップ——これらはどれも単体では小さな改善です。しかし、毎日・毎週・毎月続く作業であれば、積み重ねの効果は大きくなります。

    大切なのは、いきなり大きな仕組みを作らないことです。繰り返し発生する小さな作業を一つ選び、Sheetsの設計を整え、Apps Scriptで小さく自動化し、テストして、運用ルールをチームで共有する。この流れを一つずつ進めることが、現場で使われるDXへの第一歩になります。

    私のnoteでは、企業の生成AI活用・DX推進について、実務目線で発信しています。

    ChatGPT、Claude、Microsoft Copilot、Gemini、NotebookLMなどを使い、営業、会議、資料作成、Excel業務、メール対応、社内ナレッジ整理をどのように改善できるかをまとめています。

    単なるAIツール紹介ではなく、「現場で使われるAI活用」「業務改善につながるDX」「属人化を減らす仕組みづくり」をテーマに、実際の仕事に落とし込みやすい活用法を発信しています。

    他の記事もぜひ読んでみてください。

     
     
    製造業の現場でDXを進めてきた係長。 ChatGPT・Gemini・NotebookLM・GASで、会議・資料作成・問い合わせ対応・紙業務を少しずつ軽くする実務記事を書いています。 AIで定時退社し、浮いた時間で旅に出る。

    あなたへのおすすめ