Как сделать автоматическое добавление строки в другую таблицу с условием?
Здравствуйте. У меня есть таблица 1, у нее в ячейке A есть какие-то названия, заполняется таблица из плагина WP Forminator, мне нужно, чтобы как только в таблицу 1 поступает новая строка, проверялось условие "В ячейке А = переменная1?" если да - то всю строку копируем в таблицу 2, если нет, то условие 2 "В ячейке А = переменная2?", если да - то всю строку копируем в таблицу 3, если нет - ничего не делаем. Собственно как-то так и это должно работать автоматически и тригерится от новой строки в таблице 1, наведите пожалуйста, куда лучше смотреть, чем лучше воспользоваться Zapier (не нашел там условий), ImportRange (вообще почти не понятно, как с ним взаимодействовать в данной истории) или Google App Script? Желательно побольше примеров, ибо я новичок, заранее благодарен всем за ответы
У вас есть гугл-таблица A, в которую «падают» исходные данные на лист, допустим, data.
Создаёте в этой гугл-таблице ещё один лист с названием, допустим, filter1.
На этом листе в ячейку A1 помещаете формулу: =FILTER(data!A:Z;data!A:A="x"), где A:Z — нужный диапазон столбцов, x — нужное вам условие.
Создаёте (если не создана) ещё одну гугл-таблицу B с листом, например, afterfilter1, на который будут копироваться отфильтрованные строки (записи).
Теперь в Zapier.com (или его аналогах, см. alternativeto.net) создаёте зап, который при появлении новой строки на листе filter1 гугл-таблицы A будет копировать её на лист afterfilter1 гугл-таблицы B.
Для filter2...filter# нужны свои листы и запы (или же один зап с условиями, хотя такие, ЕМНИП, требуют подписки).
Григорий Боев, есть нюанс: нужно копирование, а не возврат значения функцией.
Написано
Григорий Боев
@ProgrammerForever Куратор тега Google Sheets
1) Получить номер строки новой через onEdit()
2) Проанализировать строку на ваши условия
3) Получить номер свободной строки в другой таблице
4) Скопировать данные в новую таблицу
Надо не забывать что onEdit() изначально простой триггер и не даст копошиться в другой таблице, нужно назначить триггер на редактирование на эту функцию.
Вот пример рыба для onEdit
function onEdit(event) {
//Возникает при изменении ячейки
var ss = 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; //Старое значение
if (["Лист1","Лист2"].indexOf(ss.getName())==-1) return; //Указываем на каких листах должен работать скрипт
//Что-то делаем...
};