グーグルドライブのフォームについて

アンケートを回答すると回答スプレッドシートへの自動的に書き込まれます。

最終行に書き込まれていきますが、これを 上から新しい順で自動的に書き込まれていくようにしたいのです。

スクリプトを書けば、そのようなことが実現しますか?また、そのやり方について教えて下さい。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2016/06/13 12:35:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:CETTIA No.1

回答回数7ベストアンサー獲得回数1

ポイント100pt

フォームの回答結果がいちばん下に追記されていくのを、その都度スクリプトで自動ソートして新しい順に表示するやり方です。
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

f:id:CETTIA:20160607132208p:image

入力したらすぐ上の実行ボタンを押し、エラーが起きなければ実行ボタンのすぐ左にあるトリガー設定のボタン(時計のアイコン)から、起動時とフォーム送信時をトリガーとして指定しておきます。
f:id:CETTIA:20160607132207p:image

途中スクリプトを許可するとか何とかダイアログがいくつか出てくることと思いますが、すべて許可する方向で。うまく処理されていれば、スプレッドシートで最新の送信結果がいちばん上にきているはずです。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません