Google Таблицы

Работа в Google Таблицах. Кейсы, решения и угар.

контакты:
@namokonov
@r_shagabutdinov
@IT_sAdmin

оглавление: goo.gl/HdS2qn
заказ работы: teletype.in/@google_sheets/sheet_happens
чат: @google_spreadsheets_chat

View in Telegram

Recent Posts

Экзотический прием от Бена Коллинза, но вдруг кому-то пригодится!

Объединяем два заголовка в одной ячейке.
Для этого можно воспользоваться формулой:
Склеиваем два текстовых значения (заголовка), добавляя между ними:
— перенос строки (функция СИМВОЛ/CHAR с кодом 10)
— несколько нижних подчеркиваний, которые мы повторяем с помощью функции ПОВТОР/REPT
— еще один перенос строки

После этого меняем поворот текста, чтобы заголовки были под углом.
Для подписчиков канала сегодня открыт бесплатный доступ к курсу "Excel и Google таблицы в работе финансового директора" в Высшей школе финансового директора. По окончании курса - официальное удостоверение о повышении квалификации!

В курсе вы научитесь: 
🔸 Консолидировать данные разными способами в Excel и Google таблицах;
🔸 Использовать инструменты для построения моделей сценарного анализа;
🔸 Быстро форматировать данные для отчетов;
🔸 Объединять данные из разных источников;
🔸 Автоматизировать работу с отчетностью, бюджетами и их анализом;
🔸 Сделать из бюджета интерактивную финмодель;

Скачайте Excel-модель для тренировки и используйте ее в своей работе!

Заказать бесплайтный доступ к курсу на 3 дня>>>

#реклама
О рекламодателе
Пост от нашего читателя Алексея, передаем слово автору:

Сегодня случайно увидел у Бена Коллинса пост, решил попробовать сделать.
Получилось вроде не хуже 🙂
Может будет актуально после предыдущего поста про множественный выбор.

Описание такое же простое, как сама формула 🙂

ArrayFormula(SPLIT(C:C; ", "; ))

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

TOCOL(... ; 3)

Преобразуем двумерный массив (полученный после SPLIT) в один столбец, игнорируя пустые значения и ошибки.

С помощью хорошо знакомой всем QUERY считаем наши фрукты.
Автоматизация отчетов для торгующих на Вайлдберриз и Озон

К нам часто обращаются селлеры для автоматизации их задач на маркетплейсах.

Что обычно нужно селлеру?
- Понять, сколько он заработал из недельного отчета от ВБ
- Знать, сколько у него остатков товаров и надолго ли их хватит - не будет ли 0 остатка
- Знать, какие товары приносят прибыль, а какие ее наоборот сливают
- Понять, результаты по рекламе на ВБ и Озон - в плюс она вообще или в минус

Что делает селлер или финансист:
1. Берет нашу таблицу по реализациям ВБ, или по Озон, таблицу по рекламе ВБ.
2. Через IMPORTRANGE сводит данные оттуда в другую таблицу, чтобы все было в одном месте.
3. Используя QUERY, INDEX+MATCH, SUMIFS, COUNTIFS агрегирует данные, чтобы понимать общие цифры по кабинету
4. Разбирается с форматами и условным форматированием, чтобы это выглядело хоть как-то понятно.

А потом ВБ что-то поменял, данных стало чуть больше или меньше, возникают сомнения что цифры в таблицах вообще что-то значат.
Да и время тратится на ковыряние в формулах, скриптах, чувствуешь себя на паре по экселю, а не предпринимателем или финансистом, знакомо такое?

При этом есть готовые решения, одно из которых мы рекомендуем как минимум посмотреть.

Андрей Яценко еще в 2021 году сделал первую гугл таблицу, которая автоматизирует учет на ВБ.
За 3 года уже 1 366 внедрений, команда выросла до 35 человек, оборот селлеров, который обрабатывают таблицы - 23 млрд. рублей за 23 год.

Для ВБ и Озон:
⁃ Отчет о прибылях и убытках с загрузкой данных по API
⁃ Учет себестоимости по партиям
⁃ ABC-XYZ анализ с 50 разными показателями
⁃ Отчет о продажах по регионам
⁃ Отчет по рекламе
⁃ Планирование поставок исходя из скорости заказов и продаж
⁃ План/Факт на месяц, неделю, день
⁃ и еще с десяток отчетов

Да, это коммерческий проект и решение стоит денег.

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

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

Если для вас маркетплейсы - это бизнес, то посмотрите канал Андрея «Финансы на маркетплейсах» и запишитесь на бесплатную встречу, чтобы посмотреть его Продукт.

👉Открыть канал «Финансы на маркетплейсах» и посмотреть решение по автоматизации отчетов ВБ и Озон
Поиск и окно "Найти и заменить" в Excel и Google Таблицах

