GAS学習note:Day10 AIが提案する入力予測〜ChatGPTが“次の一手”を教えてくれる〜
はじめに
Day9では、onEditトリガーを使って入力された瞬間に自動補完する仕組みを作りました。
Day10ではその一歩先へ進みます。
✅「入力する前にAIが提案してくれる」
つまり、“考える入力”から“選ぶ入力”へ。
ChatGPTとGASを組み合わせれば、
あなたのスプレッドシートが“予測型アシスタント”になります。
1️⃣ 入力予測とは?
入力予測とは、過去データやルールをもとに、次に入力される値を推測する仕組みです。
たとえば、

このようなデータがあるとき、
AIが「このパターンなら次は“キャップ”が入力される可能性が高い」と提案します。
2️⃣ ChatGPTに予測させるプロンプト
ChatGPT APIを使えば、過去データを分析して次の入力を提案できます。
function suggestNextProduct() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("売上");
const last = sheet.getLastRow();
// 過去3件の履歴を取得
const data = sheet.getRange(last - 3, 2, 3, 1).getValues().flat();
const prompt = `
過去の販売履歴は次の通りです:
${data.join("、")}
次に販売される可能性が高い商品を1つだけ日本語で提案してください。
`;
const url = "https://api.openai.com/v1/chat/completions";
const token = "YOUR_OPENAI_API_KEY";
const payload = {
model: "gpt-3.5-turbo",
messages: [{ role: "user", content: prompt }],
};
const options = {
method: "post",
headers: { "Authorization": "Bearer " + token },
contentType: "application/json",
payload: JSON.stringify(payload),
};
const response = UrlFetchApp.fetch(url, options);
const result = JSON.parse(response.getContentText());
const suggestion = result.choices[0].message.content.trim();
sheet.getRange(last + 1, 2).setValue(suggestion); // 次の行に提案を表示
}
💡 ポイント
ChatGPTは履歴を自然言語で理解できる
“次に来る要素”の予測が得意(人間の感覚に近い)
出力をそのままシートに書き込めば「AIの予測結果」が表示される
3️⃣ onEditで自動トリガーにする
Day9で使った onEdit(e) と組み合わせれば、
ユーザーが新しい行を追加した瞬間に、AIが次の提案を出してくれます👇
function onEdit(e) {
const sheet = e.range.getSheet();
if (sheet.getName() !== "売上") return;
const row = e.range.getRow();
const col = e.range.getColumn();
// 新しい売上行を追加したら提案を生成
if (col === 2 && row > 2) {
suggestNextProduct();
}
}
📘 結果イメージ
ユーザーが「10/3」と入力した瞬間、次のセルに
💡 ChatGPTの提案:「キャップ」
が自動で表示される。
4️⃣ ChatGPTとの“改善対話”
このような自動化を作るとき、
ChatGPTに「予測精度を上げるプロンプト」を一緒に考えてもらうのがポイントです。
💬 実際のやり取り例
📘 あなた
ChatGPT、次に売れる商品をもう少し正確に当てたいです。
条件に「最近人気のアイテム」も考慮させられますか?
🤖 ChatGPT
できます!
プロンプトに「最近のトレンドも参考にして」と加えると精度が上がります👇
const prompt = `
過去の販売履歴は次の通りです:
${data.join("、")}
最近のファッション人気傾向も考慮して、次に売れそうな商品を1つ提案してください。
`;
📘 あなた
なるほど!AIに“外部知識”を意識させるわけですね✨
5️⃣ GASとChatGPTの組み合わせでできること

💡 AIが考え、人間が選ぶ。
これが「予測型アシストツール」の基本形です。
6️⃣ ChatGPTを使った“提案文”カスタマイズ
AIの提案をメールやSlack通知に流せば、
「明日の販売提案」や「次に発注すべき商品」が自動で届くようになります👇
function notifySuggestion() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("売上");
const suggestion = sheet.getRange(sheet.getLastRow(), 2).getValue();
const message = `🧠 次に売れそうな商品は「${suggestion}」です。`;
MailApp.sendEmail("you@example.com", "【AI予測】次の販売提案", message);
}
👉 これにトリガーを組み合わせると、
「AIが考えた明日の提案が毎朝届く」ようになります。
まとめ:Day10で身についた力
Day10では、GASとChatGPTを組み合わせて
「AIが次の入力を予測する」仕組みを作りました。
✅ ChatGPT APIで過去データを文脈理解
✅ onEdit()で入力トリガーを連動
✅ AI提案をスプレッドシートに自動出力
✅ トリガー+通知で「明日の提案」を自動配信
💡 Day10のゴール:
“AIが考え、人間が選ぶ”スプレッドシートを実現!
次回予告(Day11)
Day11では、「ChatGPTとGASの会話をUI化」します。
シート上に“AIボタン”を作り、クリックでAIと対話できる仕組みを構築します。
コードを書かなくても、ChatGPTが答えてくれるUI付きGASの世界へ✨
