Google Таблицы
63.1K subscribers
487 photos
162 videos
8 files
861 links
С 2017 года пишем про Google Таблицы и Google Apps Script — с юмором, реальными кейсами и эффективными решениями.

Реклама: @IT_sAdmin

Обучение и заказ услуг: @namokonov 🍒

Оглавление: goo.gl/HdS2qn

РКН: clck.ru/3F3u9M
Download Telegram
Media is too big
VIEW IN TELEGRAM
Краснодар

Завершился чемпионат России по футболу и произошло хорошее футбольное чудо – чемпионом РПЛ в этом сезоне стала команда Краснодар.

В коротком видео мы покажем, как с помощью одной Google Таблицы и простого скрипта можно выгрузить итоговую турнирную таблицу РПЛ прямо из веб-сайта.

Таблица со скриптом

🚀 Наш курс
📗 Канал и Чат
🏄 Заказ работы у нас
Please open Telegram to view this post
VIEW IN TELEGRAM
LAMBDA в квадрате: получаем одной формулой сводку по опросу с любым количеством столбцов.

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

Решение:
Начинаем с того, что получаем диапазон с помощью СМЕЩ / OFFSET: отталкиваемся от ячейки B2, считаем с помощью СЧЁТЗ / COUNTA, сколько в первой строке заголовков и в первом столбце значений, чтобы понять ширину и высоту диапазона.

Обращаемся к каждому столбцу диапазона через BYCOL. Столбец у нас будет скрываться под переменной col. Что мы делаем с каждым столбцом?
Мы производим манипуляции с каждым уникальным значением (ответом) из этого столбца — UNIQUE(col), отправляя это в функцию MAP. Каждое значение из столбца будет у нас в переменной ans.

Что мы с ней делаем? Возвращаем ее как есть, добавляем разделитель по вкусу и добавляем самое главное — сколько раз встречается этот ответ (СЧЁТЕСЛИ / COUNTIF)

= BYCOL (СМЕЩ($B$2;0;0; СЧЁТЗ($A$2:$A); СЧЁТЗ($1:$1)-1);
LAMBDA(col; MAP(UNIQUE(col); LAMBDA(ans; ans & ваш_разделитель & СЧЁТЕСЛИ(col;ans)))))


= BYCOL (OFFSET($B$2;0;0; COUNTA($A$2:$A); COUNTA($1:$1)-1);
LAMBDA(col; MAP(UNIQUE(col); LAMBDA(ans; ans & ваш_разделитель & COUNTIF(col;ans)))))


Таблица с примером
Комиссии ВБ

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

Метод официального API: https://dev.wildberries.ru/openapi/wb-tariffs#tag/Komissii/paths/~1api~1v1~1tariffs~1commission/get

Чтобы получить токен:

1) Войдите на https://seller.wildberries.ru
2) В левом меню выберите: Настройки → Доступ к API
3) На вкладке "Доступ к API" найдите кнопку «Создать новый ключ».
4) Вставьте ключ в код в аргумент token вместо 1


Скрипт с комментариями:

const token = '1';

function paste() {
const ss = SpreadsheetApp.getActive(); // Получаем активную Google-таблицу
const sh = ss.getSheetByName('Комиссии'); // Получаем лист с названием "Комиссии"
const arr = commissions(); // Вызываем функцию, получающую данные по комиссиям
sh.clearContents(); // Очищаем содержимое листа перед вставкой новых данных
sh.getRange(1, 1, arr.length, arr[0].length) // Определяем диапазон, соответствующий размеру массива
.setValues(arr); // Вставляем данные в указанный диапазон
};

