【完全版】GASで定期レポートを自動送信する方法|手間ゼロでレポート提出を仕組み化!

はじめに

「毎週・毎月のレポート送信、もう手動でやりたくない…」
「データまとめて、メール書いて、添付して…その作業を自動化できたら!」

そんなあなたにぴったりなのが、
Google Apps Script(GAS)を使った定期レポートの自動送信です!

この記事では、初心者でもすぐに取り組めるように、
GASを使ってスプレッドシートのデータをまとめ、レポート化して定期的に自動送信する方法を完全解説します。

これを導入すれば、
「毎週のレポート作成・送信作業」から卒業できます!


GASで定期レポート自動送信をするメリット

まず、なぜわざわざGASでレポートを自動送るのか?

  • 手動作成・手動送信の時間をまるごと削減できる

  • ミスや漏れを防止できる

  • 決まった時間にきっちりレポートが届く

  • データ更新と連動してリアルタイムなレポートを送信できる

  • 大量の宛先にも一括で送れる

つまり、
**「レポート作業をゼロにして、クリエイティブな時間に集中できる」**のです!


GASで定期レポート自動送信を構築する基本ステップ

全体像を押さえましょう。

  1. スプレッドシートにレポート元データを用意

  2. GASでデータを集計・整形

  3. レポート本文や添付ファイルを作成

  4. MailAppでメール送信処理を書く

  5. トリガー設定で定期実行する

これだけで、手放しでレポート業務が回り続けます!


【実践編】GASで定期レポート自動送信をやってみよう!

それでは、手を動かしながら構築していきましょう!


ステップ1:レポート用スプレッドシートを準備する

例えば、売上レポートを送るとしましょう。

  • A列:日付

  • B列:売上金額

  • C列:担当者

こんな感じで、日々データが蓄積されているとします。

このスプレッドシートがレポートの元データになります!


ステップ2:Apps Scriptで集計・メール送信スクリプトを書く

スプレッドシートから「拡張機能」→「Apps Script」でエディタを開き、
以下のコードを入力します!

function sendWeeklyReport() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('売上データ');
  const data = sheet.getDataRange().getValues();

  const today = new Date();
  const lastWeek = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7);
  
  let totalSales = 0;
  let reportText = '【今週の売上レポート】\n\n';

  for (let i = 1; i < data.length; i++) {
    const [date, amount, person] = data[i];
    const saleDate = new Date(date);

    if (saleDate >= lastWeek && saleDate <= today) {
      totalSales += amount;
      reportText += `${Utilities.formatDate(saleDate, Session.getScriptTimeZone(), 'yyyy/MM/dd')} - ¥${amount} (${person})\n`;
    }
  }

  reportText += `\n合計売上:¥${totalSales}`;

  MailApp.sendEmail({
    to: 'recipient@example.com',
    subject: '【定期送信】今週の売上レポート',
    body: reportText
  });
}

このスクリプトの流れは:

  • 直近1週間の売上データをピックアップ

  • 合計金額と詳細をテキストで整形

  • メール本文として自動送信

というものです!


ステップ3:トリガー設定で定期実行する

手動実行では意味がないので、トリガーを設定します!

設定手順:

  • スクリプトエディタで「トリガー」→「新しいトリガー」

  • 実行関数:sendWeeklyReport

  • イベント:時間主導型 → 「週単位」「毎週月曜日8時」などに設定

これで、
毎週自動でレポートが送られる仕組みが完成します!


さらにできる応用テクニック

もっと本格的なレポート自動送信も可能です!

  • Googleドキュメントにきれいなレポートを作成してPDF添付

  • 部門別に集計して別々の担当者に送信

  • 送信後にスプレッドシートにログを記録

  • SlackやLINEにも同時送信

GASを使えば、あなたの業務に合わせたカスタマイズが無限大です!


よくあるエラーと対策

初心者がハマりやすいポイントも押さえておきます!

■ 日付型の不一致

  • スプレッドシート上の日付列が「日付」フォーマットになっているか確認しましょう!

■ スプレッドシートのシート名ミス

  • getSheetByName('売上データ')は、シート名と完全一致している必要があります。

■ メール送信制限

  • 無料版Gmailでは、1日あたり最大約100通までの制限があります。

  • 大量送信する場合はGoogle Workspace(有料)を検討しましょう。


まとめ|GASで定期レポート自動送信すれば、レポート業務はゼロになる!

この記事では、
GASを使った定期レポートの自動送信方法を初心者向けにわかりやすく解説しました!

✅ スプレッドシートからデータを集計
✅ レポート本文を自動整形
✅ メールで自動送信
✅ トリガー設定で完全無人化!

これができれば、
レポート作成・送付に悩まされることは一切なくなります!

今日からあなたも、
**「レポート作業ゼロ生活」**を始めましょう!

Shop now