Работа в Google Таблицах. Кейсы, решения и угар. админы: @namokonov @r_shagabutdinov @IT_sAdmin оглавление: goo.gl/HdS2qn заказ работы: teletype.in/@google_sheets/sheet_happens купить рекламу: https://telega.in/c/google_sheets РКН: clck.ru/3F3u9M
Улучшаем нашего бота, добавляем еще одну команду (а также поясняем за отображение объекта / массива в Logger.log)
Друзья, c помощью Logger.log можно вывести объект превращенный в строку
const obj = { a: 1, b: 2 };
Logger.log(JSON.stringify(obj));
//{"a":1,"b":2}
const obj = { a: 1, b: 2 };
Logger.log(JSON.stringify(obj, 0, 2));
//{
// "a": 1,
// "b": 2
//}
Собираем данные в виде ФИО+телефон по сотрудникам компании в одной ячейке
У вас есть база клиентов и данные о сотрудниках и их контактах. И вы хотите видеть всех сотрудников одной компании в одной ячейке.
Многие в такой ситуации вводят всю информацию в одну ячейку руками, благо можно переходить на следующую строку в ячейке с помощью Alt+Enter.
Но лучший путь - это создать отдельно реестр контактных лиц, где выбирать компанию из выпадающего списка (чтобы не было возможности ошибиться) и вводить в каждой отдельной строке одного человека с его контактами и другими нужными вам полями.
Тогда будет возможность фильтровать такой список, форматировать телефоны, создавать ссылки на адреса эл. почты и иначе взаимодействовать с этими данными.
А собрать и подтянуть данные по всем сотрудникам одной компании всегда можно с помощью QUERY или FILTER. Если нужно отформатировать при этом данные - например, номера телефонов - пригодится функция ТЕКСТ / TEXT.
Файл с примерами
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Самого бота можно попробовать
@google_sheets_bad_jokes_bot
Работает как в личных сообщениях, так и в чатах (только в чатах добавляйте как администратора с правом удалять сообщения)
onEdit(), который поправит косяки за другими
Друзья, бывало ли у вас такое, что вы делали Таблицу, старались, а потом набегают коллеги и быстренько ломают все форматы, выравнивания и тому подобное?
Мы продолжаем тему простых триггеров и показываем, как автоматически это можно решить с помощью скрипта onEdit().
🍉 А еще, в конце видео задание, первые трое верно ответивших получат +15 кармы в нашем чудесном чатике, который почти приблизился к 7000 учатников
Таблица с примером и скриптом
Какую проблему решаем: нерадивые (или слишком нетерпеливые сотрудники) вставляют данные в таблицы так, что ломают форматирование, то есть, формат ячеек, заливку.
Окей, пусть делают что хотят, мы ж напишем просто скрипт, который при открытии Таблицы будет восстановливать форматирование
Функции баз данных позволяют суммировать/усреднять/дисперсировать/минимизировать и т.д. по большому количеству условий, заданных в ячейках
В примере: суммируем все виды Ipad Pro и Ipad Air — в Москве только на основном складе, а во всех остальных городах на любых складах, кроме "Брака"
Первый аргумент функции DSUM — диапазон с данными, второй — заголовок столбца, в котором суммируемые числа, третий — диапазон (массив) с условиями.
И вот сегодня про второй аргумент. Как его можно задать?
1. Как текст — ссылаемся на ячейку с заголовком или вводим прямо в формуле в кавычках
2. Как порядковый номер. Тогда либо указываем его в аргументе (но такая формула слетит при изменении порядка столбцов), либо можем искать номер по слову функцией XMATCH, например, если нас интересует слово "остаток" в заголовке (третий аргумент, равный двойке, включает работу символов подстановки в XMATCH — в старой MATCH они работали по умолчанию, но там нужно явно включить точный поиск, так что там третий аргумент был бы равен нулю):
=DSUM(данные; XMATCH("*Остаток*"; 1:1;2); условия)
Курс по сводным таблицам Google Spreadsheets
Записал для вас курсец по сводным таблицам: от основ (зачем вообще сводные нужны и как построить сводную) до нюансов и деталей (как работают рассчитываемые поля, как правильно извлекать данные из сводной, как подготовить данные для сводной таблицы, в том числе сделать «анпивот» формулами, и многое другое).
Говорим и про визуализацию, и форматирование. Так что у вас будет все необходимое для создания отчетов (в том числе для предварительной подготовки данных).
Курс — это 20 видео с нормальным качеством и звуком, исходными и готовыми таблицами со всеми примерами, которые можно копировать и забирать себе для разбора или в качестве шаблонов.
Доступ к курсу сразу после покупки.
Доступ вечный.
Первые три дня продаж со скидкой — курс будет стоить 2 900 ₽ до 16 апреля включительно. Далее цена вырастет.
Если вам не понравятся уроки, вы поймете, что не узнали вообще ничего нового и/или скажете, что качество видео/звука плохое — я верну вам 100% стоимости курса без вопросов в течение 2 недель после покупки.
Один из уроков мы выкладывали тут.
Подробная программа, скриншоты с примерами и покупка — все по ссылке:
https://shagabutdinov.ru/pivot_google
Защита от копирования или onOpen убиваюший Таблицы :)
Друзья, привет, сегодня у нас веселое пятничное решение, которое может позволить защитить Таблицы от копирования.
При копировании Таблицы (если не менять название файла) в названии будет слово Копия или Copy.
Мы воспользовались этим и написали простой onOpen скрипт, которому не нужна авторизация и который запускается при каждом открытии Таблицы.
Скрипт проверяет, есть ли слово копия (copy) в названии документа и если есть, то обращается к каждому листу, очищает его и вставляет "убивающую Таблицу формулу" на каждый лист в ячейку A1. Повторюсь – этому onOpen авторизация не нужна, он будет запускаться автоматически.
Таблица со злым onOpen (осторожнее 😁)
function onOpen() {
const ss = SpreadsheetApp.getActive();
const name = ss.getName();
if (/копия|сopy/i.test(name)) { //проверяем, есть ли в названии таблиц слово копия
ss.getSheets().forEach(sheet => {
sheet.clearContents();
sheet.getRange("a1").setValue('=SEQUENCE(9^9;9)');
});
};
};
Тренинг “Финансовый директор будущего”.
(Для бухгалтеров, финансистов и финансовых директоров)
🗓15-17 апреля. Формат: онлайн
Программа тренинга
День 1. Как меняется наша профессия и как использовать это в своей работе. Как стать тем самым специалистом, к которому выстраивается очередь?
День 2. Как сочетать технические навыки с soft-skills, чтобы стать тем профессионалом, который приносит пользу бизнесу, а не просто заполняет отчеты?
День 3. Карьерный рост из бухгалтерии в финансы. Как расти внутри компании, выходить на аутсорс или брать проекты параллельно с наймом.
Все, кто участвует:
✅Пройдут тест на определение типа личности. Он позволит понять, как эффективно использовать свои личностные особенности для профессионального роста и развития.
✅Получат доступ к 35 бонусным файлам по темам автоматизации УУ, Google-таблицы финансовый анализ, искусственный интеллект, упаковка финансиста.
Ссылка на участие ➡️https://fin-academy.pro/
❗️Всего 300 бесплатных мест, поэтому пока есть возможность, заходите!
Excel раньше — какие-то таблички для бухгалтеров.
Excel сейчас — личный аналитик и оптимизатор.
Превращайте скучные цифры в полезные отчёты, умные таблицы и дашборды без всякой магии на курсе «Excel: от основ до анализа данных».
Вас ждут:
– Продвинутые формулы.
– Визуализация данных.
– Power Query и Power Pivot.
Всё это под руководством Павла Козлова, гуру Excel с 15-летним стажем. Он научил более 5000 человек укрощать эту программу. Теперь ваша очередь.
Неважно, новичок вы или опытный пользователь, курс поможет вам стать тем самым, кто делает красоту в Excel. Присоединяйтесь к курсу и открывайте новые возможности для своей карьеры – https://netolo.gy
Реклама. ООО "Нетология". ИНН 7726464125 Erid: 2VSb5ww3iNC
Найдите новую карьерную любовь 💘
По новому отчету ВЭФ аналитические навыки — топ-1. Предлагаем вам перейти с аналитикой на «ты» на нашем бесплатном мини-курсе «Аналитика за 6 уроков».
Всего 20 минут в день — и вы поймете, как работает аналитика, а также сможете:
— Развить критическое отношение к данным,
— Решить базовые задачи в Excel, SQL и Python,
— Определить, какое направление аналитики вам подходит.
🎁Также всех участников ждут:
— Сертификат о прохождении курса,
— Розыгрыш курса,
— Скидка 20 000 рублей на курсы по аналитике.
Забирайте бесплатный доступ к курсу до 10 апреля 👉 https://u.to/SSw3Ig
Реклама. ООО "Высшая школа аналитики и стратегии". ИНН 7716917009. Erid 2VtzqukBCsj
Подписывайтесь на телеграм-канал "Финансовый директор" для финансистов, сотрудников ФЭС, экономистов и бухгалтеров!
🔸Полезные материалы, которые можно скачивать и применять в своей работе;
🔸Презентации и подарки от спикеров вебинаров;
🔸Эксклюзивный контент от экспертов по управлению финансами компании, карьерой и личностному росту;
🔸Бесплатные вебинары;
🔸Анонсы конференций и других важных событий;
🔸Кейсы и новые разработки практиков;
🔸Общение со спикерами и коллегами;
🔸Профессиональный юмор;
+ В подарок за подписку сегодня: 30 инструментов, которые должны быть всегда под рукой у финансиста - забирайте в закрепе канала
Подписаться на канал>>>
#реклама
О рекламодателе
Для подписчиков сегодня открыт бесплатный доступ к онлайн-курсу «Power BI для финансиста: от нуля до PRO» в Высшей школе финансового директора.
Cкачайте готовые модели и файлы и повторяйте процесс за автором. По окончании курса - официальное удостоверение о повышении квалификации.
В программе:
🔹Расчеты, вычисления, формулы
🔹Наглядная сквозная аналитика и анализ финансовых показателей
🔹Как превратить 12 отчетов в один
🔹Как быстро рассчитать продажи, прибыль и финансовый результат
🔹Визуализация и разработка дашбордов
Оставьте заявку на бесплатный доступ на 3 дня>>>
#реклама
О рекламодателе
Не тратьте время на обновление данных вручную в Google Sheets!
Если вы каждый день сталкиваетесь с необходимостью обновления данных в таблицах, проверок и исправлений — это отнимает кучу времени.
JetStat помогает автоматизировать этот процесс:
- 60+ коннекторов к рекламным системам (Google Ads, Яндекс.Директ и другие).
- Автоматические обновления данных, забудьте про сбои.
- Экспорт в Google Sheets и гибкость кастомизации отчетов.
Попробуйте JetStat бесплатно и ускорьте работу с данными!
#реклама
ООО «Джет Лабс», ИНН: 7728475027, erid: 2VtzquvTY3S
Присоединяйтесь к бесплатному курсу «Excel: простые шаги для оптимизации работы с данными» и начните использовать инструмент на полную.
Excel создали в 80-х, и это всё ещё самая нужная и мощная программа для работы с таблицами. Освоить основные функции Excel поможет бесплатный курс-симулятор от Нетологии.
Курс подойдёт как новичкам, которые только начинают знакомиться с аналитикой, так и опытным финансистам, маркетологам и менеджерам.
Под руководством эксперта — тренера Microsoft, за 4 занятия вы пройдёте весь путь от подготовки данных до представления результатов:
- познакомитесь с концепцией анализа данных;
- научитесь работать с базовыми инструментами подготовки данных для анализа;
- изучите основные функции Excel, которые помогут автоматизировать расчёты;
- попробуете работу со сводными таблицами.
В качестве практики вы построите наглядный отчёт о продажах, который покажет суммарную и среднюю выручку в разрезе товаров, регионов и городов
Присоединяйтесь — начните оптимизировать вашу работу с помощью Excel
Реклама. ООО "Нетология". ИНН 7726464125 Erid 2VSb5w5mxsJ
Удаляем лишние проекты из нашей Таблицы
Друзья, был у нас клиент, который старался под каждый скрипт в Таблице создать новый проект.
Именно новый проект, а не лист в проекте.
Показываем как избавиться от лишних проектов внутри одной Таблицы / Документы / где вы их еще сможете создать с помощью веб-интерфейса.
В следуюших уроках коснемся работы со скриптами используя script api, удалять / изменять скрипт с помощью скрипта - что может быть прекраснее :)
Бустаните нас немножко, пожалуйста, нужна буквально парочка бустов
t.me/google_sheets?boost
Скоро планируем интересные материалы – вернемся к формулам, а еще покажем вам бота для выбора пришедших на урок / занятие на инлайн-кнопках, с помощью сторис - про них напомним, если пропустите в ленте.
🥷
Бот глупых шуток – видео, в котором показываю, как разверуть бота с нуля
Друзья, сделали с помощью chatgpt телеграм бота, который выводит случайную глупую шутку из 200 предварительно созданных.
Угадайте, какую важную роль выполнял chatgpt? Ну, конечно же, создавал список шуток, с остальным удалось справиться самостоятельно.
В видео я подробно рассказал про
— создание и редактирование бота в @botFather
— как развернуть бота как веб-приложение
– как создать вебхук, в котором мы соединяем токен бота и ссылку на наше веб-приложение;
– и коротко пробежался по небольшому коду
onOpen - Ликвидатор
Используем простой скрипт onOpen (не треюущий авторизации!) удаляем все лишние листы, которые засоряют Таблицу и которые создали нерадивые сотрудники :)
Выпадающие списки нескольких уровней (скрипт, таблица и видео с с пояснениями)
Друзья, поднимаем тему выпадающих список в Google Таблицах
Для меня самая большая загадка, почему в Таблицах не сделали списки как в Excel, через формулу в проверки данных, ну да ладно
Мы показали в этом посте как сделать списки скриптами и кратенько рассказали про достаточно просто скрипт
🏄 (скоро анонсируем обучение) – мы уже 6 лет занимаемся программированием на Google Apps Script и решением бизнес-задач, поэтому нам пришла мысль не держать все в себе и jмы объявляем свой курс на тему программирования, также немножко затроненм телеграм ботов
Устали от бесконечных таблиц и ручной сверки данных?
Для финансовых директоров и бухгалтеров, которые ценят свое время, Софья Бурцева подготовила 5 проверенных инструментов для автоматизации УУ:
1. Практическое руководство «Связки ПО для автоматизации УУ»
2. Руководство: Как свести баланс в 1С:УНФ
3. Чек-лист "10 лайфхаков работы в 1С"
4. Запись закрытого эфира — "Архитектура базы и настройки 1С:УНФ"
5. Разбор 5 самых частых ошибок при автоматизации УУ
Результаты при освоении автоматизации:
✅ Обеспечите прозрачные и надежные данные.
✅ Освободите время для стратегических задач.
✅ Увеличите доверие со стороны собственника к финансовым отчетам.
✅ Ускорите работу, снижая время на рутинные задачи.
✅ Повысите стоимость вашего часа.
Скачать "5 инструментов для автоматизации УУ"
по ссылке ➡️ /channel/findir_pro/1687
Защита от копирования Таблицы 2 (или убиваем скопированную Таблицу с помощью onOpen)
И сразу же усиленная версия, смотрим не на имя Таблицы, а на ID, предварительно сохранив в скрипте ID исходной Таблицы:
const fatherId = '1ZGpm56aWV52x85lOTBI34BZVV-aU0-mXnkL-qC8t7AU';
function onOpen() {
const ss = SpreadsheetApp.getActive();
if (ss.getId() != fatherId) {
ss.getSheets().forEach(sheet => {
sheet.clearContents();
sheet.getRange("a1").setValue('=SEQUENCE(9^9;9)');
});
};
};
ЛЮБИМЫЕ СКРИПТЫ НАШЕГО КАНАЛА
Друзья, посмотрите, вдруг вы пропустили что-нибудь полезное:
— СОБИРАТОР 4.0, интерфейс для сбора других Таблиц →
— 🧞♂️ПРЕВРАЩАТОР Листа Таблицы в xlsx / pdf / csv →
— ОТПРАВЛЯТОР, отправляем ваши отчеты в теле письма по расписанию →
— ОТПРАВЛЯТОР 2, создаём из Таблиц PDF и JPG и рассылаем в Телеграм по заданному расписанию →
— ДОПУСКАТОР 2, убираем из файлов всех пользователей кроме себя и закрываем доступ по ссылке. →
— ЗАМЕНЯТОР, заменяем значения по словарю в выбранных Таблицах →
— ЗАКРЫВАТОР, скрипт автоматического закрытия прошедших дней →
— ДОСТАВАТОР, берём из кода веб-страниц регуляркой нужное →
— Скриптами определяем, когда освободится домен →
— Запускаем скрипт по чекбоксу (работает и из мобильной версии Таблиц) →
— DRIVE COLUMBUS, смотрим на свой Google Диск и управляем им прямо из Таблицы →
— С помощью скрипта даём доступ к другой Таблице, чтобы IMPORTRANGE заработал сразу →
— Защищаем скрипты от редактирования →
— Регулярный бэкап Таблиц в формате XLSX в телеграм! →
— Скрипт. Распознаем текст на изображениях. OCR в Google Docs →
— Скрипт onEdit(), реагирующий на изменения и отправляющий письма (или триггер в триггере) →
Скрипт, загружаем письма вашего GMAIL-аккаунта в Таблицу →
— Важный скрипт. Связанные выпадающие списки из кэша →
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Создаем пакет документов для оформления нового сотрудника прямо из Google Таблицы
Друзья, напоминаем про отличный пост – из Таблицы скриптами формируем несколько Google Документов с договорами исходя из введенных данных.
Простое решение, которое каждый может применить у себя, бесплатно и без оплаты звездами 🙂
Проверяем, был ли у сотрудника хотя бы один 14-дневный отпуск
Интересная задача от участницы практикума "Магия формул", мы решили вынести решение на всех вас :)
Итак, в таблице с сотрудниками единицами отмечены дни отпуска. Надо понять, была ли у сотрудника приятная цепочка в 14 или более таких дней.
Алгоритм такой:
1. Убираем заголовки с месяцами (чтобы остались только дни; нам не нужно считать итог месяца отдельным днем, его надо пропустить) через функцию FILTER. Можно исключать конкретное слово "<>итого" или оставлять только числа ISNUMBER(...) )
2. Далее в полученном массиве идущих подряд дней с помощью SCAN считаем нарастающий итог — число идущих подряд единиц. Если есть единица, прибавляем к накопленному итогу ее, иначе обнуляем счетчик)
3. В результате получаем массив с накопленными днями отпусков — с помощью COUNTIF проверяем, есть ли там хоть одно число от 14 включительно.
4. Напоминаем вам, что логические значения TRUE и FALSE, если они выдаются формулами, можно показывать как флажки.
Вариант для одной строки (на скриншоте в строках с 9-й видно, что возвращает функция SCAN, то есть все, что внутри COUNTIF / СЧЁТЕСЛИ) — массив накопленных значений, в котором мы потом ищем числа от 14.
=COUNTIF(SCAN(0;FILTER(строка с днями сотрудника;строка заголовков<>"итого"); LAMBDA(acc;value;IF(value;acc+value;0)));">=14")<>0
=BYROW(SCAN(;IFNA(HSTACK(;FILTER(D3:NQ7;ISNUMBER(D2:NQ2))));LAMBDA(acc;z;IF(z="";;acc)+z));LAMBDA(zz;IF(MAX(zz)>13;TRUE;FALSE)))
Связанные выпадающие списки на формулах
Вообще-то уже очень давно мы публиковали скрипт для создания связанных списков — вот ссылка.
Но для разнообразия предлагаем также слегка колхозное решение на формулах 🤠Если вы не любите скрипты.
По сути, мы создаем таблицу с таким же количеством строк, как основная. И в ней в каждой строке формируем данные для выпадающего списка нижнего уровня (сотрудники, например), куда отправляем значения исходя из выбранного значения в выпадающем списке верхнего уровня (отдел, например)
Алгоритм:
— Формируем в укромном месте список значений нижнего уровня для каждого выбранного значения в основной таблице. В нашем примере — для каждого выбранного отдела в основной таблице получаем список сотрудников этого отдела (то есть горизонтальный массив значений на каждое выбранное в основной таблице значение верхнего уровня)
Вариант формулы:
=MAP(столбец со значениями первого уровня ;LAMBDA(x; IFNA(ТРАНСП(ИНДЕКС(таблица со списками ;; XMATCH(x;названия списков первого уровня)));"")))
='Вспомогательный лист'!$A2:$Z2 (столбцы можно взять с запасом)
Получаем номер квартала из даты: разные варианты
К сожалению, для вычисления номера квартала функции нет ни в Excel любых версий, ни в Google Таблицах. Обычно номер квартала вычисляют составной формулой, опираясь на номер месяца. Например, такой.
Вариант 1, классический
=ЦЕЛОЕ ((МЕСЯЦ (ячейка с датой) + 2)/3)
ЦЕЛОЕ ((8 + 2)/3) = ЦЕЛОЕ (3,(3)) = 3
=ВЫБОР (МЕСЯЦ (дата);1;1;1;2;2;2;3;3;3;4;4;4)
=ПРОСМОТР (МЕСЯЦ(A4); {1;4;7;10};{1;2;3;4})
Друзья, когда-то мы писали про шутейную формулу, которая позволяет получать число прописью
=REGEXREPLACE(GOOGLETRANSLATE(BAHTTEXT(A1);"th";"ru");"бата?\.|батов \.";"")
=MONEYTEXT("123"; "RUB")
=NUMBERTEXT("help")
Видеоурок для новичков: подготовка данных для сводной таблицы
В этом видео смотрим на типовые ситуации по подготовке данных к своднотаблицостроительству. Новичкам будет полезно и не только в контексте сводных. Темы такие:
— Ошибки, пробелы и Ctrl+H
— Объединенные ячейки, чтоб их
— Нетабличные данные с промежуточными заголовками во всю строку
— Проверка данных
— Объединение таблиц и бесконечный XLOOKUP
Это часть будущего курса по сводным таблицам в Google. Курс еще в процессе, пока предлагаем вам посмотреть этот урок — бесплатно, без регистрации и вэпээн 😎
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Рассылка "Магия таблиц"
Друзья, приглашаю подписаться на мою почтовую рассылку. Письма 1 раз в неделю-две, никакого спама — польза и новости в каждом письме. И немного нетабличной жизни — путешествия, нехудожественные книги.
Совсем скоро подписчикам придет девятый выпуск рассылки! Там про применение F4 в Google Таблицах и Power Point, анонс новой ИИ-функции в Google, быстрое отекстовывание чисел и два варианта "анпивота" в Excel. И жизненное — про важность ритуалов и привычек в хаотичном мире.
Подписаться можно тут:
✉️https://shagabutdinov.ru/#subscription
А пока — вот предыдущие выпуски:
Первый. Новости и немного про графической слой Excel и про срезы — один из типов объектов, живущих на нем.
Второй. Про ссылки на умные таблицы в Google Spreadsheets, линейчатую диаграмму для визуализации план-факта и немного личного — про путешествие на край света🥝.
Третий. Макрос для создания Word’овских документов по шаблону и лайфхаки для навигации по листам Excel. А также книжные итоги года.
Четвертый. Пара новостей об изменениях в Excel, секретный секрет про очень скрытые листы и пара слов про поездку в Оман.
Пятый. про новую функцию УРЕЗДИАПАЗОН, старую добрую функцию ИНДЕКС и про парочку нетабличных статей
Шестой. пачка лайфхаков из новой (для меня) книги Билла Джелена, про запуск нового формата — обучение по подписке и немного стоицизма
Седьмой. Про новые видео по табличным формулам, диаграммно-гистограмные приемы и про крутую книгу о силе оптимизма 😊
Восьмой. Про новую темную тему в Office, лайфхаки для рисования фигур в Excel, проверку данных для создания подсказок, правила путешествий и про самую объемную книгу о беге