function commissions() {
const url = 'https://common-api.wildberries.ru/api/v1/tariffs/commission'; // URL API для получения комиссий Wildberries

const options = {
method: 'get', // Метод запроса — GET
headers: {
'Authorization': token // Авторизационный заголовок с токеном
},
muteHttpExceptions: true // Не выбрасывать исключения при ошибках HTTP (например, 404)
};

const response = UrlFetchApp.fetch(url, options); // Отправляем HTTP-запрос и сохраняем ответ как строку
let json = JSON.parse(response.getContentText()); // Преобразуем строку в JSON
console.log(json); // Выводим полученный JSON в консоль

json = json.report; // Извлекаем массив объектов из ключа "report"
const headers = Object.keys(json[0]); // Получаем список названий столбцов (ключи первого объекта)
console.log(headers); // Выводим полученный список в консоль

const arr = json.map(j => headers.map(h => j[h])); // Преобразуем массив объектов в массив массивов значений
return [headers, ...arr]; // Возвращаем итоговый массив: первая строка — заголовки, далее строки с данными
};


🏄 Заказ работы у нас

PS В комментариях - готовая Таблица с комиссиями и скриптом, можете просто скопировать её :)
Глубокие интеграции с озон / вб, к примеру - автозаказа товаров

Друзья, был у меня один из клиентов по вб (звали его Иван)

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

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

