Google Таблицы
60.4K subscribers
657 photos
218 videos
8 files
1.01K links
Обучение, заказы, реклама: @namokonov

С 2017 года приручаем Google Таблицы и Google Apps Script, создаём ботов в Telegram и Max.

Реальные кейсы и автоматизация.

Оглавление: clck.ru/3UJwhf
РКН: clck.ru/3F3u9M
Download Telegram
Google Таблицы
Интервью! Интервью! Интервью! ⚡️ Если не грузится видео из TG, ссылка на vkvideo 🚛 Telegram, MAX, бензин и водители. Что между ними общего? Таймкоды: 00:00:00 О компании 00:02:34 Направления нашей работы 00:08:30 Обзор Telegram-бота 00:29:49 Создаём…
Продолжаем сериал о переводе компании со 100+ машин из Telegram в MAX.

Наша система развивалась несколько лет. На одной таблице завязаны десятки других листов и скриптов, поэтому просто добавить два новых столбца (chatId и userId для MAX) было нельзя.

Мы сохранили chatId и userId... в примечаниях ячеек. (см. второй скрин)

Теперь, когда водитель пишет боту в MAX о проблеме, бот получает его ID, находит по примечания его строку и извлекает из неё всю необходимую информацию и про водителя и про чатике поддержки.

В результате механики мгновенно получают сообщение:

 
Нужна срочная помощь. Тону в бокале мартини 🍸



Нюанс. Читать Google Таблицу при каждом обращении бота - медленно.

Поэтому решение такое: отдельный Apps Script срабатывает при любом изменении этого листа, собирает все данные в удобный объект и сохраняет его в Script Properties.

Дальше бот работает уже с этим объектом. Получается значительно быстрее, чем каждый раз обращаться к таблице.

Возможностей Google Таблиц много и они разные :)

PS Если у вас уже есть бот в Telegram и вы планируете переезд в MAX - пишите @namokonov

PPS А еще на курс с Анжелой про ДДС постепенно набирается, не пропустите: t.me/google_sheets/2192
5👍5🔥2
🚛 Еще один бот переехал из Telegram в MAX без переписывания всей системы.

Помните наш сериал про перевод компании с Telegram на MAX? Сегодня вышла очередная серия.

Перевели бота, в котором водители отмечают статусы рейса: приехал, загрузился, выехал, выгрузился и т.д.

Дальше всё группируется и автоматически разлетается в чаты логистов (в MAX, но можно однвременно и в Telegram) и записывается в Google Таблицу.

В итоге логисты всегда знают, в каком статусе находится машина, а бухгалтерия без лишней ручной работы понимает кому сколько заплатить. 🚛📊

Такими маленькими шагами Telegram постепенно меняется на MAX - без боли и без переписывания всей системы с нуля.

Создание ботов в Telegram / MAX: @namokonov
👍31
Каналу @google_sheets почти 10 лет.

За это время мы сделали сотни проектов: Telegram и MAX-боты, сложные скрипты, CRM и ERP-системы, интеграции и автоматизацию бизнеса на базе Google Таблиц и других сервисов.

Обсудить проект: @namokonov
🔥112
Лучшее доказательство пользы курса - показать первый урок.

Это про Таблицу со скриптом с парсингом выписок.

А еще будет мощный инструмент от Анжелы, теория и нетвокиркинг.

Что еще будет внутри курса: t.me/google_sheets/2192

Чтобы присоединиться, напишите "ДДС" @namokonov
4👍4🔥3
Я думал, ты пошутил 😂

Именно так мне ответили после того, как я выполнил утреннюю просьбу клиента.

Сообщение было простым:

- Женя, не хочу платить за полные данные по именам водителей штраф. Зашифруй.

Без долгих обсуждений.

Сказано - сделано. 🙂😅
🔥83👍1🍓1
🧩 Загадка для подписчиков

