Вставьте формулу, если ячейка очищена

#google-sheets

#google-таблицы

Вопрос:

Это довольно специфическая проблема, с которой я сталкиваюсь, но возможно ли назначить формулу ячейке, которая всегда будет назначаться ячейке, даже если я перезапишу ее вручную, а затем очищу?

Так, например, у меня была бы ячейка A2 с формулой = SUM(B2: C2), которая показывала бы 8. Если я затем перезапишу ее на 4, она, естественно, покажет 4 в A2. Теперь поведение, которое я хотел бы иметь, заключается в том, что если я очищу ячейку A2, формула = СУММА (B2: C2) снова будет автоматически введена туда, в результате чего A2 покажет 8.

Возможно ли это как-то?

Ответ №1:

Я бы предложил использовать простой триггер onEdit в скрипте Google Apps:

Триггер onEdit (e) запускается автоматически, когда пользователь изменяет значение любой ячейки в электронной таблице.

В редакторе таблиц щелкните Tools > Script editor . Попав в редактор сценариев, скопируйте следующую функцию и сохраните проект:

 function onEdit(e) {
  const range = e.range;
  const notation = "A2";
  if (range.getA1Notation() === notation amp;amp; range.getValue() === "") {
    range.setFormula("=SUM(B2:C2)");
  }
}
 

Используя объект события редактирования, эта функция проверяет, что:

  • Отредактированная ячейка A2 .
  • Отредактированная ячейка пуста.