Google Sheets: как скопировать формулу в строки, добавленные через ответы Google Form - PullRequest
0 голосов
/ 23 мая 2019

Я работаю с данными результатов Google Form, которые перетаскиваются на вкладку Google Sheet, и я добавил столбец, чтобы вычислить процент оценок, которые затем перетаскиваются на вкладку отслеживания на том же листе, где рассчитывается их процент. завершено. Прямо сейчас столбец процентов отображается как пустое поле независимо от формулы, которую я пробовал. Мне интересно, будет ли работать другая формула, которая будет автоматически применяться к столбцу при добавлении новых ответов? Или Google Script будет лучшим вариантом?

Я хочу сохранить исходные данные результатов на одном листе, поскольку он объединяет все тесты в один лист Google с одной вкладкой, в которой отображается процентное соотношение, чтобы отобразить показатель завершения.

Я пробовал ARRAYFORMULA, и формула, которая работает, если вы копируете ее вручную для каждой записи: "= left (C2, find (" / ", C2) -1) / (right (C2, len (C2) -find) ( "/", С2))) "

Ответы [ 2 ]

0 голосов
/ 24 мая 2019

Эта функция добавит формулу в последний столбец, когда на лист будет добавлена ​​новая форма ответа:

function setFormula() {
  var ss=SpreadsheetApp.openById('SHEET_ID');
  var sheet=ss.getSheetByName('SHEET_NAME');
  var lastRow = sheet.getLastRow();
  var formulaRange1 = sheet.getRange(lastRow, sheet.getLastColumn());
  formulaRange1.setValue('=IF($A'+lastRow+'="";"";TODAY()-$Q'+lastRow+')');
}

Ваша формула должна быть соответствующим образом скорректирована.Просто убедитесь, что lastRow находится внутри строки вместо номера строки и добавьте триггер onFormResponse.Я добавил этот скрипт в форму, а не в электронную таблицу.

0 голосов
/ 23 мая 2019

Попробуйте

=Arrayformula(if(len(C2:C), left(C2:C,find("/",C2:C)-1)/(right(C2:C,len(C2:C)-find("/",C2:C))),))

и посмотрите, работает ли это?

...