Создайте форму Google, которая отвечает go в указанный столбец c в существующей электронной таблице. - PullRequest
0 голосов
/ 28 января 2020

У меня есть существующий Google Sheet, для которого я хотел бы создать форму, чтобы пользователи могли легче вводить данные.

В форме будет три вопроса, и я бы хотел, чтобы они go ответили на соответствующие вопросы. столбцы в существующей электронной таблице.

Вопрос 1 будет go в столбце 1, вопрос 2 будет go в столбце 3 в той же строке, а вопрос 3 будет go в столбце 5 в той же строке.

Кто-нибудь знает, как я могу сделать это или скрипт для этого, пожалуйста?

1 Ответ

2 голосов
/ 28 января 2020

Самый простой способ связать форму с существующей электронной таблицей

  • Создайте новую форму, перейдя в https://docs.google.com/forms/u/0/?tgif=d
  • Нажмите "+"
  • Заполните вопросы формы по своему усмотрению
  • Нажмите «Ответы»
  • Нажмите на три вертикальные точки и «Выберите место назначения ответа»

При каждой отправке формы ответы автоматически go попадают в вашу электронную таблицу - скорее всего, на новый лист, созданный автоматически.

Чтобы переместить ответы формы с нового листа на уже существующий лист в указанные столбцы

  • Свяжите со своей целевой таблицей сценарий с устанавливаемым onFormSubmit триггером
  • onFormSubmit для получения самого нового ответа с объектом события namedValues
  • присваивать значения индивидуально последней строке нужных столбцов на интересующем вас листе

Образец:

function myFunction(e) {
  var mySheet = SpreadsheetApp.getActive().getSheetByName("PASTE HERE THE SHEET NAME");
  var freeRow = (mySheet.getLastRow()+1);
  var column1 = 1;
  var column3 = 3;
  var column5 = 5;
// replace the following question titles by your real question titles
  mySheet.getRange(freeRow, column1).setValue(e.namedValues["What is your name?"]);
  mySheet.getRange(freeRow, column3).setValue(e.namedValues["How old are you?"]);
  mySheet.getRange(freeRow, column5).setValue(e.namedValues["Do you like Apps Script?"]);
}

...