Пишите @namokonov, все расскажу
Please open Telegram to view this post
VIEW IN TELEGRAM
Google Таблицы
Глубокие интеграции с озон / вб, к примеру - автозаказа товаров Друзья, был у меня один из клиентов по вб (звали его Иван) Мы для него сделали решение для автозаказа новых позиций (то есть, мы смотрели что было продано, сколько у нас оставалсь каждый день…
Media is too big
VIEW IN TELEGRAM
ВБ / WB, устанавливаем честный знак телеграм ботом

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

Для этого нужно сделать ряд действий в WB API, достать nmID, по нему достать qrCode и к нему уже привязать честный знак. Но это всё не важно — вся эта кухня работает под капотом, вам об этом думать не нужно.

У нас есть для этого готовый бот и вся обвязка для ВБ API, поэтому кого интересует честные знаки и их отправка – пишите мне, обсудим, сможем сделать для вас подобное решение.

@namokonov
"Заказчики" или история про Андрея Галетку

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

Не отказываются, но и не начинают. Это не клиенты, а вечные «на грани».

Работа с такими — бесконечное ожидание без результата.

На скриншоте — малая часть переписки с неким Андреем Галетко.

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

Зачем они это делают — остаётся загадкой, но мы не будем её разгадывать. У нас и без того хватает настоящих, интересных задач.

🚀 Если вам нужно реальное вашей решение — пишите @namokonov.

PS В комментариях переписка с ним аж с 2020 года
Please open Telegram to view this post
VIEW IN TELEGRAM
Дробим слово (скриптами или формулами)

Друзья, берем слово "инновации"

Вытащите из него три последние буквы, пишите в комментарии варианты.

Можно скрипты, можно формулы, новые варианты награждаются +7 к карме.
Формат личного обучения

Друзья, когда мы набирали последнюю группу, мне в личку пришло несколько вопросов вроде:


"А можно не в группе, а индивидуально, только с вами?"


Я немного подумал — и да, можно!

Более того, это даже удобнее:
— мы сразу стартуем с вашего уровня
— под ваши задачи
— смогу подстроиться под ваш график, заниматься утром или вечером, как вам комфортно.

По стоимости и условиям @namokonov, всё обсудим.
Please open Telegram to view this post
VIEW IN TELEGRAM
Google Таблицы
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Параллельный запрос данных с помощью fetchALL в Google Apps Script

В этом примере мы будем одновременно запрашивать 10 стихотворений с сайта. Используем UrlFetchApp.fetchAll, чтобы ускорить процесс за счёт параллельных запросов.

📹 В видео — подробный разбор скрипта, объяснение каждого шага и демонстрация результата.

💡 Также:
Продолжаю набор на личное обучение по программированию. Заинтересованные уже есть, мест немного, кто действительно хочет – пишите.
Наши ребята, коллеги, друзья — со многими мы общаемся ещё с тех времён, когда был жив мессенджер от Google (давно и благополучно закрывшийся).

Вместе осваивали Telegram, когда он ещё не был в мейнстриме, когда это казалось чем-то экспериментальным и новым.

А вот и каналы, которые выросли из этого опыта:
@gasru — про скрипты от Иванова и Митяйки

@GoogleSheets_ru — про Таблицы и скрипты

@contributor_pw — разработка и автоматизация

@ZiGoomul, @ZiGoomul_GoogleApps, @ZiGoomul_GAS — Таблицы, боты и немножко магии

@GDS_chat — всё про Looker Studio

@BigQuery — когда название говорит само за себя

@STMSol — тоже про Таблицы и скрипты

@MaksymStoianov — авторский канал от Максима

@lemur_excel — канал нашего любимого соавтора Рената, который ведёт его вместе с котом редкой (и продуктивной!) породы

@WorkSmartPartyHard — пока Ренат отдыхает, энергичный Лемур делится лайфхаками продуктивности

👀 И, конечно же, наши:
@google_sheets — канал про Таблицы и скрипты, с вами с 2017 года

@google_spreadsheets_chat — наш уютный чат, велком!
Media is too big
VIEW IN TELEGRAM
Извлекаем все формулы из кода Таблицы! Формулы!

Друзья, Google Таблицы – это на самом деле полноценный веб-сайт, только большой и сложный.

Мы уже показывали, как извлекать из текста страницы все формулы. Давайте повторим:


Откройте любую таблицу Google.

Откройте консоль браузера (нажмите F12).

Вызовите поиск по консоли: на macOS – CMD + OPT + F, на Windows – CTRL + SHIFT + F.

Введите название нужной функции, чтобы найти её в коде.

В моём видео я подробно показывал, как дальше работать с найденным.


Извлечённые формулы собраны в таблицу – хотя половина из них точно не работайте, попробуйте поэкспериментировать.

Пишите в чат, если найдете интересную формулу, про которую никто не знает, кто найдет +10 к карме в чате!
Ссылка на формулы из кода Таблицы, их 606

🎁 Если кто-то найдет, какая формула работает кроме известных и классических – начислим +10 кармы в нашем чате

На картинке формула =DUCKHUNT()
Media is too big
VIEW IN TELEGRAM
Решаем список формул!

У нас есть 606 названий — а значит, 606 потенциальных формул.

Что с ними делать?

Конечно же:

1. Добавить = и ()
2. Вставить всё это в Google Таблицу скриптами
3. Посмотреть, что эти формулы будут выводить на самом деле


📽 В видео я подробно показал, как это работает и что с этим делать.

💡 Личное обучение / кураторство от автора канала
Please open Telegram to view this post
VIEW IN TELEGRAM
6 из 13 уроков второго потока позади!

Друзья, прошли уже 6 из 13 уроков второго потока обучения скриптам на Google Apps Script. Спасибо каждому участнику - именно ваша вовлечённость и интерес делают курс живым и насыщенным!

Покажем лучшие работы наших студентов на канале.

Пока что открыт приём заявок на:
– разработку скриптов (под Ozon, Wildberries, другие API),
– генерацию ответов с помощью скриптов,
– персональное сопровождение (обучение) по интересующим вас темам.

Пишите @namokonov
Media is too big
VIEW IN TELEGRAM
Загружаем в Таблицу все города России

Друзья, подписчики — нашли мы на просторах интернета очень полезную штуку:
🔗 Открытая ссылка без авторизации
А там — весь список городов России! И не просто список, а с координатами, населением, округом и субъектом. Всё как мы любим:

Пример объекта:

{
"coords": {
"lat": "68.96667",
"lon": "33.08333"
},
"district": "Северо-Западный",
"name": "Мурманск",
"population": 270384,
"subject": "Мурманская область"
}


В видео показываю, как этот JSON
– забрать из интернета
— превратить в строки
– вставить все в Таблицу

Код скрипта

🏄 Заказ работы у нас
Книга "Магия таблиц" — третье издание в продаже!

— Более 100 функций с индексом (два языка, где работает — Excel/Google, на каких страницах встречается)
— 1 фотография кота
— Сотни скриншотов
— 50 файлов с примерами
— Издание №3
— Уже более 500 отзывов на разных площадках со средними оценками 4.8-5.0
— 528 страниц

Третье издание уже в продаже:
Озон
WB
Издательство