Друзья, а вот наконец и возвращаемся к формулам!

Нужно привести валюты из столбцов A-D к долларам по курсу на дату, указанную в B1, а затем прибавить доллары из столбца E. Результат - в F.

Можно использовать GOOGLEFINANCE, но необязательно.

Условие: если курса на выбранную дату нет, нужно взять ближайший предыдущий доступный курс.

Пишите свои варианты в комментариях. Чуть позже покажем наше решение 🙂

Таблица
👍63🍓1
Google Таблицы
🧩 Загадка для подписчиков Друзья, а вот наконец и возвращаемся к формулам! Нужно привести валюты из столбцов A-D к долларам по курсу на дату, указанную в B1, а затем прибавить доллары из столбца E. Результат - в F. Можно использовать GOOGLEFINANCE, но необязательно.…
Привет! Решение будет из двух частей.

Сначала получим курсы валют на выбранную дату. Но есть нюанс: если эта дата выпадает на выходной или праздничный день, данных может не быть. Поэтому запрашиваем курсы за последние 7 дней и берём последний доступный.

Что происходит в формуле:
MAP(A2:E2;...) - по очереди обрабатывает каждую валюту.
curr - текущая валюта из ячейки
IF(curr="USD";1;...) - для доллара возвращаем курс 1.
LET(data;...) - сохраненяем полученную таблицу по каждой паре под именем data.
INDEX(data;ROWS(data);2) - берём последнее значение курса из второго столбца.
Значение B1+1 в параметре enddate нужно, чтобы GOOGLEFINANCE включила в выборку курс за дату B1.

Формула целиком:

=MAP(A2:E2;LAMBDA(curr;
IF(curr="USD";1;
LET(
data;GOOGLEFINANCE(
"CURRENCY:"&curr&"USD";
"price";
$B$1-6;
$B$1+1
);
INDEX(data;ROWS(data);2)
)
)
))
👍52
Google Таблицы
🧩 Загадка для подписчиков Друзья, а вот наконец и возвращаемся к формулам! Нужно привести валюты из столбцов A-D к долларам по курсу на дату, указанную в B1, а затем прибавить доллары из столбца E. Результат - в F. Можно использовать GOOGLEFINANCE, но необязательно.…
Вторая часть: пересчёт в доллары.

Теперь посчитаем значения в каждой строке в долларах.

BYROW по очереди обрабатывает каждую строку, а SUMPRODUCT умножает суммы в каждой валюте на соответствующие курсы и складывает результаты.

В итоге получаем общую сумму в долларах для каждой строки.

Конечно, обе части можно объединить в одну формулу. 😊


=BYROW(
A3:E;
LAMBDA(
row;
IF(
COUNTA(row)=0;;
SUMPRODUCT(row;$H$3:$L$3)
)
)
)


Таблица с решением
👍31🍓1
🚀 Перенесли очередного Telegram-бота в MAX

Для одной компании мы перенесли ранее разработанного бота из Telegram в MAX, сохранив его логику и функциональность.

Теперь бот:
принимает заявки на обслуживание
позволяет прикреплять фото и видео
автоматически формирует PDF по шаблону
отправляет документы на нужные адреса поддержки
сохраняет данные в таблицу

Сотрудник отправляет заявку один раз. Дальше бот сам формирует документ, направляет его ответственным и сохраняет историю обращения.

Меньше ручной работы. Быстрее обработка. Полный контроль по каждой заявке.

Нужен такой бот (Telegram / MAX) для вашей компании?

Напишите @namokonov
3👍2🔥2🍓1
Привет, друзья!

Завтра выложим Таблицу с GAS-скриптом, с помощью которой можно автоматически заполнять Google Документы из Таблицы.

Без дополнительных приложений, авторизаций в МАХ и СМС :)

А еще расскажем, как в шаблон документа можно заранее вставить печать.

