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

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

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

РКН: clck.ru/3F3u9M
Download Telegram
Парсим WILDBERRIES из Таблицы: цены* и наличие товара

Недавно на пробежке в лесу (!) я услышал, как человек по телефону рассказывал невидимому собеседнику про то, как торгует на Вайлдберрис. Кажется, онлайн-ретейл с каждым днём всё популярнее, а покупателей и продавцов – всё больше. Мы тоже решили не отставать и внести свою google-табличную лепту, сегодня показываем простой скрипт, с помощью которого вы можете спарсить выбранные страницы с карточками товаров из ВБ и выводить их цену, а если цены нет – что товара нет в продаже. Код маленький и простой, ~20 строк, но они позволяют спарсить много страниц с карточками товаров.

Как работает:
1. копируете таблицу к себе и заполняете столбец A – карточки товаров, которые нужно спарсить
2. снимаете чекбоксы в столбце D
3. дальше скрипт открывает каждую ссылку без чекбокса, забирает код страницы, ищет в нём регуляркой одно из тех мест, где на странице лежит цена, либо кнопка, что товара нет в наличии
4. скрипт вставляет цену, вставляет, есть ли товар в наличии и опускает чекбокс, говоря о том, что строка обработана
5. далее скрипт ищет следующую строку с выключенным чекбоксом и повторяет 1-4 пока не пройдет все строки, либо пока не закончатся выделенные 6 минут, в таком случае скрипт можно запустить еще раз, пока он не пройдет весь список

Таблица с кодом

ДЗ для вас: добавьте другие регулярки, чтобы помимо цены забирать из кода страницы что-то еще – цвета товара, комментарии, оценку, всё, что нужно вам и тоже вставлять это в таблицу. Попробуйте переписать код на fetchall, чтобы обрабатывать не каждую ссылку отдельно, а сразу пачку ссылок, https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app#fetchAll(Object), это должно уменьшить время выполнения скрипта. Отправляйте свой код / таблицы в комментарии, а мы из этого сделаем следующую версию парсера и выложим её на канале.

* цена будет совпадать с той, которую вы увидите в режиме инкогнито
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Парсим WILDBERRIES 2 – 1000 карточек товара за 9 секунд!

Друзья, судя по комментариям к предыдущему посту – тема с парсингом ВБ интересна. Поэтому мы решили далеко не уходить и сразу выпустим вторую версию приложения.

Что добавили / изменили:
Ключевое изменение – алгоритм переписан на UrlFetchApp.fetchAll, метод позволяет обращаться к ссылкам пачками, а не открывать каждую отдельно. Скорость существенно возросла – 1000 ссылок с карточками товаров обработались всего за 9 секунд.

Теперь выгружаются метрики:
– наименование
– стоимость
– валюта
– бренд
– заказы!🔥
– доступно!🔥
– оценка!🔥
– отзывы!🔥
– ссылка на изображение

Как скрипт работает сейчас:
1. вставляете ссылки на карточки товаров на лист "URLS", запускаете скрипт
2. скрипт обрабатывает массив и вставляет метрики товаров на лист "RESULT"
3. на листе "LOG" появится запись: ссылок обработано / из них успешно / длит. в секундах

ПАРСЕР wb от @google_sheets 2

=
📗ОГЛАВЛЕНИЕ КАНАЛА, категории | всё оглавление
☺️ ДОНАТЫ: реквизиты
🔥2👍1
Спарклайн для отслеживания прогресса

Любой бар хорош, даже прогресс-бар. Особенно если пройдено больше половины важного проекта и хочется наблюдать, сколько осталось, дабы вдохновляться на дальнейшую работу.

В Таблицах это можно реализовать с помощью спарклайна. Зададим два аргумента: сколько пройдено и сколько нужно сделать всего, исходя из них рассчитаем, сколько осталось - и будем использовать два числа в спарклайне. А в его параметрах зададим параметр charttype = bar (горизонтальная линия) и два цвета. У спарклайна типа bar по умолчанию будут два разных цвета, если "скормить" ему два числовых значения. так что цвета задавать и не обязательно, но если хотите конкретные - нужно.

Получается конструкция:
=SPARKLINE({Сделано ; План-Сделано} ; {"charttype" \ "bar"  ; "color1" \ "обозначение первого цвета"; "color2" \ "второй цвет"})

Например, если план в ячейке B1, а выполненный объем в B2, и мы хотим зеленый цвет для выполненного и оранжевый для оставшегося:
=SPARKLINE({B2 ; B1-B2} ; {"charttype" \ "bar"  ; "color1" \ "green"; "color2" \ "orange"})

Понятно, что можно использовать прогресс-бар и для дат. Например, посмотреть, сколько прошло и осталось рабочих дней (ЧИСТРАБДНИ / NETWORKDAYS в помощь), сколько осталось до конца года (ДОЛЯГОДА / YEARFRAC) etc.

UPD: по просьбам трудящихся добавили в файл с примером второй лист с формулой, которая будет работать для случаев, когда факт уже больше плана. Берем минимальное значение из двух, модуль разницы, а цвета можно выбирать на свой вкус для каждого из 2 вариантов - недо- и перевыполнение. Это с помощью функции ЕСЛИ / IF прямо в массиве с параметрами спарклайна.

Ссылка на файл с примером (хотя вы можете просто скопировать формулу)
👍2🔥1🤝1
Бонус: как сделать прогресс-бар в Excel (ранее -- через спарклайн в Google Таблицах)

1 Выделяем две ячейки – сколько пройдено и сколько осталось.

2 Строим диаграмму (Alt+F1 или через ленту – "Вставка")

3 Выбираем/меняем тип диаграммы – нам нужна "линейчатая с накоплением"

4 Заходим в настройки горизонтальной оси (выделяем ось, Ctrl+1) и устанавливаем максимум по этой оси = 1

5 Удаляем все границы, оси, названия и прочие элементы диаграммы. Меняем цвета, добавляем подписи данных – это по вкусу.
👍3
ПОЛЕЗНЫЕ СКРИПТЫ от @GOOGLE_SHEETS

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

=
ОТПРАВЛЯТОР (В ТЕЛЕГРАМ-ЧАТЫ) PDF/JPG 2.0
t.me/google_sheets/643
Вы заполняете в Таблице конфиг отправки и получаете скрипт, который по расписанию отправляет диапазоны из ваших Таблиц в формате PDF/JPG в телеграм-чаты.

=
ОТПРАВЛЯТОР (В ТЕЛЕГРАМ-ЧАТЫ) PNG
t.me/google_sheets/604
Первая версия отправлятора – скрипт конвертирует диапазоны в PNG и отправляет в телеграм-чаты.

=
ТЕЛЕГРАМ-БОТ
t.me/google_sheets/556
Разворачиваете всё по инструкции и получаете Телеграм бота, который записывает всё, что ему пишут в Таблицу, а файлы записывает на ваш Google Диск.

=
СОБИРАТОР (ТАБЛИЦ В ДРУГИЕ В ТАБЛИЦЫ) 4
t.me/google_sheets/661
Это Таблица с конфигом для сбора Таблиц через sheets api. Скажем, вы компания, у которой 20 Таблиц региональных представителей и вам нужно регулярно эти 20 Таблиц собирать в одну, что-то фильтруя и что-то добавляя.

=
🧞‍♂️ПРЕВРАЩАТОР ЛИСТА ТАБЛИЦЫ В XLSX / PDF / CSV
t.me/google_sheets/652
— файл мгновенно скачивается
— либо сохраняется на Google Диск

=
ВЫГРУЖАТОР
t.me/google_sheets/635
Создаём в Таблице реестр файлов из выбранной папки, вложенность - учитываем

=
ДОПУСКАТОР 2
t.me/google_sheets/580
Убираем из файлов всех пользователей кроме себя и закрываем доступ по ссылке.

==
ОТПРАВЛЯЕМ СМС ИЗ ТАБЛИЦЫ
t.me/google_sheets/666

=
ПАРСИМ WILDBERRIES ИЗ ТАБЛИЦЫ 2
t.me/google_sheets/686
– 1000 карточек товара за 9 секунд!

===
Канал про Таблицы: @google_sheets
Чат: @google_spreadsheets_chat
Оглавление канала: goo.gl/HdS2qn
2
Сделаем Телеграм-бота для вашего бизнеса (и с ТЗ поможем!)

Друзья, у нас вы можете заказать телеграм-бота. Сложного, простого, полезного.

По ссылке – всё, чтобы вы смогли сориентироваться:
– про нашу команду
– наши последние реализованные проекты
– про стоимость и про этапы
– и куда писать для заказа

https://teletype.in/@google_sheets/bot_ex_machina
👏1
Подборка больших статей и постов по важным темам

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

Магия пользовательских форматов
https://shagabutdinov.ru/custom_format/
Создаем свои форматы - для чисел, дат, номеров телефонов, темпов прироста и не только

Ошибки в формулах
https://teletype.in/@renat_shagabutdinov/fgeGs-67J
Разбираемся, какие типы ошибок бывают, почему возникают - и что делать

Лайфхаки для работы с Google Диском, Документами и Презентациями
https://teletype.in/@renat_shagabutdinov/J0TKzjV7M
Советы для упрощения работы с основными приложениями Google Диска

