アンケートを回答すると回答スプレッドシートへの自動的に書き込まれます。
最終行に書き込まれていきますが、これを 上から新しい順で自動的に書き込まれていくようにしたいのです。
スクリプトを書けば、そのようなことが実現しますか?また、そのやり方について教えて下さい。
フォームの回答結果がいちばん下に追記されていくのを、その都度スクリプトで自動ソートして新しい順に表示するやり方です。
Google フォームの回答結果では最初のカラムがタイムスタンプになっていますので、これをキーにしてスプレッドシートのソートを行います。
集計結果のスプレッドシートで、ツール → スクリプトエディタ... を選択し、コード.gsの部分に下のスクリプトを入力します。関数名は仮にsorttestとしてありますがそこはお好きなように。
function sorttest(){ var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; // Sorts the sheet by the first column, descending sheet.sort(1, false); }
https://developers.google.com/apps-script/reference/spreadsheet/sheet#sortcolumnposition
入力したらすぐ上の実行ボタンを押し、エラーが起きなければ実行ボタンのすぐ左にあるトリガー設定のボタン(時計のアイコン)から、起動時とフォーム送信時をトリガーとして指定しておきます。
途中スクリプトを許可するとか何とかダイアログがいくつか出てくることと思いますが、すべて許可する方向で。うまく処理されていれば、スプレッドシートで最新の送信結果がいちばん上にきているはずです。
コメント(0件)