Завтра дадим вам готовый инструмент 🚀
🔥37👍31
Создаем инвойсы (и вообще любые документы) из Таблицы без дополнительных приложений

Друзья, привет!

Показываю вариант автоматизации, который работает на Google Таблице + Google Apps Script + вашем шаблоне Google Документа.

На выходе скрипт автоматически создаёт:

📄 Google Документ
📑 PDF
📁 и сохраняет оба файла в указанную папку на Google Диске

Расскажу как все работает:

1. Берём Таблицу со скриптом и копируем себе.

На листе Create есть несколько основных настроек:

^ B2 - ссылка на папку Google Диска, куда сохранять готовые документы (вам её нужно заполнить)
^ B3 - ссылка на шаблон Google Документа
^ B4 - формула, которая формирует имя будущего файла
^ B1, С1 - здесь после запуска скрипта вы увидите ссылки на созданные документы

Например, у меня имя файла собирается из номера контракта и номера инвойса. Но здесь (и в любых ячейках, которые используются) можно использовать любую свою формулу.

2. Заполняем данные для шаблона

Начиная с 5-й строки, в первом столбце указываем переменные:

<SELLER>
<PAYER>
<LOT>
<CONTRACT>
<INVOICE NUMBER>

и т.д.

Во втором столбце находятся значения этих переменных.

Например:

<SELLER> → ООО "Технология Процессинг"

Скрипт находит <SELLER> в шаблоне Google Документа и заменяет его на значение из Таблицы.

При этом сохраняется форматирование, заданное в шаблоне Google Документа.

То есть вы можете самостоятельно добавить сколько угодно переменных вида <***> под свой документ.

3. Запускаем скрипт из меню "💼 Скрипты"

И получаем готовый Google Документ и PDF в нужной папке.

А ещё я добавил формулы (B21, B22), которые автоматически переводят сумму прописью на русском и английском языках.

Таким способом можно автоматизировать не только инвойсы, но и акты, договоры, коммерческие предложения, счета и любые другие документы, для которых вы создадите шаблон в Google Документе.

PS. Чтобы добавить печать с подписью, как в нашем шаблоне, сохраните печать и подпись на прозрачном фоне, вставьте их в шаблон в Google Документе и выберите положение "За текстом".

Таблица со скриптом
Пример шаблона
🔥16👍3
Выгружаем из Google Календаря всё

Привет, друзья!

Сегодня можно заниматься только делами с календарём, переворачивать мы не будем, но дадим вам полезную Таблицу.

Если вы хотите быстро выгрузить свои встречи и события за выбранный период, чтобы построить отчеты, контролировать дедлайны, что-нибудь еще на корпоративном, то Таблица будет вам полезна.

Она умеет:

^ выгружать список всех ваших календарей;

^ собирать все события из них за выбранный период - с датами, участниками, статусами и другими параметрами - на один лист "События".

Просто укажите даты на листе "Настройки" и нажмите "Обновить всё" - Таблица сама всё соберёт.

🔗 Открыть Таблицу и скопировать себе
10🔥4🍓1
API, IP, что это вообще? :) Может лучше начинать писать про пиво IPA?

Возвращаемся к теме доступа к API. Часто бывает так: у стороннего API доступ разрешён только с адресов из заранее верифицированного белого списка (whitelist).

А Google Apps Script (GAS) такой стабильный адрес дать не может - при каждом обращении к внешнему серверу запрос уходит со случайного IP из пула Google.

Незадача: сервис требует фиксированный IP, а инструмент, которым мы хотим им пользоваться, фиксированного IP не имеет.

Означает ли это, что ничего не получится, что из GAS к такому API вообще нельзя достучаться? Нет, можно - просто напрямую не получится, добавим посредника.

Идея решения:

