Очистите содержимое ячейки на основе другого изменения ячейки в сценарии приложения Google

#javascript #google-apps-script #google-sheets

Вопрос:

Я пытаюсь очистить ячейку в «столбце J»при изменении соответствующей ячейки в «столбце I».

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

Вот что у меня есть до сих пор:

 function onEdit() {
  var s = SpreadsheetApp.getActiveSheet();
  if( s.getName() == "con" ) {
    var r = s.getActiveCell();
    if( r.getColumn() == 9 ) { 
      var nextCell = r.offset(0, 1);
      nextCell.setValue("");
    }
  }
}
 

Комментарии:

1. Триггеры inEdit создаются только при редактировании пользователем.

Ответ №1:

Вы также можете написать такой код, если используете объект события:

 function onEdit(e) {
  const sh = e.range.getSheet();
  if(sh.getName() == "con" amp;amp; e.range.columnStart == 9) {
    e.range.offset(0,1).setValue("");
  }
}