いよいよシリーズ最終回!今回は、Google Apps Script(GAS)でスプレッドシートを自動で動かす仕組みを作ります。
「AIが文章を作り」「GASが毎日実行する」──つまり、人が操作しなくてもレポートが自動更新される世界です。
Contents
自動化の流れ
- スプレッドシートに業務データを入力(例:タスクや売上)
- GASがChatGPTを呼び出して文章を生成
- GASが結果をメールで自動送信
- これらを「トリガー」で毎日決まった時間に実行
これで「朝8時にAIが日報を作って送る」といったことが完全自動で実現します。
実践コード例:AI日報を自動生成+メール送信
function dailyAutoReport() {
const apiKey = 'YOUR_OPENAI_API_KEY';
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const today = Utilities.formatDate(new Date(), 'Asia/Tokyo', 'MM/dd');
const data = sheet.getRange('A2:A10').getValues().flat().filter(String);
const prompt = `以下の業務内容をもとに、300文字程度の日報を作成してください。
- 丁寧語
- 3〜4文構成
- 最後に「明日の予定」を1文添えてください。
内容: ${data.join(" / ")}`;
const response = UrlFetchApp.fetch('https://api.openai.com/v1/chat/completions', {
method: 'post',
headers: { Authorization: 'Bearer ' + apiKey },
contentType: 'application/json',
payload: JSON.stringify({
model: 'gpt-3.5-turbo',
messages: [{ role: 'user', content: prompt }],
temperature: 0.4
})
});
const json = JSON.parse(response.getContentText());
const report = json.choices[0].message.content.trim();
// シート出力
sheet.getRange('C2').setValue(report);
// メール送信
GmailApp.sendEmail('manager@example.com', `【日報】${today}`, report);
}
これで毎日、AIが自動で日報を作成し、メール送信まで完了します。
自動化する(トリガー設定)
- GASエディタを開く → 左側の「時計マーク(トリガー)」をクリック
- 「トリガーを追加」ボタンを押す
- 実行関数に
dailyAutoReportを選択 - イベントのソース:「時間主導型」
- 実行タイミング:「午前8時」などを選択して保存
これで毎朝、自動的にChatGPTが文章を作成し、メールを送るようになります。
よくあるトラブルと対策
- 初回実行時に「承認が必要」エラー:「権限を確認」→「許可」で解決。
- スクリプトが止まる:ChatGPT APIの回数上限・レスポンスサイズを確認。
- メールが届かない:迷惑メールやGmailの制限を確認。
運用のコツ
- AI出力をログに残す → 後から内容チェックできる。
- APIキーは「プロパティサービス」に保存。
- トリガー実行結果は「実行ログ」で定期確認。
まとめ:AI×GASで「仕組みが働く職場」へ
ここまでで、GASを使って「スプレッドシート → AI → メール配信」まで自動化できました。
人が動かなくても情報が整理され、報告が送られる。 これこそが業務効率化の完成形です。
今回のシリーズがお役に立てれば幸いです。
