const input = document.getElementById("search");
let searchdDebounceTimerHandler;
input.addEventListener("input", (e) => {
clearTimeout(searchdDebounceTimerHandler); // Если ввод быстрый, удаляем выполнение функции каждый раз
searchdDebounceTimerHandler = setTimeout(() => {
fetchSuggestions(e.target.value);
}, 1000); // Сработает через секунду от последнего нажатия
});
/**
* Возникает при изменении ячейки
* @param {e} event event-объект https://developers.google.com/apps-script/guides/triggers/events?hl=ru
* [ ProgrammerForever (c) 2020 ]
* @return Не возвращает значений
*/
function onEdit(event) {
var sheet = event.source.getActiveSheet();//Текущий лист
var address = event.range.getA1Notation().toUpperCase();//Адрес ячейки
var row = event.range.getRow(); //Номер строки
var col = event.range.getColumn(); //Номер столбца
var newValue = event.value; //Новое значение
var oldValue = event.oldValue; //Старое значение
var userEmail = event.user.getEmail();//Пользователь(работает только при вручную назначенном триггере)
if((col===1)&&(row===1)&&(sheet.getName==="Sheet1")){
// Что-то делаем
};
};
=arrayformula(let(
author; "@ProgrammerForever";
header; "Продолжительность";
ВремяБуквами; $A$2:$A;
dd; ЕСЛИОШИБКА(REGEXEXTRACT(ВремяБуквами;"(\d+)\s+(?:дней|день|дня)");0);
hh; ЕСЛИОШИБКА(REGEXEXTRACT(ВремяБуквами;"(\d+)\s+час");0);
mm; ЕСЛИОШИБКА(REGEXEXTRACT(ВремяБуквами;"(\d+)\s+мин");0);
ss; ЕСЛИОШИБКА(REGEXEXTRACT(ВремяБуквами;"(\d+)\s+сек");0);
time; dd + hh/24 + mm/(24*60) + ss/(24*60*60);
vstack( header; ЕСЛИ(ВремяБуквами="";;time))
))
=IMPORTRANGE(ВПР(город;{ВсеГорода\ВсеID};2;0);"Данные!A1")