Google Таблицы
61.8K subscribers
600 photos
211 videos
8 files
983 links
С 2017 года приручаем Google Таблицы и Google Apps Script.
Формулы и скрипты, которые работают, а не "почти".

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

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

Оглавление: goo.gl/HdS2qn
РКН: clck.ru/3F3u9M
Download Telegram
Комбинированная диаграмма: показываем, где мы находимся на фоне распределения всех

Данные для этой диаграммы — результаты марафонцев и марафонесс в Москве в 2024 году (протокол с сайта организатора).

Как обрабатываем данные для диаграммы?
С помощью функции ЧАСТОТА/FREQUENCY получаем распределение по интервалам.

С помощью функции ТЕКСТ / TEXT делаем заголовки вида "До 05:00":
="До "&ТЕКСТ(H2;"hh:MM")

Функцией ЕСЛИ / IF проверяем, в какой интервал попадает наш результат — и для нужного интервала оставляем его значение, а для остальных — ошибку N/A с помощью одноименной функции НД / NA. Таким образом, будут данные для ряда на диаграмме, состоящие из одного значения, чтобы подсвечивать наш результат, и остальных значений N/A, которые не будут отображаться.

=ЕСЛИ(И(наш результат>граница интервала;наш результат<=граница след интервала);ЕСЛИ(наш пол="Женщины";число женщин в этом интервале;число мужчин);НД())

Как строим такую диаграмму?
Это комбинированная диаграмма. Распределение результатов (два ряда: женщины и мужчины) — это области. А ряд с нашим результатом — это столбик (гистограмма).

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

📗 Канал и Чат
📕 Оглавление канала
👍8🍓32
This media is not supported in your browser
VIEW IN TELEGRAM
Храним данные в Properties и обращаемся к ним
Аналог функции ВПР через скрипты!

Друзья, Properties Service — это специальное хранилище данных в Apps Script.

Туда можно:
* положить данные
* обратиться к ним позже
* удалить их при необходимости

Есть Properties:
* пользователя
* скрипта
* таблицы

Все данные там хранятся в формате ключ → значение.

Подробнее про службу можно почитать здесь:
https://developers.google.com/apps-script/guides/properties?hl=ru

Сегодня у нас отличный пример того, как можно работать с этой службой. Это скрипт от @vitalich.

Что происходит в скрипте:

1. В первой функции Виталич берёт лист Таблицы, создаёт из него словарь и сохраняет его в Properties.

2. Затем при выборе значения в выпадающем списке срабатывает триггер onEdit(). Он обращается к словарю, находит выбранный ключ и выводит два соответствующих ему значения в соседние ячейки редактируемой строки.

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

Спасибо за все, @vitalich 🤝

>> Таблица со скриптом
9👍7🔥7🍓3
Регулярные выражения — компактная памятка от @vitalich

В Таблицах можно использовать регулярные выражения
1) для проверки строки на соответствие выражению (функция REGEXMATCH)
2) для замены части строки на другой текст (REGEXREPLACE)
3) для извлечения строки, которая соответствует регулярному выражению (REGEXEXTRACT)

Для Таблиц в регулярках достаточно знать (или самые часто используемые части RE2):
Классы символов: . \d \D \s \S \w \W \b \B (для \w нужно понимать, что не во всех средах будут матчится не-латинские буквы)
Пробельные спецсимволы: \n \r \t
Границы ^ $
Выбор или-или |
Выбор из набора [ ] и выбор всего, кроме символов из набора [^ ]
Квантификаторы жадные ( * + {n} {n,m} {n,} ) и как управлять их "жадностью" (*? +? {n,m}? {n,}?)
Извлекаемые группы ( )
Неизвелекаемые группы (?: )

Для отладки табличных выражений на regex101 слева надо включать Golang

Таблица с большим количеством примеров

PS 🙋‍♂️ Делитесь в комментариях тем, что помогает вам.
4👍2🍓2
Выделяем строки с топ-N значений в каком-то столбце

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

=ссылка на первую ячейку в столбце с проверяемыми числами >= LARGE(столбец с числами; число первых N значений)


Функция LARGE / НАИБОЛЬШИЙ вычислит N-ное значение в диапазоне. Например, если вторым аргументом мы ей дадим 5 (в самой формуле или в ячейке, чтобы проще было менять это число потом), то она вернет пятое по порядку значение из столбца с числами. И мы выделим все строки, в которых числа в нужном столбце будут больше этого значения (включительно).

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

Или, в нашем примере:
=$F2>=LARGE($F$2:$F;$J$1)


В столбце F числа, по которым мы выделяем самые крупные сделки, в J1 число (сколько крупнейших строк выделяем).

Ссылка на таблицу с примером
🔥95🍓3
Таблица тормозит? Открывается 10 секунд и всё виснет?
Вот 8 способов ускорить её в разы 👇

1) Слишком много вкладок = тормоза

Объединяйте мелкие таблицы в одну;

2) Удалите неиспользуемые строки на каждой вкладке

По умолчанию создается 1000 строк - если у вас на вкладке сейчас используется 200, удалите лишние 800, а при необходимости добавите нужное кол-во и столбцы (аналогично). Для этого можно пользоваться надстройкой (вроде) Crop Sheet - а можно и сделать это вручную;

3) Осторожней с ресурсоемкими формулами

VLOOKUP по 10k строк × 12 месяцев = смерть таблицы
Если есть формулы поиска данных (ВПР/VLOOKUP, ИНДЕКС/INDEX, ПОИСКПОЗ/MATCH и другие, сохраняйте часть формул как значения (если не нужно будет эти значения обновлять). Например, если у вас подтягиваются данные за много месяцев с помощью VLOOKUP - оставляйте текущий месяц формулами, а остальные данные сохраните как значения;

🎨 4. Меньше форматирования
Особенно условного!!!

Проверяйте:
- не применено ли форматирование ко всей колонке
- нет ли лишней заливки
- не охватывает ли правило УФ тысячи пустых ячеек

🔎 5. Фильтры - точечно

Не стоит включать их “на всякий случай” для всех столбцов.
Только там, где реально работаете с данными.

💬 6. Почистите комментарии

Большое количество комментариев и примечаний может замедлять файл.
Оставьте только актуальное.

📋 7. Проверка данных под контролем

Data validation / проверка данных на огромных диапазонах = лишняя нагрузка.
Сузьте диапазоны до нужных.

🤖 8. Автоматизация IMPORTRANGE и формул

Если без тяжёлых формул никак (например, IMPORTRANGE из 10+ файлов):

Решение - скрипт:
→ вставляет формулы
→ сразу превращает их в значения

Можно запускать по расписанию (например, раз в 2 часа) — и таблица остаётся быстрой 🚀

---

💡 Итог:
Чем меньше “лишней работы” делает таблица в фоне - тем быстрее она работает и тем меньше тратит ваши нервы.
👍20🔥85🍓3
бот в MAX = реально. И он уже работает.

Что важно:
- регистрация чуть сложнее (нужно юрлицо)
- дальше обычный API, без магии

С понедельника для членов клуба показываем серию видео (это тема мая):

^ как перенести бота из Telegram в MAX
^ как запустить его в работу
^ как его связать с Google Таблицами

Если вы уже в годовой программе
это только начало :)

И конечно будет много практики, которую можно сразу применять в работе 🔥

Про наш клуб: sheetshappens.net

Любые вопросы: @namokonov
🍓7👍65🔥2
Как с нуля внедрить нейросети в работу финансиста и бухгалтера?

Коллеги, представьте: рутина больше не отнимает ваше время и вы сосредотачиваетесь на стратегических задачах🙌🏻

Сейчас, когда все только говорят об ИИ, самое время начать внедрять их в свою работу. И мы готовы помочь вам сделать этот шаг ⬇️

Сохраняйте гайд "как с нуля внедрить нейросети в работу".

Что мы разобрали в гайде?
– Создание аккаунта для работы с ИИ
– Правила написания промтов для получения точных результатов
– Готовые примеры: как составить договор, ответить на требования налоговой, нормализовать ОСВ сч. 60
– Транскрибация аудио и видео встреч
– Как проводить глубинные исследования: анализ рынка, конкурентов
– Выбор банка для РКО
– Расчет налоговой нагрузки

Один файл, который упростит и ускорит работу бухгалтера и финансиста в любой компании.

📎Скачать гайд
5🔥5🍓3👍1
Убираем пустые ячейки из столбца / диапазона элегантно

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

Нужно убрать пустые ячейки из диапазона и превратить его в строку или в столбец?

На помощь придут новые функции:

=torow(диапазон; 1)
=tocol(диапазон; 1)


Поэтому теперь вам необязательно использовать конструкцию вида

=filter(диапазон; один столбец из диапазона <>"")

Всё можно сделать проще :)

Привыкайте к функциям 2023 и используйте!
👍187🔥7🍓2
🔥 Таск-менеджер в Google Таблицах

Друзья, подготовили для вас Таблицу с совсем небольшим кодом, которая превращает Google Sheets в простой таск-менеджер 👀

Как это работает:

1. Есть лист «Задачи», где вы:
^ выбираете ответственного сотрудника
^ указываете дату и срок выполнения
^ описываете саму задачу

2. Есть второй лист - справочник сотрудников, где имя связано с e-mail

Дальше все просто:
Вы добавляете задачи, нажимаете кнопку - и сотрудникам автоматически отправляются письма только по тем задачам, которые еще не были отправлены (где пустая дата отправки).

Ну а дальше сотрудник получает письмо с задачей и идет срочно работать 😄

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

🔥 И еще новость:
Мы наконец запустили сайт нашего клуба обучения:

http://namokonov.com/

Сейчас главная тема внутри клуба - создание ботов в МАКСе, дальше пойдем в сторону ИИ-агентов:
^ будем создавать их
^ подключать к ботам в МАКСе
^ интегрировать с Telegram
^ автоматизировать рабочие процессы

В честь запуска сайта на новом домене делаем скидку 10%.

Для скидки напишите:
@namokonov
110🔥3🍓3👍2
5 ФАТАЛЬНЫХ ОШИБОК В ГРАФИКАХ, КОТОРЫЕ ПОДРЫВАЮТ ДОВЕРИЕ К ВАШЕМУ АНАЛИЗУ

Забирайте гайд с разбором основных ошибок в канале Сделай это красиво. Автор — Алексей Смагин, дата-журналист и аналитик Яндекса.

ГАЙД ПОДОЙДЁТ:

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

Умение анализировать — это круто. Но заказчики не видят вашу работу, они видят итоговые выводы. А от их оформления зависит, оценят ли результат.

Научиться делать графики — это быстро и легко. Достаточно исключить базовые ошибки — и ваша инфографика сразу будет выглядеть профессиональнее.

Подписывайтесь и забирайте гайд в закрепе: @perfectgraphs

#реклама
4🔥2🍓2
Друзья, нас все еще много в онлайне, слухи о смерти Telegram были преувеличены :)

Хотите задачку?

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

Отправляйте варианты в комментарии, решить можно и через drive app, drive api.
1🔥14🍓2
Media is too big
VIEW IN TELEGRAM
🚀 Запускаем своё первое doGet-приложение в Google Таблицах

Хотите, чтобы ваши скрипты выполнялись по одной ссылке?
Это реально! Мы покажем, как за пару минут развернуть простое веб-приложение прямо в Google Таблицах.

🔥 Что это за приложение?
doGet-приложение запускает функцию, имя которой вы укажете в ссылке (?func=).
Например:

• ?func=clear — очистить таблицу,
• ?func=color — закрасить её случайными цветами.

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

💡 Зачем это нужно?
• Вы даёте коллегам только ссылку — без раскрытия кода.
• Приложение запускается от вашего аккаунта.
• Можно подключить сколько угодно функций и запускать их прямо из браузера.

Пример кода
В примере всего две функции:
color() — заполняет каждый лист в таблице (массив 20×20) случайными цветами.
clear() — очищает все листы в таблице.


function doGet(e) {
const funcName = e.parameters['func'];
console.log(funcName);
this[funcName]();
}

function clear() {
const ss = SpreadsheetApp.getActive();
const sheets = ss.getSheets();
for (let sh of sheets) {
sh.clear();
}
SpreadsheetApp.flush();
}

function color() {
const ss = SpreadsheetApp.getActive();
const sheets = ss.getSheets();

for (let sh of sheets) {
let arr = [];
for (let i = 0; i < 20; i++) {
arr[i] = [];
for (let j = 0; j < 20; j++) {
arr[i][j] = basicColors[getRandomInt(0, basicColors.length - 1)];
}
}
sh.getRange(1, 1, arr.length, arr[0].length).setBackgrounds(arr);
}
SpreadsheetApp.flush();
}

const basicColors = [
"#FF0000", // красный
"#00FF00", // зелёный
"#0000FF", // синий
"#FFFF00", // жёлтый
"#FFA500", // оранжевый
"#800080", // фиолетовый
"#00FFFF", // бирюзовый
"#FFC0CB", // розовый
"#A52A2A", // коричневый
"#FFFFFF", // белый
"#000000" // чёрный
];

function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}


🚀 Как это работает
• [ссылка веб-приложения]?func=clear → моментальная очистка.
• [ссылка веб-приложения]?func=color → мгновенная заливка таблицы цветами.

Названия функций можно менять. Добавьте свои — и запускайте любое количество скриптов через ?func=.

📺 В видео показано, как развернуть приложение и получить на него ссылку.

🔥 На интенсиве мы разберём такие приёмы подробно и соберём рабочие проекты прямо на ваших глазах.
t.me/google_sheets/1860
🔥7👍54🍓2
👩‍💻 Практический эфир для всех, кому важно научиться выстраивать Управленческий учет с нуля!

ОДДС, ОПиУ, Баланс - для многих просто набор отчётов. Но именно они дают понимание, куда утекают деньги, почему прибыль «не бьётся» и что реально происходит в бизнесе.

🗓 2 июня в 19:00 МСК проведём эфир: «Управленческий учёт для начинающих: ОДДС, ОПиУ, Баланс + методология отчётов»

Эфир проведёт Софья Бурцева - создатель самого крупного сообщества финансистов в России.

Разберём:
📶 3 отчета: ОДДС, ОПиУ и Баланс, как они связаны между собой
📶 Как выстроить систему управленческого учёта с нуля
📶 Сколько можно зарабатывать даже с базовыми навыками построения УУ
📶 Чем управленческий учёт отличается от бухгалтерского

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

РЕГИСТРАЦИЯ https://fin-academy.pro/upruchet
(открыто 300 бесплатных мест)

БОНУС, сразу после регистрации: 3 шаблона Google-таблиц: ОДДС, ОПиУ, Баланс + видеоинструкция по работе с каждым!
2🍓53👍2