Загружаем в прайс-лист изображения товаров из поисковой выдачи Яндекс. IMPORTXML + INDEX + IMAGE
https://tttttt.me/google_sheets/367
Формула, которая относит в Яндекс.Картинки название товара из вашей таблицы и приносит из выдачи собственно картинку с этим (ну если повезет) товаром. Формулы работают - люди отдыхают!

Функции баз данных
https://teletype.in/@renat_shagabutdinov/4lVaI_Pj7
Мощнейшая и простая в применении штука, когда у вас расчеты по большому количеству сложных условий

Дата и время в Google Таблицах
https://www.youtube.com/watch?v=Lbj5kh0q5KQ
Это видеоурок (длится недолго - всего-то 0,00898148😉). Разбираем, как отображаются время и даты и обсуждаем функции СЕГОДНЯ, ТДАТА, РАЗНДАТ, РАБДЕНЬ, ЧИСТРАБДНИ, НОМНЕДЕЛИ.

Функции подсчета и суммирования
https://www.youtube.com/watch?v=sqBhegW-JYU
Еще одно видео - по функциям СУММЕСЛИ, СЧЁТЕСЛИ, СРЗНАЧЕСЛИ.

Спарклайны в Google Таблицах. Синтаксис и примеры
https://www.youtube.com/watch?v=ijkGAXCWaKU
Это урок про основы работы со спарклайнами. А вот еще немного магии мини-графиков:

Спарклайн с условием
https://tttttt.me/google_sheets/519

Динамический спарклайн: выбираем период, точку отсчета и цвет спарклайна и максимальной точки (цвет - на русском языке)
https://tttttt.me/google_sheets/528

Спарклайн с расчетом данных прямо в формуле
https://tttttt.me/google_sheets/610

Переключение дэшборда между днями и неделями в Google Таблицах
https://teletype.in/@renat_shagabutdinov/4njaw5-Ce
Чудо-юдо функция SEQUENCE и как с помощью нее создавать заголовки для отчетов
👍2
Мы с вами уже делали прогресс-бар с помощью спарклайна, а теперь сделаем прогресс-круг.

Порядок действий:
- Строим диаграмму на основе двух ячеек с планом и "выполнено" (выделяем ячейки -> Вставка -> Диаграмма)
- Выбираем в редакторе диаграмм тип диаграммы "Кольцевая"
- Настраиваем размер отверстия в % в разделе "Круговая диаграмма" (на скриншоте 50%)
- Ярлык сектора меняем на "Процент"
- В разделе "Легенда" выбираем "Не выбрано" (чтобы убрать выноски)
- В разделе "Сектор" настраиваем цвета по вкусу для обоих частей
- Щелкаем на ярлыки и делаем шрифт покрупнее.

ГИФКА: https://recordit.co/ss61BuuDqb

Как сделать спарклайн, чтобы отслеживать прогресс: t.me/google_sheets/688
👍2
Как мы добавляли лист "про нас" в сто Таблиц

Привет, сегодня рассмотрим конкретную рабочую задачу – мы нарисовали лист "⚡️ ПРО НАС" с нашими ссылками и решили добавить этот лист во все Таблицы с примерами, которые были опубликованы на канале за почти пять лет.

В статье два готовых скрипта и рассказ – teletype.in/@google_sheets/searchNadd

=
p.s. заказать работу у нас: teletype.in/@google_sheets/sheet_happens
👍1
ЭВОТОР + GOOGLE ТАБЛИЦЫ

Коллеги, мы выпустили дополнение для синхронизации онлайн касс "ЭВОТОР" и Google Таблиц (в магазине google, в магазине эвотор).

Майские обновления:

Анализ позиции. Новый лист для анализа позиции: выбираете позицию, видите выручку, количество чеков и что еще есть в этих чеках.
Логируем открытие / закрытие смены кассы. На лист "смены" теперь автоматически загружаются документы по открытию и закрытию смены.
Простой abc-отчёт по выручке. В нём вы сможете увидеть товары, которые дают большую часть вашей выручки


Предложение мая:

Продаём несколько доступов за 10 000 (четыре месяца, независимо от количества терминалов), бонус – создаём с покупателем личный чат с нами и покупатель сможет попросить добавить новый отчёт в свою Таблицу на основе загружаемых данных. Пишите @namokonov
Обращаемся из Таблиц ко внешнему API, для новичков

Разбираемся, как получить ключ, как написать простой GET-запрос, как посмотреть его результат, распарсить и вставить в Таблицу: teletype.in/@google_sheets/simple_api_get
Что чаще вспоминают в чате, рейтинг за 2021 год

Друзья, у нас есть чат (в котором практически 3000 участников), недавно у нас появился рейтинг постов, которые вспоминают в чате чаще всего.

Рейтинг, по убыванию:
1. Прекрасная Таблица с подсказками про QUERY от Павла Мрыкина
t.me/google_sheets/616