Казалось бы, все просто — нажимай Ctrl+F да ищи, нажимай Ctrl+H да заменяй/удаляй.
Но есть приятные опции:
— Можно искать/заменять в диапазоне/на листе/на всех листах
— Можно искать/заменять с учетом регистра
— В Google Таблицах в окне "Найти и заменить" можно использовать регулярные выражения (смотрите примеры в статье: можно поменять формат дат на другие или сделать еще какую-нибудь магию), а в Excel символы подстановки
— В Google Таблицах можно искать по ссылкам (а в обоих редакторах — по формулам);
— В Excel можно менять формат ячеек — достаточно выбрать образец для поиска и образец для замены.
Небольшой пост от нашего админа Михаила:

Мы тут вам подготовили табличку с примером, как можно перевести одни символы в другие. Например сделать транслитерацию.

У примера есть и практическая польза – можете проверить написание своих имени и фамилии в загранпаспорте и понять, надо ли бежать исправлять.

Таблица тут.
Сортируем "внутри" текста

Дано: есть текстовая строка с именами/названиями и числами.
Надо: отсортировать и снова получить текстовую строку.

То есть из "Бусинка 37, Лемур 22, Штрудель 75" сделать "Штрудель 75, Бусинка 37, Лемур 22"

Формула:

=JOIN(", ";BYROW(sort(WRAPROWS(SPLIT(A1;", ");2);2;0);LAMBDA(x;JOIN(" ";x))))


Сначала разделяем на отдельные значения — и числа, и имена (SPLIT по пробелу и запятой).
Потом делаем двумерным диапазоном (таблицей) с помощью WRAPROWS и сортируем по столбцу с числами (SORT).
Объединяем с помощью JOIN — сначала в пределах каждой строки (BYROW) имя и число через пробел, а потом эти значения уже в один текст через запятую еще одним верхним JOIN'ом.
Что у нас есть для работы с маркетплейсами, бесплатно, без смс и помесячных оплат, дорогие продавцы:

1. WB, загружаем отчет по реализации и остатки FBO t.me/google_sheets/1143

2. WB, загружаем расходы в Таблицу по рекламе ВБ t.me/google_sheets/1460

3. WB, загружаем топ-100 товаров по запросу t.me/google_sheets/1116

4. WB загружаем характеристики и описание товаров из ВБ t.me/google_sheets/1404

5. WB Достаём ссылки на фотографии товара из карточки WB t.me/google_sheets/992

6. WB, формируем ссылки на изображения товара t.me/google_sheets/1310

7. API OZON ИЗ GOOGLE ТАБЛИЦЫ t.me/google_sheets/583

📌📌А хотите любую другую автоматизацию по ВБ / ОЗОН / Яндекс Маркет - напишите в нашего бота @vas_mnogo_a_ya_bot
Делаем кнопку группировки более наглядной

вот такой лайфхак от одного из подписчиков Бена Коллинза.

Функция SUBTOTAL / ПРОМЕЖУТОЧНЫЕ.ИТОГИ (про нее подробнее тут) агрегирует только видимые ячейки.
Соответственно, мы можем проверять, раскрыта ли ячейка строкой ниже — если применим функцию COUNTA / СЧЁТЗ, то есть подсчет любых значений. В SUBTOTAL это функция номер 3 (номер функции в первом аргументе).

И если строка скрыта, то функция вернет 0. Тогда можно выдать текст в духе "Подробнее" или "Раскрыть". Если не 0 — значит, строка ниже видима, выдаем другую надпись ("Скрыть").

=IF( SUBTOTAL (103;ячейка)=0; "⬇️Подробнее" ; "⬆️Скрыть")
ИЗБРАННЫЕ СКРИПТЫ НАШЕГО КАНАЛА

Посмотрите, вдруг вы пропустили что-нибудь сочное:

— СОБИРАТОР 4.0, интерфейс для сбора других Таблиц →

🧞‍♂️ПРЕВРАЩАТОР Листа Таблицы в xlsx / pdf / csv →

— ОТПРАВЛЯТОР, отправляем ваши отчеты в теле письма по расписанию →

— ОТПРАВЛЯТОР 2, создаём из Таблиц PDF и JPG и рассылаем в Телеграм по заданному расписанию →

— ДОПУСКАТОР 2, убираем из файлов всех пользователей кроме себя и закрываем доступ по ссылке. →

— ЗАМЕНЯТОР, заменяем значения по словарю в выбранных Таблицах →

— ЗАКРЫВАТОР, скрипт автоматического закрытия прошедших дней →

— ДОСТАВАТОР, берём из кода веб-страниц регуляркой нужное →

— Скриптами определяем, когда освободится домен →

— Запускаем скрипт по чекбоксу (работает и из мобильной версии Таблиц) →

