Изменение даты и времени при изменении в google sheets
Код который нашел в интернете:
function onEdit(e){
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getActiveRange();
var row = range.getRow(); // Адрес строки активной ячейки
var col = range.getColumn();
var name = sheet.getName();
if (name == "Лист1" && col == 8){ // Если изменения на листе "Лист1" и в колонке H
if (sheet.getRange(row , 10).getValues()==''){ //Если дата в колонке 10 не заполнена
sheet.getRange(row, 10).setValues([[new Date()]]); //Заполняем текущую дату
}
}
};
Как в гугл таблицах при изменении колонки H обновлять дату и время в колонке J, а при удалении данных из H удалять их из J?
Ответы (2 шт):
Автор решения: Алексей Шебаниц
→ Ссылка
function onEdit(e) {
let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let row = e.range.getRow();
let column = e.range.getColumn();
let value = e.source.getActiveSheet().getRange(row, 8).getValue();
let date = Utilities.formatDate(new Date(), "GMT+3", "dd.mm.yyyy H:mm:ss");
if (column == 8 && value != "") {
sheet.getRange(row, 10).setValue(date);
}
if (column == 8 && value == "") {
sheet.getRange(row, 10).clearContent();
}
}
Автор решения: REvil
→ Ссылка
Лучше получать лист так:
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Название листа")