function onEdit(event) {
//Перенос в архив
//Возникает при изменении ячейки
let sheet = event.source.getActiveSheet();//Текущий лист
let address = event.range.getA1Notation().toUpperCase();//Адрес ячейки
let row = event.range.getRow(); //Номер строки
let col = event.range.getColumn(); //Номер столбца
let newValue = event.value; //Новое значение
let oldValue = event.oldValue; //Старое значение
if (["Лист1","Лист2"].indexOf(sheet.getName())==-1) return; //Указываем на каких листах должен работать скрипт
if ([1].indexOf(col)==-1) return; //Указываем в каких столбцах должен работать скрипт
//Можно при желании ещё фильтровать по строке/столбцу (row/col), или по старому/новому значению (oldValue/newValue)
sheet.getRange(row, col+1).setValue(new Date());
let array1 = ["Андрей", "Алексей", "Сергей", "Антон", "Матвей", "Роман", "Руслан"];
let array2 = [27, 22, 38, 45, 51, 42, 19];
let totalData = array1.map((_,i)=>[array1[i], array2[i]]);
let obj = Object.fromEntries(totalData);
https://docs.google.com/spreadsheets/d/{key}/gviz/tq?tqx=out:csv&sheet={sheet_name}
function sortSheets() {
const rangesInfo = [
{sheet: "2022", range: "A2:M", column:3, ascending: true},
{sheet: "Выполнено_2022", range: "A2:M", column:3, ascending: true},
];
let ss = SpreadsheetApp.getActiveSpreadsheet();
rangesInfo.forEach(rangeInfo=>{
try{
let range = ss.getSheetByName(rangeInfo.sheet).getRange(rangeInfo.range);
range.sort({column: rangeInfo.column, ascending: rangeInfo.ascending});
}catch(err){
Logger.log(`error: ${err}`);
};
});
}