Скрипт отметки даты не работает с формулой массива - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь использовать простой скрипт отметки даты в Google Таблицах, который будет вводить сегодняшнюю дату при редактировании другого столбца, но после этого не изменится. У меня также есть формула массива, установленная в столбце, в котором скрипт ищет изменения, и, похоже, формула массива мешает скрипту работать должным образом. Вот формула:

={"Triggered";arrayformula(IFS(E2:E="","",C2:C>=E2:E,"✅",TRUE,""))}

А вот сценарий:

 function onEdit(e) {
  var sh = e.source.getActiveSheet();
  if(sh.getName() !== "Watchlist" || e.range.columnStart !== 8) return;// 1 is A, 2 is B, 3 is C, etc
  var o = e.range.offset(0, 1)
  if(!o.getValue()) o.setValue(new Date())
}

Любая помощь в том, что я делаю неправильно, приветствуется. Спасибо.

1 Ответ

0 голосов
/ 05 августа 2020

К сожалению, согласно официальной документации :

Устанавливаемый триггер редактирования запускается, когда пользователь изменяет значение в электронной таблице.

Даже когда выходные данные формулы массива обновляются, ячейка по-прежнему содержит ту же формулу. Следовательно, триггер onEdit не сработает, поскольку пользователь не выполнял никаких действий редактирования.

Прочтите также обсуждение здесь .

...