1) Арендуем VPS-сервер;
2) Обязательно берём выделенный IP-адрес - важно, чтобы он не менялся;
3) Этот IP заранее добавляем в whitelist на стороне API;
4) Из GAS отправляем запрос на свой VPS - передаём туда логин/пароль или токен для авторизации и endpoint, к которому мы обращаемся;
5) VPS уже от своего (разрешённого) адреса обращается к API, получает данные и отправляет их обратно - в нашу Google Таблицу;

Получается простая цепочка:

GAS → VPS (фиксированный IP) → API → обратно в Таблицу


Если вам интересно, как настроить такой VPS для этой задачи - ставьте реакции, пишите в комментариях, в следующем посте покажем пошагово, что написать в консоли.


Спасибо Дмитрию Петровичу за интересную идею поста, которую он нам подкинул, у него скоро праздник, поздравим :)
👍156🍓3🔥2
Делимся опытом, пишите в комментариях

Друзья-программисты и вайбкодеры, часто видели эту ошибку (скриншот) в логах выполнения скриптов GAS?

Как правило - мы ее видим когда Таблица, к которой мы обращаемся недоступна, "зависла от сложности общих вычислений 😆" и не может отдать даже что-то простое.

Буквально вчера у меня было это в очередной раз, скрипт упал с этой ошибкой, когда я брал из Таблицы просто две ячейки.

Что делаете в таких случаях? Как вывести в сайдбар полоску "усталости" таблицы?

Поделитесь в комментариях. 🙏
5🍓1
🍂 Запускаю свой личный коучинг по Google Таблицам, Apps Script и работе с заказчиками и закрытию их задач.

За плечами мнооого проектов, пора делиться опытом.

Ии конечно тоже будет, про это поговорим отдельно. Причем на уровне, который сейчас понимает процентов пять из тех, кто пользуется LLM.

Кратко расскажу о сути, а все подробности у меня в личке: @namokonov

Поехали:

1️⃣ Индивидуальное обучение. Работаем один на один, под ваши задачи.

2️⃣ Длительность - 1 месяц.

3️⃣ Вы сами выбираете, чему хотите научиться.

Например:

^ Научиться писать современные формулы. ИИ-модели сейчас как раз часто слабы в сложных формулах.

^ Принести свои рабочие файлы и мы их вместе оптимизируем: найдем узкие места, упростим формулы, ускорим расчеты;

^ Научиться писать скрипты и правильно использовать ИИ для разработки, чтобы не просто копировать код, а понимать, что он делает, и уметь доводить его до рабочего результата.

^ Пройти вместе со мной м заказчиком весь путь: от идеи до написания ТЗ, защиты решения, правильной оценки в деньгах и трудозатратах и выстраивания границ в работе :)

То есть это не просто "курс из 10 уроков". Я беру ваши конкретные запросы и мы разбираемся с этим вместе.

👥 Возьму всего 2-3 человек, не больше, тех, кто действительно хочет учиться (мне тоже должно быть интересно 😊) и у кого будут интересные запросы.

Пишите, все детали в личке
@namokonov
🔥64🍓2
Google Таблицы
🍂 Запускаю свой личный коучинг по Google Таблицам, Apps Script и работе с заказчиками и закрытию их задач. За плечами мнооого проектов, пора делиться опытом. Ии конечно тоже будет, про это поговорим отдельно. Причем на уровне, который сейчас понимает процентов…
Давайте про успешные кейсы коучинга :)

На фото Елизавета.

Лиза достаточно долго была в декрете и не работала. А потом пришла к нам и получилось что-то вроде коучинга и обучения с поддержкой.

И в итоге девушка быстро научилась не только работать с заказчиками, но понимать задачи, предлагать лучшие варианты и доводить их до конца, спокойно обсуждать сложные вопросы и не бояться ни с кем разговаривать.

Чего страшно трусила раньше (Лиза, прости 😅)

А ещё начала программировать.

После декрета она вернулась в свою компанию, почуствовала себя увернней, стала брать на себя проекты и не бояться.
🔥9👍6🍓2