GAS:GoogleAppsScript / GoogleAppSheet

【個人店・キッチンカー向け】そのGoogleフォーム、あとで集計できますか? AIで作る逆算型の売上管理

この記事は約7分で読めます。

GeminiでGoogleフォームを最適化する「閉店後のレジ締め、疲れてるのに数字が合わない…」「日報は手書き。見返しても、結局なにが売れているのか分からない…」
小規模な飲食店やキッチンカー、サービス業のオーナーさん。こんな悩みはありませんか。
高機能なPOSレジがなくても大丈夫です。GoogleフォームとGoogleスプレッドシートをうまく設計すると、売上の傾向が見える形でデータを貯められます。さらにGoogle Sheets上では、Geminiに質問して集計や傾向分析のヒントを得ることもできます。
ただし、ここで多くの人がつまずきます。「とりあえず自分でフォームを作り始める」ことです。

Googleフォーム最適化はGeminiを使う

今回は、キッチンカーでのGoogleフォーム最適化をイメージした例を紹介します。メニューがシンプルな「たこ焼き屋」さんの実例を想定して、将来の分析を前提にした「逆算型」の売上管理フォームの作り方を紹介します。

キッチンカーで日報入力

なぜ自作フォームだと失敗しやすいのか

フォーム自体は簡単に作れます。問題は「入力のブレ」です。

たとえば「たこ焼きの売上」を記述式(自由入力)にすると、こうなりがちです。

  • スタッフA:タコヤキ 4個

  • スタッフB:たこ焼き(4つ)

  • スタッフC:ソースマヨ 4

本人たちは同じ商品を言っているつもりでも、データは別物になります。
この状態だと、あとで集計したり、AIに分析させたりするのが難しくなります。

専門用語で言うと「データを整える(正規化)」ができていない状態です。
難しく聞こえますが、意味はシンプルで「同じ商品は、同じ選択肢で揃える」ということです。

正解は、最初にAIへ「ゴール」を渡して逆算する

おすすめは、フォームの項目を思いつきで作らず、最初に「知りたいこと」から逆算する方法です。ここではこれを「逆算型」と呼びます。

まず分析のゴールを決めて伝える

例:オーナーからAIへの依頼文

たこ焼き屋です。Googleフォームで売上を記録します。
後から日別・商品別・個数別に集計して、傾向も見たいです。
商品は4種類(例:たこ焼き、ネギマヨなど)、個数は4/6/8個があります。
入力のブレが出ないように、フォーム項目と入力ルールを提案してください。

ポイントは「知りたい集計単位」を先に言うことです。ここが曖昧だと、フォームも曖昧になります。

現場の入力しやすさを合わせる

設計は、分析しやすさだけでは失敗します。現場が入力しにくいと、結局データが欠けたり、雑になったりします。

たとえばAIが「味ごとにページを分けましょう」と提案しても、現場が忙しければ、

  • 画面切り替えが増えるのは面倒

  • スクロール一発で終わる方がいい

となることがあります。

この「現場の動線」と「データの整い」をすり合わせるのが、逆算型の肝です。

さらに移行期の工夫として、入力項目を減らし、手書きの集計表をスマホで撮ってフォームで画像添付できるようにする案も有効です。

デジタル入力に慣れない時期でも、あとで画像を見て確認できるので安心感があります。

GASでフォーム作成を自動化する

仕様が固まったら、Google Apps Script(GAS)でフォームを自動作成できます。Apps Scriptにはフォームを作るための仕組み(FormApp)が用意されています。

AIにはこう頼むとスムーズです。

「この仕様でGoogleフォームを作るGASを書いてください。
選択式を中心にして、商品名と個数がブレないようにしてください。回答はスプレッドシートに保存してください。」

AIは、ゼロから手で作るより速く「たたき台のコード」を作ってくれます。
あとは自分の店に合わせて、項目や文言を微調整すればOKです。

GASの画面

GASの画面を開きます。Geminiから出力したコード.gsを使いGoogleフォームを作成します。Geminiの画面からコードをコピペして、GASのコード.gsの画面に貼り付けて保存し実行をクリックします。

GASでGoogleフォームを作成する

実行完了と表示されたら、フォームの編集画面ができています。表示されているURLをコピーしておき、そのURLを開きましょう。

Googleフォームの画面

フォームの内容を最終的にどうするか決めて公開します。

Googleフォームの画面

▼実際のサンプルフォームのリンクを公開しました

Update your browser to use Google Drive and other apps - Google Drive Help
A web browser is what you use to go to websites and use online apps like Google Drive. This article will show you how to update your browser and fix problems so you can keep using Google Drive and oth

このフォームでは、メニューのデータ入力を省略しています。とにかく金額だけを確実に入れてもらうことを最優先しました。ただし、紙の日報で受注を記録しているのでその写真を添付して送ってもらうことにして初期運用を確実にしようとしています。

データが整うと、質問が効くようになる

データがきれいに貯まると、集計が一気に楽になります。
また、Google Sheets上でGeminiに質問して、傾向やまとめのヒントを得ることもできます。

例:

  • 雨の日に落ちやすい商品はどれ?

  • 平日と週末で売れ筋は変わる?

  • 仕込み量の目安を出すために、まず何を集計すべき?

注意点として、Geminiの機能は契約プランや管理者設定で利用可否が変わることがあります。使えない場合でも、データが整っていれば通常のピボット集計などで十分に効果が出ます。

サンプルのコード.gs

function createSmartSalesForm() {
// ■■■ 設定エリア(ここをお店のメニューに合わせて書き換えてください) ■■■
var formTitle = ‘【分析用】売上日報フォーム’;
var staffList = [‘店長’, ‘Aさん’, ‘Bさん’, ‘オーナー’]; // スタッフ名
var menuItems = [‘たこ焼き’, ‘ネギマヨ’, ‘ネギたこ’, ‘岩塩’]; // 商品名
var sizeList = [‘4個入’, ‘6個入’, ‘8個入’]; // サイズ展開
// ■■■

// 1. フォームの土台を作成
var form = FormApp.create(formTitle);
form.setCollectEmail(false); // ログイン必須にしない(現場の使いやすさ優先)

// 2. 担当者の選択(分析で重要:表記揺れを防ぐ!)
form.addListItem()
.setTitle(‘担当者名’)
.setChoiceValues(staffList)
.setRequired(true);

// 3. 日付と売上金額(分析で重要:半角数字以外入力させない!)
form.addDateItem().setTitle(‘売上日付’).setRequired(true);

// 数値入力チェックのルールを作る
var numberCheck = FormApp.createTextValidation().requireNumber().build();

form.addTextItem().setTitle(‘現金 売上’).setValidation(numberCheck).setRequired(true);
form.addTextItem().setTitle(‘カード 売上’).setValidation(numberCheck);
form.addTextItem().setTitle(‘PayPay 売上’).setValidation(numberCheck);

// 4. 商品ごとの入力欄作成(スクロールで見やすいセクション区切り)
menuItems.forEach(function(menu) {
// 見出しをつけて視認性をアップ
form.addSectionHeaderItem().setTitle(‘【 ‘ + menu + ‘ 】—————–‘);

sizeList.forEach(function(size) {
// 「たこ焼きの4個入」のように、商品とサイズを結合した質問名にする
// これによりスプレッドシートの列名が分かりやすくなり、AI分析の精度が上がる
form.addTextItem()
.setTitle(menu + ‘の’ + size)
.setValidation(numberCheck);
});
});

// 5. その他
form.addSectionHeaderItem().setTitle(‘その他 —————–‘);
form.addParagraphTextItem().setTitle(‘備考・申し送り事項’);

// 6. データの保存先(スプレッドシート)も自動作成して紐付け
var ss = SpreadsheetApp.create(formTitle + ‘_回答集計’);
form.setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId());

// 完了メッセージ
console.log(‘作成完了!以下のURLをクリックしてフォームを確認してください。’);
console.log(‘※最後に「画像アップロード」ボタンだけ手動で追加してくださいね!’);
console.log(‘フォーム編集URL: ‘ + form.getEditUrl());
}

Googleフォームづくり、まとめ

GeminiでGoogleフォームを最適化する

フォーム作りは、実は「AIへの発注書づくり」です。

  • フォームは思いつきで作らない(入力がブレるから)

  • まず分析のゴールを決めてAIに渡す

  • 現場の入力動線も一緒に設計する

  • 可能ならGASで作成を自動化する

この流れを作るだけで、手書き日報は「あとで使えるデータ」になります。

まずはGeminiやChatGPTに、こう話しかけるところから始めてみてください。

「うちの店で、あとで集計しやすい売上フォームを作りたい。項目を一緒に設計して」

経営者なら、分析したいデータから逆算してフォームを作成するという意識を持ちましょう。