2. ВПР, достаём последнее значение по ключу
t.me/google_sheets/558

А здесь – t.me/google_sheets/640 всё, что мы писали про ВПР (в подвале поста).

3. Условное форматирование, выделяем дубликаты и не только
t.me/google_sheets/296

4. СОБИРАТОР 4.0 – скрипт для сбора других Таблиц с большим количеством настроек
t.me/google_sheets/661

5. Простой телеграм бот (получает сообщения в Таблицу, сохраняет файлы на Google Диск и отправляет сообщения из Таблицы)
t.me/google_sheets/556

6. ДВССЫЛ (INDIRECT) в массиве – пользовательская функция
t.me/google_sheets/460

7. Памятка по работе с условиями в формулах FILTER, QUERY, SUMIF
t.me/google_sheets/283

8. Памятка с советами, позволяющими ускорить работу документа.
t.me/google_sheets/4

9. Памятка про ? и *
t.me/google_sheets/254

P. S. За помощь в подготовке поста спасибо Виталию П.
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Несколько функций по одному полю в сводной таблице + перенос значений в строки

Друзья, сегодня хотим напомнить/рассказать про некоторые аспекты в сводных таблицах:
- К одному столбцу можно применять несколько агрегирующих функций;
- Поля в сводной можно переименовать, чтобы безобразие вида "SUM из Остаток, шт." превращать в "Сумма остатков" или что-то еще на человеческом языке;
- Значения (агрегирующие функции) можно переносить в строки.

Все это показываем на гифке:
- создаем сводную, анализируем данные по городам;
- считаем сумму и среднее по остаткам;
- переносим их в строки вместо столбцов;
- переименовываем поля (для этого достаточно прямо в ячейке переименовать поле в одном месте в сводной - оно будет автоматически переименовано везде).

===
Канал про Таблицы: @google_sheets
Чат: @google_spreadsheets_chat
Оглавление канала: goo.gl/HdS2qn
Скрипты для новичков.
Часть 1.

Привет! Открываем серию, в которой будем вам показывать простые приёмы работы с Таблицей скриптами, также будем немного касаться JS (языка, на основе которого написан Google Apps Script, язык, на котором мы пишем скрипты в Google Docs)

Часть 1:
– обращаемся к текущей Таблице
– к выбранному листу
– забираем диапазон заполненных ячеек
– разбираемся, что нам возвращается

teletype.in/@google_sheets/start_gas1
Получаем курсы валют в Google Таблицу

Друзья, сегодня у нас мощнейшая статья от Михаила Смирнова.

Внутри статьи:
1) как получить курсы с помощью GOOGLEFINANCE;
2) как получить курсы Центрального банка РФ, cbr.ru;
3) из НБУ, bank.gov.ua;
4) из НБ РБ, nbrb.by;
5) из XE.com;

Для загрузки используем функции IMPORTXML и IMPORTHTML.

Статья про курсы

⚙️
Наш чат: @google_spreadsheets_chat

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

UPDATE На текущий момент данные ЦБ РФ и Национального банка Республики Беларусь описанным ниже методом получить не удаётся. Предположительно, они закрылись от гугловских IP (с которых идут запросы, когда вы пишите формулы импорта), а, может, и не только от гугловских, но от всего Запада (из России всё доступно).
👍4
УНИКИ стали еще умнее: выводим только уникальные столбцы с помощью UNIQUE

Друзья. а вы заметили, что у функции UNIQUE теперь стало 3 аргумента, а не один?
Теперь можно не только выводить уникальные строки, но и столбцы тоже. А еще дубликаты можно удалять совсем. Давайте по порядку. Синтаксис функции:

=UNIQUE(range; [by_column]; [exactly_once])

Первый аргумент - диапазон, тут все без изменений. Второй и третий – необязательные аргументы, так что старые функции работают как работали.

Но если второй аргумент by_column вы укажете как TRUE (по умолчанию FALSE = удаление дубликатов строк), то UNIQUE выведет только уникальные столбцы, а не строки.

А третий аргумент, равный TRUE, позволяет вообще убрать дублирующиеся строки или столбцы (смотря что во втором) . Иначе говоря: Если в ваших данных были строки, повторяющиеся хотя бы 2 раза, функция UNIQUE с такой настройкой вообще их не выведет в итоге, даже по 1 разу!

Файл с примерами (Создать копию) -- там продемонстрированы разные варианты.
👍2
Скрипты для новичков.

Часть 2.
– обращаемся к массиву (а еще к выбранной строке, к столбцу, к последней строке)
– считаем количество строк в массиве
– фильтруем массив от пустых строк
– находим последнюю строку с данными в выбранном столбце

teletype.in/@google_sheets/start_gas2