2017-05-04 6 views
0

Google 양식을 사용하여 응답을 수집하고 사람들의 점수를 매기는 데 사용합니다. 불행히도 이러한 응답 중 일부는 비 숫자 형식으로 만 의미가 있습니다. 예를 들면 다음과 같습니다.특정 문자열을 Google 시트의 숫자에 연결합니다.

Q : 가장 일반적인 교통 수단은 무엇입니까?

  • 자동차
  • 카풀
  • 대중 교통
  • 자전거
  • 워크
  • 내가 같이 자동으로 구글 시트를 숫자로 그 문자열 응답을 변환 할 수 있도록하려는

차는 20 대, 카풀 15 대가 될 것입니다. 그래서 나는 그들을 "등급 화"하여 점수를 줄 수 있습니다. Google 양식을 통해이 작업을 수행 할 수 있습니까? 아니면 일종의 사전 기능일까요?

감사합니다.

답변

2

또 다른 방법 같은 것을 갈 수있는, 더 코딩이 필요없는, 옵션의 인코딩 워크 시트를 만들 수 다음 번역 VLOOKUP을 사용 그들.

+0

안녕하세요, 답장을 보내 주셔서 감사합니다! 이것을위한 예제 코드가 있습니까? – Macterror

+0

예제 스프레드 시트가 없어도 예제 코드를 제공하기는 어렵지만 일반적으로 다음과 같은 옵션을 사용할 수 있습니다 (사전에 다른 시트를 만들고, A 열에 옵션 (자동차, 카풀, 대중 교통, 자전거, 도보) 및 그 값 (15, 20 등)을 사용합니다. 그런 다음 = VLOOKUP (

+0

고마워! 이것은 효과가있다. – Macterror

1

예, Google 설문지를 통해 처리 할 수 ​​있습니다. 자신의 코드를 사용하여 https://developers.google.com/apps-script/reference/forms/duration-item#setPoints(Integer)

에서보세요, 당신은

var formResponses = FormApp.getActiveForm().getResponses(); 
// Go through each form response 
for (var i = 0; i < formResponses.length; i++) { 
    var response = formResponses[i]; 
    var items = FormApp.getActiveForm().getItems(); 
    // Assume it's the first item 
    var item = items[0]; 
    var itemResponse = response.getGradableResponseForItem(item); 
    if (itemResponse != null && itemResponse.getResponse() == 'Car') { 
    var points = item.asMultipleChoiceItem().getPoints(); 
    itemResponse.setScore(points * 20); 
    // This saves the grade, but does not submit to Forms yet. 
    response.withItemGrade(itemResponse); 
    } 
} 
// Grades are actually submitted to Forms here. 
FormApp.getActiveForm().submitGrades(formResponses); 
+0

안녕하세요. 빠른 답변을 보내 주셔서 감사합니다. 아픈 이번 주말 후에 이것을 시도해야하지만 이것은 무엇을 찾고있는 것 같다 – Macterror