Эта функция добавляет дату в столбец B, когда столбец C редактируется вручную на листе с именем «Sheet1».Обратите внимание, что триггер onEdit не будет работать, если ячейка программно редактируется:
function onEdit(e) {
if(e.source.getActiveSheet().getName() == "Sheet1") {
if(e.range.columnStart == 3 && e.range.rowStart > 1) {
var d = Utilities.formatDate(new Date(), "GMT+1", "dd.MM.yyyy");
e.range.offset(0, -(e.range.columnStart - 2)).setValue(d);
}
}
}
Что касается разрешений - в вашем случае они исключают друг друга, вы не можете запретить доступ ко всему листу и разрешитьв несколько столбцов / строк одновременно.
Вместо этого вы должны иметь редактируемый лист и ограничивать только те строки / столбцы, которые вы хотите защитить + предоставлять права на редактирование строк / столбцов, которые вы хотите редактировать, - и они не должны мешать работе.