— DRIVE COLUMBUS, смотрим на свой Google Диск и управляем им прямо из Таблицы →

— С помощью скрипта даём доступ к другой Таблице, чтобы IMPORTRANGE заработал сразу →

— Защищаем скрипты от редактирования →

— Регулярный бэкап Таблиц в формате XLSX в телеграм! →

— Скрипт. Распознаем текст на изображениях. OCR в Google Docs →

— Скрипт onEdit(), реагирующий на изменения и отправляющий письма (или триггер в триггере) →
Скрипт, загружаем письма вашего GMAIL-аккаунта в Таблицу →

— Важный скрипт. Связанные выпадающие списки из кэша →

🏄Заказ у нас@vas_mnogo_a_ya_bot
INDIRECT / ДВССЫЛ — функция, которая делает текст ссылкой на диапазон

=A1 — это ссылка на ячейку A1
="A1" — это текстовая строка из двух символов, буквы A и единицы
=INDIRECT("A1") — это ссылка на ячейку A1 (причем даже если вы удалите строку 1, это будет ссылка на A1, только теперь это будет другая ячейка; а обычная ссылка =A1 превратится в ошибку в таком случае)
=INDIRECT(A1) — ссылка на диапазон/ячейку, адрес которого(-ой) находится в ячейке A1 🤯

*

Для чего это нужно? Ну, помимо ссылки, которая не слетит никогда (даже при удалении строк):

1 Вы собираете ссылку из нескольких кусочков. Например, название листа берете из столбца или в результате проверки какого-то условия функцией IF / ЕСЛИ. В результате склейки (конкатенации) на выходе уже текст, а не ссылка. ДВССЫЛ превратит текст в ссылку.
Пример (поиск на разных листах)
И более лютый пример (формула, которая ищет при разной структуре листов)

2 Вам нужно ссылаться в условном форматировании на другой лист. Напрямую не получится, а через ДВССЫЛ можно (а в Excel еще пригодится для ссылки на умные таблицы в проверке данных)
Пример

3 Вы формируете ссылку на динамический диапазон — по параметрам. Например, берете строку начала и конца из ячеек:
=INDIRECT("A" & ячейка с номером первой строки & ":A"
& ячейка с номером последней строки)

Такая замена OFFSET для формировании динамической ссылки на диапазон.
Декартово произведение (все возможные комбинации фраз) формулой

Забираем первый список слов (фраз) функцией TOCOL (второй аргумент = 1 исключает пустые значения)
TOCOL(A:A; 1)


Из второго списка тоже забираем все без пустых и вдобавок транспонируем (делаем строкой) — функция TOROW:
TOROW(B:B; 1)


Добавляем между ними пробел и склеиваем:
TOCOL(A:A; 1)& " " &TOROW(B:B; 1)


Результатом этого шага станет двумерный диапазон с нужными значениями. Останется превратить его в список (TOCOL или FLATTEN) и применить ArrayFormula или INDEX сверху, чтобы получить не одно значение, а весь массив:

=ArrayFormula(FLATTEN(TOCOL(A:A; 1)& " " &TOROW(B:B; 1)))
Давненько мы про производственный календарь не говорили

Есть прекраснейший сайт http://xmlcalendar.ru/ — спасибо его создателям — с производственным календарем за разные годы и в разных форматах. XML, TXT, CSV и другие.
Ссылки каждый год отличаются только на номер года.
А значит, можно загружать данные в таблицы.

Например, в формате TXT список всех выходных и праздничных дней года. Ссылка для 2024 года такая:
http://xmlcalendar.ru/data/ru/2024/calendar.txt

Соответственно, можно получить список для текущего года в Google Таблицах следующей формулой:
=IMPORTDATA("http://xmlcalendar.ru/data/ru/" & YEAR(TODAY()) & "/calendar.txt")


Но есть еще такое неприятное явление, как рабочие выходные дни (СБ-ВС).
Например, в 2024 году это 27 апреля и 28 декабря.
Как получить список таких дат?

В XML формате календарь есть тип дня t — единица для выходных, 2 для сокращенных рабочих, 3 — то, что нам нужно (рабочий день в СБ / ВС).
Можно получить этот список такой формулой (спасибо Михаилу Смирнову за более лаконичный вариант в комментариях):
=IMPORTXML("http://xmlcalendar.ru/data/ru/" & YEAR(TODAY())  & "/calendar.xml"; "//day[@t = 3]/@d")

Соответственно, если нужны праздники, то t = 1, если сокращенные рабочие, то t = 2.

Правда, формат дат в XML календаре такой: MM.DD (04.27). Таблицы его не поймут, даже если применить ДАТАЗНАЧ / DATEVALUE.

