Ошибка синтаксиса формулы автозаполнения скрипта приложений Google Sheets

Я пытаюсь создать сценарий, который будет автоматически заполнять столбец G имеющейся у меня формулой.

Вот мой код:

function autofill() {
  // Activate sheet
  var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  // Insert formula in first row
  ss.getRange("G2").setFormula("=IF(REGEXMATCH(E2,"No"),0,IF(REGEXMATCH(F2,"No"),1,2))");

  // Get number of last row
  var lastrow = ss.getLastRow();

  // Fill formula to last row
  // getRange(row number, col number, number of rows, number of cols)
  var fillDownRange = ss.getRange(2, 7, lastrow-1);
  ss.getRange("G2").copyTo(fillDownRange);
}

Я все время получаю сообщение об ошибке:
SyntaxError: missing) после списка аргументов (строка 6, файл "Code.gs")

кстати, строка 6:

ss.getRange("G2").setFormula("=IF(REGEXMATCH(E2,"No"),0,IF(REGEXMATCH(F2,"No"),1,2))");

Какие-либо предложения? Заранее спасибо!!


comment
Отвечает ли это на ваш вопрос? .setFormula () и полученная ошибка отсутствует) список аргументов   -  person TheMaster    schedule 21.02.2020
comment
Используйте одинарные кавычки в качестве разделителя или избегайте всех двойных кавычек между внешними двойными кавычками. Если все сделано правильно, все внутри setValue () должно быть одного цвета (здесь коричневый).   -  person TheMaster    schedule 21.02.2020


Ответы (1)


Попробуйте так:

function autofill() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  sh.getRange("G2").setFormula('=IF(REGEXMATCH(E2,"No"),0,IF(REGEXMATCH(F2,"No"),1,2))');
  var fillDownRange=sh.getRange(2,7,sh.getLastRow()-1);
  sh.getRange("G2").copyTo(fillDownRange);
}
person Cooper    schedule 21.02.2020