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

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

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

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

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2016/06/06 12:30:29
  • 終了:2016/06/13 12:35:03

回答(1件)

id:CETTIA No.1

CETTIA回答回数7ベストアンサー獲得回数12016/06/07 13:32:29

ポイント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

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

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません