はじめに
Googleフォームで問い合わせや日報を集めていると、
「シートがどんどん長くなって見づらい…」
「日ごとに整理できたら管理が楽なのに」と感じたことはありませんか?
実はGAS(Google Apps Script)を使えば、フォームの回答が送信されるたびに、
その日のシートを自動作成して、そこへ追記する ことができます。
たとえば、2025年10月14日に送信された回答は「2025-10-14」という名前のシートに自動追加。
翌日になれば「2025-10-15」シートが自動で作られる…そんな便利な仕組みです。
この記事では、フォームとスプレッドシートを連携したうえで、
日付ごとに新しいシートを自動で作成して追記するGASスクリプト を紹介します。
やりたいこと
-
Googleフォームをスプレッドシートに紐づける
-
フォーム回答を日ごとに自動でシート分けして保存する
-
既存シートがある場合は追記、なければ自動作成
準備するもの
ライブラリ
特別なライブラリは不要です。
GASの標準機能である SpreadsheetApp
のみでOKです!
Googleフォームとスプレッドシートを紐づける手順
-
Googleフォームを開く
フォーム編集画面の上部にある「回答」タブをクリックします。 -
スプレッドシートをリンクする
緑色の「スプレッドシート」アイコンをクリックします。
▼表示される選択肢
- 新しいスプレッドシートを作成
- 既存のスプレッドシートを選択
どちらでもOKですが、今回は「新しいスプレッドシートを作成」を選びましょう。
-
自動的にスプレッドシートが生成される
これで、フォームに回答が送信されるたびに、スプレッドシートの「フォームの回答1」というシートに自動で追記されます。
コードスクリプト
フォーム送信時に自動で実行され、
回答を「今日の日付のシート」に書き込むスクリプトです。
シートがなければその場で作成します。
function onFormSubmit(e) { // 回答データを取得 const responses = e.values; // 今日の日付(例:2025-10-14) const today = Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy-MM-dd'); // 現在のスプレッドシートを取得 const ss = SpreadsheetApp.getActiveSpreadsheet(); // 日付シートを取得(なければ新規作成) let sheet = ss.getSheetByName(today); if (!sheet) { sheet = ss.insertSheet(today); // フォーム回答のヘッダーをコピー(最初のシートから) const headerSheet = ss.getSheets()[0]; const header = headerSheet.getRange(1, 1, 1, headerSheet.getLastColumn()).getValues(); sheet.getRange(1, 1, 1, header[0].length).setValues(header); } // 回答を追加 sheet.appendRow(responses); }
実行結果
フォームが送信されるたびに…
-
その日のシート(例:
2025-10-14
)が自動で作られる -
回答内容が1行ずつ追記される
-
翌日になると、新しい日付シートが自動生成される
つまり「日ごとに整理された日報一覧」ができあがります。
コード解説
-
onFormSubmit(e)
フォーム送信時に自動で呼ばれる関数。 -
e.values
フォームの回答が配列で入っている。 -
Utilities.formatDate()
日付を"yyyy-MM-dd"
形式に整える。 -
insertSheet()
指定名のシートが存在しない場合、新しく作成。 -
appendRow()
新しい行を末尾に追加する。
注意点
-
トリガー設定が必要です。
スクリプトを保存したあと、「トリガー」→「onFormSubmit」を追加しましょう。 -
フォームのヘッダー名が変わるとコピーできない場合があります。
フォーム側の質問文を変更する際は、ヘッダー確認も忘れずに。 -
日付形式を「yyyy-MM-dd」に固定すると並びが崩れません。
スラッシュ区切り(2025/10/14)だと並び順がずれることがあります。
まとめ
フォームで集まった回答を「日別シート」に分けるだけで、
・日報管理がしやすくなる
・その日の内容をすぐ振り返れる
・スプレッドシートが散らからない
というメリットがあります。
GASを少し足すだけで、
「データをためる」から「整理された形で残す」へ。
毎日の作業を少しラクにする第一歩として、ぜひ試してみてください。
コメント