퀴즈로 바뀐 Google 양식에서 이메일과 총점을 모두 검색하려면 Google 스크립트 (GAS)가 필요합니다.Google 양식에서 평균 점수와 이메일을 얻는 스크립트 (퀴즈)
GAS 내에서 각 질문의 점수를 얻을 수 있지만 모든 질문의 점수를 얻은 다음 최종 점수를 평균해야합니다 (각 퀴즈에는 20 개의 질문이 있습니다). 퀴즈를 마친 각자의 이메일도 필요합니다. 이 퀴즈는 기관 내에서 이루어 지므로 "이메일 주소 수집"이 선택됩니다.
내가 퀴즈를 수백 개 만들 것이며 하나의 스프레드 시트에 모든 성적을 요약해야하므로 "응답 스프레드 시트"가 아니고 필요합니다. 수백 개의 응답 스프레드 시트를 갖고 싶지 않습니다.
내가 지금까지 가지고있는 것은 각 퀴즈의 평균 점수를 얻은 다음 스프레드 시트의 이메일 옆에 넣을 수는없는 것 같습니다. 어떤 도움을 주시면 감사하겠습니다.
function getPoints() {
var form = FormApp.openById('ID');
var formResponses = form.getResponses();
var formItems = form.getItems();
for (var i = 0; i < formResponses.length; i++) {
var formResponse = formResponses[i];
var email = formResponse.getRespondentEmail();
/* I need to get all emails from those who responded,
not just one and put them in column A.*/
var s = SpreadsheetApp.openById("ID").getSheetByName("Sheet1");
var sr = s.getRange("A:A").setValues(email);
}
for (var j = 0; j < formItems.length; j++) {
var item = formItems[i];
if (item.getType() === item.getType().TEXT){
var points = item.asTextItem().getPoints();
var itemResponse = formResponse.getGradableResponseForItem(item);
var answer = itemResponse.getResponse();
var sc = itemResponse.getScore();
/* I need to get all the scores, not just one, and then average
them, and them put them in column B, beside the corresponding
email in column A. */
var s = SpreadsheetApp.openById("ID").getSheetByName("Sheet1");
var sr = s.getRange("B:B").setValues(sc);
}
}
}
확실하지 않음 . 그러나 양식을 모두 같은 스프레드 시트로 지정할 수 있습니다. https://support.google.com/docs/answer/2917686?hl=ko –