Поэтому сначала придется поменять день и месяц местами (можно с помощью REGEXREPLACE), а потом добавить DATEVALUE:
=ArrayFormula(DATEVALUE(REGEXREPLACE(IMPORTXML("http://xmlcalendar.ru/data/ru/" &YEAR(TODAY())  & "/calendar.xml"; "//day[@t = 3]/@d");"(d{2}).(d{2})";"$2.$1")))
Если у вас проблемы с ютубом: перезалили несколько видео на Kinescope. Учитесь на здоровье!

Пользовательские числовые форматы в Google Таблицах:
https://kinescope.io/n8ohYBpQ3w3gufd8Ab4owc

Умные таблицы в Google Spreadsheets:
https://kinescope.io/navBqmzZt1UBqUCgBgxGjx

Видео про относительные и абсолютные ссылки. В интерфейсе Excel, но актуально для всех, кто только начинает работать с формулами и хочет окончательно разобраться со ссылками и долларами:
https://kinescope.io/9tPfY1ZSxa1NFXoTRoqeU2
Выбор нескольких значений в выпадающих списках

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

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

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

Чтобы включить опцию, нужно в боковой панели проверки данных включить флажок "Разрешить выбор нескольких объектов" (Allow multiple selections).
Отчет по реализации WB заработал

1) Таблица, с отчетом по реализации ВБ и остатками ФБО t.me/google_sheets/1143

2) Загружаем расходы в Таблицу по рекламе ВБ, API t.me/google_sheets/1460

3) Пост "в поисках идеального дашборда для маркетплейсов" с интересными комментариями t.me/google_sheets/1475

4) WB, достаём топ-100 товаров по запросу t.me/google_sheets/1116

5) Таблица для расчета себестоимости на KazanExpress t.me/google_sheets/1199

6) Достаём характеристики и описание товаров из ВБ, Таблица со скриптом t.me/google_sheets/1404

🏄 Заказ у нас @vas_mnogo_a_ya_bot
Обновили Таблицу загрузки отправлений из OZON.

Теперь данные выгружаются даже если API возвращает больше 1000 строк.

Спасибо нашему подписчику за наводку 🏄‍♂️
ОЗОН, Список отправлений FBO | @google_sheets

Друзья, выкладываем Таблицу со скриптом, с помощью которой можно выгрузить список отправлений FBO из API маркетплейса OZON.

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

Страничка из описания API OZON про этот метод.


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

1) делаем копию Таблицы
2) идем в личный кабинет OZON и получаем client_id и client_secret, открываем свою копию Таблицы, редактор скриптов и вставляем эти аргументы на лист main
3) далее в Таблице выбираем диапазон, за который нужны отправления, жмакаем кнопку и получаем список на лист
4) кстати, данные вставляются с помощью sheets api, поэтому, если будете копировать просто код - не забывайте включить эту службу в сервисах


⭐️ У нас много наработок для OZON / WB / Яндекс Маркет, поэтому, нужна любая автоматизация - напишите в нашего бота, а мы к вам оперативно вернемся

PS И не могу не порекомендовать пост от моей знакомой "про кайф от работы и почему мы не работаем с м*даками" Подписывайтесь на custдевицу.
СОБИРАТОР 4.0


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



Про что это вообще?
Как-то к нам пришел Дима @IT_sAdmin и сказал – ребята, помогите! Мне очень нужно регулярно брать данные из больших Таблиц, фильтровать, а потом копировать результат в другие Таблицы, других Таблиц будет много (сотни их). Нужно, чтобы был интерфейс и всем этим волшебством можно было управлять из него.

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


В прошлом году мы выпустили свой СОБИРАТОР – интерфейс для сбора других Таблиц через sheets api (самый быстрый скриптовый способ).

Задаёте правила сбора Таблиц в другие Таблицы и собираете, к примеру, 50 Таблиц ваших продавцов в одну сводную Таблицу и 30 Таблиц в другую сводную Таблицу, на лету фильтруя и оставляя только нужные столбцы.

Сегодня выпускаем обновление:
— теперь можно указать частоту загрузки каждой таблицы в минутах;
— можно выбрать тип копирования данных (formula / formatted_value / unformatted_value);
— решена проблема с добавлением новых данных: раньше они (иногда) вставлялись со сдвигом;

Главное:
Решение стало полностью автоматическим – теперь один раз заполняете конфиг сбора, выставляете частоту обновления в минутах, ставите скрипт в расписание и вуаля – данные собираются регулярно и уже без вашего участия.

СОБИРАТОР

ИНСТРУКЦИЯ

=
🔥НАШ КУРС НА SKILLBOX: Таблицы и GAS, Excel и VBA
📗ОГЛАВЛЕНИЕ КАНАЛА, категории | всё оглавление
⭐️Заказ работы у нас
See more posts

View in Telegram