【完全マニュアル】GASで定期レポートを自動作成&PDF出力する方法|初心者向けステップ解説!

「毎週のレポート作成、もう限界…」
「まとめたデータをPDFにして配布するのに手間がかかりすぎる!」

そんなあなたにこそ知ってほしいのが、Google Apps Script(GAS)を使った定期レポートのPDF出力自動化です。

この記事では、初心者でも今すぐできる
「GASでレポートを作成→PDF化→配布まで自動化する方法」を、ステップごとに丁寧に解説します!

これを読めば、
レポート作成の苦痛とは今日でサヨナラできます!


1. なぜGASで定期レポートをPDF出力すべきなのか?

日常業務で発生するレポート作成は、

  • データをまとめる

  • 書式を整える

  • PDFにして保存・共有

と、地味に膨大な手間と時間がかかります。

でも、GASを使えば、

  • データ抽出からレポート生成

  • PDF化して自動保存

  • メールやチャットに自動送信

まで、全部まとめて完全自動化できます!

作業ゼロ、確認だけ、という理想の運用が手に入るんです!


2. 【準備編】必要なもの

  • Googleアカウント

  • Googleスプレッドシート(元データ)

  • Googleドキュメント(レポートテンプレート)

  • Google Apps Script(GAS)

これだけで、誰でも無料でスタートできます!


3. 【設計編】GASで定期レポートPDF出力の流れをイメージしよう

作る前に、ざっくり流れを整理しておきましょう。

■ 基本フロー

  1. スプレッドシートからデータ取得

  2. テンプレート用Googleドキュメントにデータ流し込み

  3. 完成ドキュメントをPDF化

  4. ドライブ保存&メール送信

これが自動で回る仕組みを作っていきます!


4. 【基本編】GASでレポート作成→PDF出力までを一気通貫でやる方法

では、実際に手を動かしていきましょう!


ステップ① Googleドキュメントでテンプレートを作成

例えばこんな感じ:


【売上週報】
期間:{{期間}}

  • 総売上:{{総売上}} 円

  • 新規顧客数:{{新規顧客数}} 件

  • トップセールス担当者:{{トップ担当者}}


{{ }}部分が後からデータで差し替わる差し込みフィールドです!


ステップ② Apps Scriptエディタを開く

スプレッドシートまたはGoogleドライブ上で
「拡張機能」→「Apps Script」→「新しいプロジェクト作成」


ステップ③ サンプルスクリプトを書く

テンプレート複製→差し込み→PDF出力スクリプト

function generateWeeklyReport() {
  const templateId = 'テンプレートドキュメントのID';
  const folderId = '保存先フォルダのID';
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('売上データ');
  
  const data = sheet.getRange(2, 1, 1, 4).getValues()[0];
  const [period, sales, customers, topSalesPerson] = data;

  const copy = DriveApp.getFileById(templateId).makeCopy(`売上週報_${period}`);
  const doc = DocumentApp.openById(copy.getId());
  const body = doc.getBody();

  body.replaceText('{{期間}}', period);
  body.replaceText('{{総売上}}', sales.toString());
  body.replaceText('{{新規顧客数}}', customers.toString());
  body.replaceText('{{トップ担当者}}', topSalesPerson);

  doc.saveAndClose();
  
  const pdf = DriveApp.getFileById(copy.getId()).getAs('application/pdf');
  const folder = DriveApp.getFolderById(folderId);
  const savedFile = folder.createFile(pdf);
  
  Logger.log('PDF出力完了: ' + savedFile.getUrl());
}

これを実行すると、

  • テンプレートから新しいドキュメントを作成

  • データを流し込んでレポートを完成

  • PDF化して指定フォルダに保存

までが一発で完了します!


5. 【応用編】さらに便利な自動化テクニック!


✅ 作成したPDFをメールで送信する

MailApp.sendEmail({
  to: '送付先@example.com',
  subject: '【週報】売上レポート',
  body: '最新の売上レポートをお送りします。',
  attachments: [savedFile.getAs(MimeType.PDF)]
});

これで、レポート生成→即送信も可能!


✅ レポート作成をトリガーで完全自動化

GASの時間主導型トリガーを設定すれば、

  • 毎週金曜日18時に自動作成

  • 毎月1日に月次レポート作成

など、スケジュール管理なしで運用できます!


✅ フォルダ自動整理・バージョン管理も可能

出力先フォルダを「年月ごとに自動作成」すれば、
レポートファイルを整理しやすくなります!


6. 【運用編】安定運用のためのコツ


✔️ テンプレート管理に注意

ドキュメントテンプレートを勝手に変更するとスクリプトが動かなくなるので、バージョン管理を徹底しましょう。


✔️ ファイル名に日付やバージョンを入れる

同名ファイルが増えすぎるのを防ぐため、
ファイル名には必ず_日付_v1などを付けましょう!


✔️ エラーハンドリング

出力エラーが発生したときのために、
エラー内容をログ出力 or 通知メールで受け取れるようにしておくと安心です。


7. まとめ|GASで定期レポートをPDF自動作成して、作業ゼロを実現しよう!

GASを使えば、

  • データ集計

  • レポート作成

  • PDF出力

  • ファイル保存・メール送信

まで、全部ワンクリックor自動スケジュール実行で完了します!

まずはこの記事の基本フローを参考に、
「週次売上レポートの自動作成」から試してみてください!

慣れてきたら、

  • 月次レポート

  • プロジェクト別レポート

  • チーム別ダッシュボード出力

など、さらに高度なレポート自動化にもチャレンジできます!

Shop now