Найти в Дзене

Сбор данных с разных таблиц в одну ОНЛАЙН

Долго искал, мало что нашел, но смог реализовать! Задача. Существует определённое количество гугл таблиц, которые заполняются онлайн, нужна единая сводная таблица из этих всех таблиц. Проблема в том, что собрать данные с разных таблиц в одну, не так уж и сложно, НО есть как говорится свои нюансы. Итак, расскажу как все было у меня и зачем это мне. На нашем самом крутом турнире по силовым видам спорта SPS есть EXPO (выставка, спонсоры, локации). Для зрителей и посетителей решили сделать бесплатную лотерею. Условия. Зрителям необходимо было просто подойти к стенду, отсканировать QR-код чат-бота, выполнить условия и зарегистрироваться в розыгрыше. Так как условием изначально было подписаться на канал Siberian Power Show, спонсорам было предложено, чтобы на их стенде, человек подписывался не на нас, а на них. Соответсвенно, для каждого спонсора был создан и настроен чат-бот. Ведущий на сцене каждый час, в течении 3х дней, рандомно выбирает победителей. Механизм. Чтобы люди не вводили лев

Долго искал, мало что нашел, но смог реализовать!

Задача. Существует определённое количество гугл таблиц, которые заполняются онлайн, нужна единая сводная таблица из этих всех таблиц.

Проблема в том, что собрать данные с разных таблиц в одну, не так уж и сложно, НО есть как говорится свои нюансы.

Итак, расскажу как все было у меня и зачем это мне.

На нашем самом крутом турнире по силовым видам спорта SPS есть EXPO (выставка, спонсоры, локации). Для зрителей и посетителей решили сделать бесплатную лотерею.

Условия. Зрителям необходимо было просто подойти к стенду, отсканировать QR-код чат-бота, выполнить условия и зарегистрироваться в розыгрыше.

Так как условием изначально было подписаться на канал Siberian Power Show, спонсорам было предложено, чтобы на их стенде, человек подписывался не на нас, а на них. Соответсвенно, для каждого спонсора был создан и настроен чат-бот.

Ведущий на сцене каждый час, в течении 3х дней, рандомно выбирает победителей.

Механизм.

  1. Сканируешь QR-код и попадаешь в чат-бот
  2. Подписываешь на канал
  3. Вводишь своё Имя и номер телефона
  4. Нажимаешь "Участвовать"

Чтобы люди не вводили левые номера телефонов, чат-бот проверял зарегистрированных не по введённому номеру, а по id телеграмма.

Чат-бот каждого спонсора заполнял свою гугл таблицу. Далее все записи сводятся в единую таблицу и сортируются по дате и времени регистрации.

Чтобы собрать файлы в единую таблицу, необходимо указать диапазон, который надо брать из других файлов. Так как мы не знаем сколько будет зарегистрированных, количество строк я поставил 999. Проблема в том, что гугл в сводную таблицу добавляет именно 999 строк и пофигу, что они пустые. Соответственно, надо, чтобы автоматически удалялись пустые и далее сортировались по дате и времени. Получился в итоге вот такой код ячейки:

=QUERY({IMPORTRANGE("https://docs.google.com/spreadsheets/d/ПУТЬ1/edit?usp=sharing";"Розыгрыш1!A1:F999");IMPORTRANGE("https://docs.google.com/spreadsheets/d/ПУТЬ2/edit?usp=sharing";"Розыгрыш2!A1:F999")};"select * where Col1 is not null order by Col1")

Для импорта файла используем функцию IMPORTRANGE, описание её доступное и понятное. В ней мы как раз указываем нужный нам диапазон.

Дальше все сделает мощнейшая функция работы с массивом QUERY.

=QUERY("select * where Col1 is not null order by Col1")

select - перечисление полей, которые будут возвращены запросом

where - содержит перечень условий, с помощью которых будет отфильтрован массив данных, обрабатываемый запросом

order by - сортировка результатов

Чат-боты настроены с помощью площадки leadteh

Если у Вас есть вопросы - пишите :)