Работа в Google Таблицах. Кейсы, решения и угар. админы: @namokonov @r_shagabutdinov @IT_sAdmin оглавление: goo.gl/HdS2qn заказ работы: teletype.in/@google_sheets/sheet_happens купить рекламу: https://telega.in/c/google_sheets РКН: clck.ru/3F3u9M
Извлекаем из исходной таблицы не все столбцы, а только те, что в отдельном списке — или по номерам.
Что если нам нужны первый, потом с 5 по 20 и потом еще последний столбцы?
=CHOOSECOLS(Данные; 1; SEQUENCE(16;1;5); -1)
=ArrayFormula(CHOOSECOLS(Данные; XMATCH(заголовки нужных столбцов; строка заголовков в данных)))
Как вытянуть погоду из бесплатного API за 10 минут — даже если вы никогда не писали скрипты
Хотите одним кликом получать температуру и ветер по любой точке? Берём бесплатное API Open-Meteo и делаем это прямо в Google Таблицах.
Есть сайт https://api.open-meteo.com
— у него есть бесплатное и платное API. Мы используем бесплатное.
Чтобы получить текущую погоду, соберите ссылку вида:
https://api.open-meteo.com/v1/forecast?latitude=59.5638&longitude=150.803&current_weather=true
Здесь latitude и longitude — широта и долгота, конечно.
Если просто открыть ссылку в браузере — сразу увидите данные.
Мы подготовили решение в Google Таблице вместе со скриптом.
1) Вы кликаете в таблице по нужной строке с координатами.
2) Скрипт формирует ссылку с этими координатами.
3) «Как бы» открывает эту ссылку и получает из неё данные.
3) Извлекает температуру.
4) Извлекает скорость ветра.
5) Сохраняет полный ответ целиком — на случай, если вам будет интересно посмотреть, что ещё можно достать кроме температуры и ветра.
Представьте: в 15:00 вы уже закрыли все задачи, пока коллеги ещё пишут отчёты. Это не магия — это Excel. Формулы сами считают, диаграммы строятся за пару кликов, а данные из Google Таблиц обновляются в реальном времени.
Освойте эти инструменты на курсе Skillbox «Excel + Google Таблицы с нуля до PRO», и вы сможете: — выполнить работу в разы быстрее; — добавить ценные навыки в резюме; — повысить шансы на карьерный рост.
Всё обучение — на реальных примерах с поддержкой экспертов.
Получите скидку до 60% и курс по нейросетям + любой второй в подарок!
Жмите сюда и начните обучение: https://epic.st/ypuRjF?erid=2VtzqxE2Suq
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
Уважаемые коллеги! Приглашаем вас 09-11 сентября на тренинг "Финансовый директор будущего"
⚠️ Тренинг мы проводим БЕСПЛАТНО. Каждый участник сможет познакомиться с современными инструментами финансиста и внедрить их в свою работу, чтобы уверенно расти в карьере.
Вы заберете практические знания, которыми владеют всего 5% современных бухгалтеров и финансистов:
– Как стать тем самым специалистом, к которому выстраивается очередь?
– Технические навыки и soft skills для эффективной работы CFO
– Переговорные навыки: аргументация и влияние
– Как строить карьеру внутри компании или переходить на аутсорс?
– Какие зарплаты и возможности доступны финансистам в 2025 году?
Все участники получат:
✅ Тест на определение типа личности — чтобы использовать свои особенности для профессионального роста.
✅ Доступ к 35 бонусным файлам по темам: автоматизации учета, Google-таблицам, ИИ, упаковке финансиста.
Записывайтесь прямо сейчас: ➡️https://fin-academy.pro/
Так а как же получить аргумент, который передан в функцию?
Просто: берем активную ячейку, вытаскиваем формулу как текст и регуляркой достаём то, что внутри скобок.
Вуаля 👇
function воскресенье(a) {
// Получаем активную таблицу
const sh = SpreadsheetApp.getActive();
// Берём адрес активного диапазона (в котором введена формула), например "A1"
const rangeA1 = sh.getActiveRange().getA1Notation();
// По адресу получаем саму формулу из ячейки, где стоит пользовательская функция
// Например: "=воскресенье(C1:C2)"
const formula = sh.getRange(rangeA1).getFormula();
/* Возвращаем строку с тремя частями:
1) сама формула, как она написана в ячейке
2) переданный аргумент (вытаскиваем всё, что внутри скобок с помощью RegExp)
формула.match(/\((.+?)\)/)?.[1] → ищет первую группу в скобках
?. — это оператор "optional chaining", чтобы не было ошибки, если нет совпадения
3) значения, которые реально пришли в функцию (в параметр a)
*/
return 'формула: ' + formula + '\n'
+ 'переданный аргумент: ' + formula.match(/\((.+?)\)/)?.[1] + '\n'
+ 'значения: ' + a;
};
🔥 Уже на первом занятии нашего интенсива мы разобрали пользовательские функции в Google Sheets!
Написали простейший скрипт (положил в комментарии), который возвращает HEX-цвет каждой ячейки, и научились использовать его для:
✅ подсчёта ячеек по цвету,
✅ суммирования через SUMIF,
✅ фильтрации строк по выделению,
✅ и других «умных» комбинаций формул.
И это только начало 💡
💰 Раньше участие стоило 75 000, но сейчас действует специальная цена — 60 000 (скидка 15 000).
⏳ Скидка доступна только до следующего урока, он во вторник!
⚡️ Про интенсив подробнее: t.me/google_sheets/1861
Вопросы, запись: @namokonov
🔥 Друзья! Уже завтра стартует наш интенсив!
Группа маленькая и уютная, поэтому каждому уделим максимум внимания.
⚡ Осталось всего 1–2 места — можно успеть вписаться! 🚀
Что будет на интенсиве:
✅ Полезные кейсы по скриптам — даже без знаний сможете просто скопировать, вставить и применить у себя.
✅ Фишки и практические приёмы по формулам.
✅ 10-12 занятий (по 2 раза в неделю) в формате лайв.
✅ Все записи сохраняются на Google Диске — доступ у вас останется навсегда, сможете и скачать к себе.
✅ Домашки и чат курса, где можно задавать вопросы и после завершения.
📩 Чтобы спросить детали или записаться — пишите: @namokonov
🚀 Запускаем своё первое doGet-приложение в Google Таблицах
Хотите, чтобы ваши скрипты выполнялись по одной ссылке?
Это реально! Мы покажем, как за пару минут развернуть простое веб-приложение прямо в Google Таблицах.
🔥 Что это за приложение?
doGet-приложение запускает функцию, имя которой вы укажете в ссылке (?func=).
Например:
• ?func=clear
— очистить таблицу,
• ?func=color
— закрасить её случайными цветами.
Всё работает в один клик, а код остаётся полностью скрытым.
💡 Зачем это нужно?
• Вы даёте коллегам только ссылку — без раскрытия кода.
• Приложение запускается от вашего аккаунта.
• Можно подключить сколько угодно функций и запускать их прямо из браузера.
⚡ Пример кода
В примере всего две функции:
• color()
— заполняет каждый лист в таблице (массив 20×20) случайными цветами.
• clear()
— очищает все листы в таблице.
function doGet(e) {
const funcName = e.parameters['func'];
console.log(funcName);
this[funcName]();
}
function clear() {
const ss = SpreadsheetApp.getActive();
const sheets = ss.getSheets();
for (let sh of sheets) {
sh.clear();
}
SpreadsheetApp.flush();
}
function color() {
const ss = SpreadsheetApp.getActive();
const sheets = ss.getSheets();
for (let sh of sheets) {
let arr = [];
for (let i = 0; i < 20; i++) {
arr[i] = [];
for (let j = 0; j < 20; j++) {
arr[i][j] = basicColors[getRandomInt(0, basicColors.length - 1)];
}
}
sh.getRange(1, 1, arr.length, arr[0].length).setBackgrounds(arr);
}
SpreadsheetApp.flush();
}
const basicColors = [
"#FF0000", // красный
"#00FF00", // зелёный
"#0000FF", // синий
"#FFFF00", // жёлтый
"#FFA500", // оранжевый
"#800080", // фиолетовый
"#00FFFF", // бирюзовый
"#FFC0CB", // розовый
"#A52A2A", // коричневый
"#FFFFFF", // белый
"#000000" // чёрный
];
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
[ссылка веб-приложения]?func=clear
→ моментальная очистка.[ссылка веб-приложения]?func=color
→ мгновенная заливка таблицы цветами.?func=
.Скрипты на интенсиве: навыки, которые экономят часы работы и приносят деньги 💰
– Telegram-боты под ваши задачи
Научитесь создавать собственных ботов, которые пишут в чаты и каналы, собирают сообщения и даже следят за порядком.
– Google Документы на автопилоте
Зачем вручную готовить договоры и отчёты, если это можно делать за секунды?
👉 Вы увидите, как данные из Google Таблиц автоматически превращаются в готовые документы. Минимум кликов — максимум экономии времени.
– Интеграции через API и маркетплейсы
Разберём простыми словами, что такое API и как с его помощью соединять сервисы.
👉 На практике — примеры работы с Wildberries и OZON: вы поймёте, как автоматизировать продажи и быстрее масштабировать бизнес.
🔥 После этих занятий вы сможете убрать рутину, запускать процессы «на автомате» и использовать те инструменты, которые реально дают результат.
Вопросы — @namokonov
PS в понедельник покажем веб-приложения, которое может запускать любые скрипты
оnEdit, который дает e-mail того, кто аккаунт редактирует
Друзья, пара открыть страшную тайнов веков - простый триггер onEdit умеет достать email того, кто редактирует ячейку только если действие (редактирование) происходит в платном google workspace аккаунтe.
На бесплатных аккаунтах такой возможнсти нет, раньше (когда-то) была, сейчас уже нет.
Детали:
🔹 В бесплатных аккаунтах Google (обычные @gmail.com) простой триггер onEdit(e)
не возвращает email.
Аргумент e содержит, например:
range — ячейку, которую изменили,
value / oldValue — новое и старое значения,
user — пустое поле.
onEdit(e
) можно достать e.user.getEmail(), и тогда действительно видно, кто редактировал.
Читать полностью…
Друзья, привет!
Сегодня берём "интересный" скрипт и заставим его работать.
Вот то, что нам прислал пользователь.
Пользователь пишет, что скрипт работает только для отправки одного сообщения.
Но если присмотреться внимательно, то данный скрипт вообще никуда сообщение отправить не может, так как внутри нет ни одного e-mail адреса:
Читать полностью…
var ID = "1btifyGowr_cWzkSzo0tZF_5bjRAs2ahgxTmsxju2VkE"; //speadsheet id
var EMAIL = "Лист1!A1:A"; //email
var RANGE = "Лист1!B1:B"; //data range to send
var check = "Лист1!C1:C"; //parametr
var text = "Информация по Вашему заказу"; //subject
function sendData() {
var spreadsheet = SpreadsheetApp.openById(ID);
var data = spreadsheet.getRangeByName(RANGE).getValues();
var message = {};
if (SpreadsheetApp.openById(ID).getRangeByName(check).getValues() < 100) { //condition
message.subject = "Заказ готов к отгрузке" + text;
message.to = EMAIL;
message.htmlBody = dataToHtmlTable_(data) +
"<br><br>С уважением";
MailApp.sendEmail(message);
}
}
Array.prototype.datesToString = function () {
return this.map(function (row) {
return row.map(function (cell) {
return cell && cell.getTime ? Utilities.formatDate(cell, Session.getScriptTimeZone(), "yyyy-MM-dd") : cell;
});
});
}
function dataToHtmlTable_(data) {
return JSON.stringify(data, null, " ")
.replace(/^\[/g, "<table>")
.replace(/\]$/g, "</table>")
.replace(/^\s\s\[$/mg, "<tr>")
.replace(/^\s\s\],{0,1}$/mg, "</tr>")
.replace(/^\s{4}"{0,1}(.*?)"{0,1},{0,1}$/mg, "<td>$1</td>");
}}"
Сколько пятниц, 13 в периоде?
Можно вычислить это такой формулой:
=ArrayFormula(СЧЁТЕСЛИ(ТЕКСТ(SEQUENCE(конец периода-начало периода+1;1;B1);"D DDD");"13 пт"))
=ArrayFormula(COUNTIF(TEXT(SEQUENCE(B2-B1+1,1,B1),"D DDD"),"13 пт"))
Читать полностью…
=ЧИСТРАБДНИ.МЕЖД(КОНМЕСЯЦА(дата;-1)+1;КОНМЕСЯЦА(дата;0);"1011111")
2) Минимизируйте количество обращений к таблице
Если записываете или получаете данные — старайтесь делать это за одно действие: формируйте массив в скрипте и вставляйте его с помощью setValues()
.
То же самое при получении данных: забирайте целую строку или диапазон, а затем уже в скрипте извлекайте нужные значения.
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы @namokonov
В функции LET можно задавать свои функции! Это, конечно, экзотика (потому что, как правило, если нам нужно применять одно и то же вычисление много раз, мы используем LAMBDA + MAP или другую вспомогательную функцию), но тем не менее.
Если после имени переменной последует не константа / выражение, а функция LAMBDA, то это будет имя функции, которую потом можно в LET вызывать. В следующем примере у нас простая функция, умножающая число, данное ей на входе, на 2:
=LET(f; LAMBDA (a;a*2); f(10) + f(5) )
Функция ТИП.ОШИБКИ / ERROR.TYPE
Даем ей ячейку, получаем порядковый номер ошибки (число). Смотрим в справку:
1 для ошибки #NULL!
2 для ошибки #DIV/0!
3 для ошибки #VALUE!
4 для ошибки #REF!
5 для ошибки #NAME?
6 для ошибки #NUM!
7 для ошибки #N/A
8 для всех других ошибок.
То есть можно отлавливать определенные ошибки по схеме:
=ЕСЛИ(ТИП.ОШИБКИ(ячейка)=2; "Кажется, тут случилось деление на ноль"; вычисление)
⚡️Пошаговый план: как стать аналитиком данных в 2025
Хотите попасть в аналитику, но теряетесь в море информации и не понимаете, какие навыки действительно важны? Боитесь, что без опыта вас не возьмут на работу? И да, ещё один популярный вопрос — а что, если мне 30/40/50+ лет?
Андрон Алексанян — эксперт по аналитике с 8 летним опытом и по совместительству CEO Simulative — покажет рабочие схемы и четкий план, как устроиться в аналитику быстрее, даже если у вас нет опыта.
Что будет на вебинаре?
🟠 Разберем полный роадмап: что учить, в каком порядке, до какого уровня;
🟠 Лайфхаки трудоустройства:
— Покажем реальные примеры, как оформить резюме и портфолио, чтобы привлекать внимание;
— Обсудим какие отклики работают, а какие сразу отправляют в корзину;
— Изнанка найма: инсайдерский взгляд на процессы отбора
🟠 Практические техники для новичков: разберём, как компенсировать недостаток опыта и быстро закрывать пробелы в знаниях.
🕗 Важно досмотреть вебинар до конца, чтобы получить бонус от нас, который поможет бустануть карьеру.
😶Зарегистрироваться на бесплатный вебинар
Alt + / — поиск команд и инструментов
Нажимаем Alt + / или кликаем в поисковое поле рядом с лупой на панели инструментов — и начинаем вводить то, что нас интересует.
Можно искать инструменты — вот не помните вы, где сводная таблица, в каком меню — просто вводите тут название нужного инструмента.
А можно и ввести цвет, например — как на скриншоте — и получить список возможных действий.
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Видео: формулы массива и ручные vs формульные данные
Продолжительность: 10 минут
Друзья, небольшое видео про 2 темы, часто вызывающие у новичков сложности (по моим наблюдениям):
— Формулы массива. Когда формула возвращает результат на весь столбец, это снижает риск ошибок, ее не надо протягивать. Но есть риск случайного ввода данных где-то на пути работы формулы и как следствие ошибок :)
— Cочетание данных, возвращаемых формулой и вводимых вручную. Комбинация приводит к ошибкам, так как комментарии и введенные вручную значения привязаны к ячейкам, а не к данным, которые выдает формула.
Наглядно про оба нюанса табличного строительства в видео.
Если вы помогаете коллегам с формулами и периодически объясняете, почему слетело настроенное вами заклинание ArrayFormula(XLOOKUP(...), поделитесь этим видео с ними 😃
Это видео на Youtube
Оно же на Kinescope
Больше бесплатных видеоуроков по ссылке
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Оглавление ваших Таблиц на максималках 🚀
Когда я работал в одной компании, мне катастрофически не хватало простого списка листов в наших главных Таблицах — с возможностью сразу перейти на любой лист.
Мы сделали для вас скрипт, который решает эту задачу 🔥
👉 Таблица (делайте копию) / Код с комментариями отдельно
Как он работает:
1️⃣ В первую строку вводите ссылки на Таблицы.
2️⃣ Жмёте кнопку.
3️⃣ Скрипт проходит по каждой Таблице и:
• собирает список всех листов,
• делает кликабельные ссылки,
• считает количество строк и столбцов (полезно для оптимизации),
• считает количество формул и значений.
🎓 А ещё: в пятницу, 29 августа, стартовал наш Интенсив по Скриптам Google Таблиц и Формулам.
Первый урок уже прошёл, уютная и небольшая группа, время спикеров достанется всем.
Но набор ещё открыт: вы успеваете присоединиться в течение ближайших 30 часов (до завтрашнего урока).
Воскресное применение getActiveRange()
Друзья, в Google Скриптах метод getActiveRange()
возвращает выделенный диапазон в Таблице.
Есть интересный момент: если вызвать этот метод внутри пользовательской функции (той, что написана прямо в Таблице), то он вернёт диапазон, в котором введена формула.
Например, создаём простую функцию:
function воскресенье(a) {
return a + ', ' + typeof a;
};
A1
и передаём в качестве аргумента C1:C2
.Друзья, наш интенсив стартовал в пятницу!
Было первое вводное занятие, обсуждали, как с помощью пользовательской функции вывести цвета закраски ячеек прямо в таблицу.
Скриптами делали оглавление Таблицы, также делали оглавление для нескольких указанных Таблиц.
Вспомнили про новые функции: let, lambda, byrow, bycor.
Курс стартовал, поэтому, кто хочет присоединиться сейчас - скидка, 60000, вместо 75000, которые были на старте.
Вопросы, запись: @namokonov
Обновления Google Таблиц и Презентаций
Спасибо Бену Коллинсу и его чудесной рассылке за информирование — а мы в свою очередь делимся с вами.
Функции ISEMAIL и ISURL стали работать точнее, и должны корректно определять больше электропочт и доменных имен. Напоминаем — обе возвращают TRUE / ИСТИНА, если в аргументе корректная почта или адрес.
Если хочется превратить тру-фолсы в красивые флажки — никто вам не сможет запретить.
Ну а в Google Презентациях объекты теперь будут двигаться всего лишь на 1 пиксель при нажатии на стрелки на клавиатуре. Рай для перфекционистов! Для остальных, чтобы двигать объекты посущественнее, нужно будет теперь зажимать Shift.
Вот вам еще несколько советов для Презентаций:
— можно "вшить" ссылку в объект — в изображение, например, с помощью стандартного сочетания Ctrl + K
— создавать дубликат слайда сочетанием Ctrl + D
— увеличивать и уменьшать размер текста в выделенном объекте сочетаниями Ctrl + Shift + > и Ctrl + Shift + < (тоже работает не только лишь в Google Презентациях)
— Ctrl + Shift + V — вставка только текста, без исходного форматирования
Сколько месяцев в году имеют 30 дней и более?
Напишем и разберем формулу:
=ARRAYFORMULA(
QUERY(
EOMONTH(DATE(2025; SEQUENCE(12); 1); 0);
"select Col1, day(Col1) where day(Col1) >= 30";
0
)
)
01.01.2025
01.02.2025
01.03.2025
...
01.12.2025
EOMONTH(дата; смещение)
даёт конец месяца.
31.01.2025
28.02.2025
31.03.2025
30.04.2025
...
31.12.2025
QUERY
смотрит на массив дат:Col1
= дата конца месяца"where day(Col1) >= 30"
убирает месяца, в которых меньше 30 днейСтартуем интенсив: формулы + скрипты
Скоро сентябрь — а это значит, что пора учиться!
Мы запускаем интенсив, старт — в пятницу, 29 августа.
Формат обучения:
каждую неделю — два занятия;
4 занятия по продвинутым (и просто полезным) формулам;
4 занятия по практичным скриптам;
продолжительность каждого занятия — 80–90 минут;
домашние задания для закрепления.
Заставляем работать чудо-код сверху:
function send() {
const spreadsheet = SpreadsheetApp.openById(ID);
const sh = spreadsheet.getSheetByName('лист1');
const data = sh.getDataRange().getValues();
for (let x = 0; x < data.length; x++) {
const to = data[x][0];
const Htmlbody = data[x][1] + "<br><br>С уважением";
const subject = "Заказ готов к отгрузке." + "Информация по Вашему заказу.";
GmailApp.sendEmail(to, subject, Htmlbody);
sh.getRange(x + 1, 4).setValue(new Date());
}
};
Задачка на формулы и скрипты
Друзья, привет!
Задача 1. Напишите формулу в Google Таблице, чтобы посчитать общее количество номеров в формате: две буквы + четыре цифры.
Задача 2. Напишите GAS-скрипт, который выведет все возможные номера в этом формате.
📌 Пишите свои решения в комментариях.
PS Буквы – от A до Z
🎉 Давно думаете, как войти в мир данных, но не знаете, с чего начать?
Регистрируйтесь на бесплатный мини-курс по SQL! Это ключевой навык для работы с данными, который поможет вам открыть двери в перспективную профессию аналитика.
На курсе вас ждет:
✔️ 5 часов обучения, чтобы уверенно начать работать с SQL,
✔️ Пошаговые видео-разборы от эксперта, которые помогут во всем разобраться,
✔️ Поддержка куратора в чате и нетворкинг с другими участниками,
✔️ 30+ практических заданий для закрепления навыков,
✔️ Финальный кейс, который вы решите самостоятельно,
✔️ Сертификат о прохождении курса.
Обучение на курсе стартует 13 августа — успейте зарегистрироваться по ссылке ниже.
🎁 Всех ждет подарок — гайд «20 фреймворков аналитика» после регистрации!
Это супер-конспект на 133 страницы с описанием самых главных шаблонов и инструментов для анализа и поиска решений от наших экспертов!
🎁 Также все участники курса получат грант на дальнейшее обучение аналитики!
SQL — это старт к новой карьере в аналитике или важный навык, который сделает вас ценным специалистом в своей сфере.
Регистрируйтесь до 13 августа по ссылке
Пара примеров, как сделать ваш GAS-скрипт быстрее
Друзья, привет! Сегодня расскажу, как без глубокого рефакторинга можно ускорить ваш код.
1) Убирайте методы из глобальной области видимости
Смотрите на скриншот: userStates
будет инициализироваться при запуске любого скрипта, даже того, где он не используется.
Это отнимет у скрипта некоторое время ещё до старта.
Оставляйте в глобальной области видимости только текстовые строки, числа, объекты или массивы, но не вызывайте методы.
🔔Бесплатный доступ к курсу по автоматизации управленческого учёта
По статистике📊 8 из 10 предпринимателей требуют от финдира умения работать в сервисах управленческого учёта.
Если вы до сих пор ведёте отчёты в Excel и Google таблицаx, самое время попробовать более современное решение 😉.
Курс по настройке отчёта ДДС от Финтабло — ваш быстрый старт в автоматизации финансового учёта.
Всего за 4 урока вы:
✅ Освоите 1 из лучших сервисов финансового и управленческого учёта для финансистов
✅ Построите отчёт ДДС без ручных операций — данные из банка и платёжных систем будут подтягиваться автоматически
✅ Сделаете финансовый анализ с помощью встроенного АИ аналитика — на этой уйдет 5 минут.
❗️Ровно 100 бесплатных мест. Успейте занять ваше. В подарок🎁 — доступ к сервису на 30 дней.
Получить бесплатный доступ к курсу>>>
Реклама ООО "НФ Софт". ИНН: 2311303019. Erid: 2VtzqxkoPoE
😿 Когда часы утекают на обновление данных из всех источников в Google Sheets… и в конце — формула сбилась, ссылки не те, а дедлайн — вчера.
Хватит тратить время на ручное обновление таблиц!
JetStat — это сервис для автоматизации маркетинговой отчётности.
— JetStat подключается к 60+ источникам (рекламные кабинеты, аналитические системы, CRM, маркетплейсы, коллтрекеры, базы данных и др): Google Ads, Яндекс.Директ, VK, TikTok, Bitrix24, AmoCRM и др.
— Загружает данные по расписанию прямо в Google Sheets, Excel или BI
— Отчёты всегда актуальны благодаря автоматизации: обновление данных до 5 раз в день
✅ Забудьте про ручной импорт и вечные исправления
✅ Отчёты обновляются без сбоев, даже когда у вас гора задач
✅ Экономьте до 30% времени — больше свободы и меньше стресса
100+ агентств уже с нами — Циан, KION, e-Promo и другие
Работает без кода — просто подключи, настрой и забудь
🧪 Попробуйте 7 дней бесплатно — jetstat.io
Реклама ООО “Джет лабс”. ИНН: 7728475027. Erid: 2Vtzqwb8s4c