Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*обновляем таблицу по ключу скриптом onEdit(e)
- привет, ребята! недавно в наш чат пришла Кира с вопросом: есть таблица, имена и номера договоров, каждому имени соответствует один номер договора, как автоматически менять номер по выбранному имени?
- задача для простого скрипта, чтобы было интересно – покажем, как её решить с помощью триггера onEdit (того самого, который не нужно запускать, который реагирует на все изменения Таблицы)*/
- function onEdit(e) {
- //определяем лист, который редактируется и диапазон
- let sheet = e.source.getActiveSheet();
- let range = e.range;
- //проверяем, редактируется ли ячейка "H2" на "ЛистЛист"
- if (range.getA1Notation() == 'H2' && sheet.getName() == 'ЛистЛист') {
- //ЕСЛИ ДА
- //забираем ключ и новое значение из "F2:G2"
- let [key, new_value] = sheet.getRange("F2:G2").getValues()[0];
- //определяем рабочий диапазон таблицы с данными
- let range = sheet.getRange("A1:B100");
- //забираем данные из "A1:B100"
- let values = range.getValues();
- //с помощью map пересобираем массив,
- //если ключу соответствует значение в первом столбце диапазона – возвращаем новое значение
- //если не соответствует - возвращаем значение, которое было
- values = values.map(row => [row[0], row[0] == key ? new_value : row[1]]);
- //вставляем обновленный массив на его законное место
- range.setValues(values);
- }
- }
Add Comment
Please, Sign In to add comment