[GAS]チェックボックス グリッドから回答を取得する(google form)

  • 2021.01.18
  • GAS
[GAS]チェックボックス グリッドから回答を取得する(google form)

google formにチェックボックスグリッドを設定し、GASで回答を処理しようとしたときに少し戸惑ったので共有します。

チェックボックスグリッドとは

下記のような回答形式になります。

1月1日の0時を選択する場合は、一番左上にチェックして回答します。

GASで回答取得

下記の方法で取得できます。

function submitform(e) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("シート2");

  sheet.getRange(1,1).setValue("1月1日");
  sheet.getRange(1,2).setValue(e.namedValues["グリッドテスト [1月1日]"]);
  sheet.getRange(2,1).setValue("1月2日");
  sheet.getRange(2,2).setValue(e.namedValues["グリッドテスト [1月2日]"]);
  sheet.getRange(3,1).setValue("1月3日");
  sheet.getRange(3,2).setValue(e.namedValues["グリッドテスト [1月3日]"]);
  
}

グーグルフォームは、e.namedValues[“質問のタイトル”]でデータが取得が、チェックボックスグリッドの場合は、e.namedValues[“質問のタイトル [行の項目名”]] で取得します。

今回の例で、いうと1月1日の何時にチェックがついているかを取得する場合は、e.namedValues[“グリッドテスト [1月1日]”] とします。

複数チェックしていた場合は、カンマ区切りで列名が記載されています。

例えば、フォームで下記のような回答をしたとします。

上記で記載のコードのアウトプットは下記になります。

あとは、取得結果をカンマで区切ってチェックしていくことで、どの項目にチェックが入ってるかを取得できるかと思います。

試してみてください。




GASカテゴリの最新記事