ChatGPT × GASで週報・月報を自動作成する方法

目次

週報・月報が「毎回ギリギリ」になっていませんか?

週報や月報は、
内容自体はスプレッドシートに入力しているのに、

  • 最後に文章へまとめるのが面倒
  • 忙しくて締切直前になる
  • 同じような文章を毎回書いている

という悩みが起きやすい業務です。

特に、管理職や個人事業主は、
「書く作業」に時間を使いたくないケースが多いはずです。


考え方:入力は日々、まとめは自動

この仕組みでは、役割を次のように分けます。

  • 日々の作業内容を記録する → 人
  • 週・月単位で文章にまとめる → ChatGPT

「毎日少し書く」「まとめは自動」にすることで、
報告書作成の負担を大きく減らせます。


全体の流れ

  • スプレッドシートに日々の業務を記録
  • GASで一定期間のデータを取得
  • ChatGPTで週報・月報を生成
  • トリガーで定期実行する

事前準備:スプレッドシート構成

次のような構成がおすすめです。


日付 | 作業内容 | 成果・気づき

1行=1日の記録にしておくと、
週・月単位で集計しやすくなります。


ChatGPTに渡す情報の考え方

週報・月報では、
「期間」を意識した指示が重要です。


以下は1週間分の業務記録です。
上司向けの週報として、
成果・課題・次週の予定が分かる文章にまとめてください。

この一文を入れるだけで、
報告書らしい構成になります。


GASで期間指定の要約を行う

① Apps Scriptを開く

スプレッドシートから、
「拡張機能 → Apps Script」を開きます。


② 指定期間のデータをまとめる


function createWeeklyReport() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const data = sheet.getDataRange().getValues();
  const today = new Date();
  const oneWeekAgo = new Date(today.getTime() - 7 * 24 * 60 * 60 * 1000);

  let body = '';

  for (let i = 1; i < data.length; i++) {
    const date = new Date(data[i][0]);
    if (date >= oneWeekAgo && date <= today) {
      body += '・' + data[i][1] + '(' + data[i][2] + ')\n';
    }
  }

  const prompt =
    '以下は1週間分の業務記録です。\n' +
    '上司向けの週報として要約してください。\n\n' +
    body;

  const report = callChatGPT(prompt);
  saveReport(report);
}

③ ChatGPT API呼び出し関数


function callChatGPT(prompt) {
  const apiKey = 'YOUR_API_KEY';
  const url = 'https://api.openai.com/v1/chat/completions';

  const payload = {
    model: 'gpt-4o-mini',
    messages: [{ role: 'user', content: prompt }]
  };

  const options = {
    method: 'post',
    contentType: 'application/json',
    headers: {
      Authorization: 'Bearer ' + apiKey
    },
    payload: JSON.stringify(payload)
  };

  const res = UrlFetchApp.fetch(url, options);
  const json = JSON.parse(res.getContentText());
  return json.choices[0].message.content;
}

④ 生成した週報・月報を保存する


function saveReport(text) {
  const sheet = SpreadsheetApp.getActiveSpreadsheet()
    .getSheetByName('報告書');
  sheet.appendRow([new Date(), text]);
}

定期実行(トリガー)の設定

Apps Scriptの「トリガー」機能を使います。

  • 週報 → 毎週金曜 18時
  • 月報 → 毎月末日

一度設定すれば、
何もしなくても自動で報告書が作られます。


実務で使うときの注意点

  • 内容は必ず一度確認する
  • 成果が分かる入力を心がける
  • 数字や固有名詞は人が補足する

AIは「下書き担当」として使うのが安全です。


まとめ:週報・月報は「書かない」時代へ

  • 日々の入力を活かして自動要約
  • トリガーで完全放置でも作成可能
  • 管理職・個人事業主の負担を大幅削減

この仕組みを入れるだけで、
報告業務に追われる時間が一気に減ります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次