Автоматическая замена даты в одной ячейке после изменения информации в другой ячейке

Вероятно, я хочу решить безумную задачу, но всё же.

Я веду таблицу в гуглодоках, где есть несколько столбцов: А, B и C, соответственно.

  • А – это название строки
  • B – описание
  • C – дата изменения

> Апельсин | Желтый | 06.03

=ЕСЛИ(B2<>"";ТДАТА();) или =IF(B2<>"";NOW();) это нечто похожее на то, что мне нужно, но всё же тдата обновляется при каждом обновлении таблицы, что не решает мою задачу.

Реально ли реализовать, чтобы при изменение описания (столбец «B») в любой из строк, столбец «C» в той же строке автоматически менялся бы на дату, когда это изменение произошло?


Ответы (1 шт):

Автор решения: Владимир Назаренко

Скрипт вставки даты "навсегда" без изменений (улучшенный код)

    function onEdit(e){ 
    var range = e.range 
    var ss = e.source
    var sheet = ss.getActiveSheet();
    var row = range.getRow(); 
    var col = range.getColumn();

    if (col == 18 && sheet.getRange(row, 21).getValues()==''){ 
    //Если изменения в 18 колонке И если дата в колонке 21 не заполнена

    sheet.getRange(row, 21).setValue(new Date()); //Заполняем текущую дату

    }
   }
→ Ссылка