@delongeroman

Может кто-нибудь помочь с onEdit()?

Есть таблица со строчками времени
10:00
11:30
12:00
и тд.
Как мне сделать так, чтобы при редактировании времени у меня время сортировалось? Как по кнопке это отсортировать я знаю, а вот с onEdit() плохо знаком)
Заранее спасибо за ответы
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
ProgrammerForever
@ProgrammerForever Куратор тега Google Apps Script
Учитель, автоэлектрик, программист, музыкант
1) Получаете значения
2) Фильтруете, оставляете только даты
3) Сортируете
4) Вставляете результат обратно

function onEdit(event) {
//* Боев Григорий (с) 2020 (telegram @ProgrammerForever)
  
  const ss = event.source.getActiveSheet(); // Текущий лист
  const row = event.range.getRow();         // Номер строки
  const col = event.range.getColumn();      // Номер столбца
  
  const rowsCount = ss.getMaxRows();             // Кол-во строк
  
  const inRange = ss.getRange(1,col,rowsCount,1);
  var inData = inRange.getValues(); // Получение значений
  inRange.clearContent();           // Удаление старых
  
  inData = inData.filter(row=>row[0].getTime);             // Оставить только даты
  inData.sort((a,b)=>a[0].getTime()-b[0].getTime());       // Сортировка
  
  ss.getRange(1,col,inData.length,1).setValues(inData);       //Вывод
};


Демонстрационная таблица
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы