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

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

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

РКН: clck.ru/3F3u9M
Download Telegram
Спасибо Ренату 🙂

Друзья, мой соавтор по каналу Ренат Шагабутдинов решил сосредоточиться на своем проекте @lemur_excel, поэтому этот канал дальше буду вести только я, Евгений Намоконов.

Мы с Ренатом вместе написали книгу "Google Таблицы. Это просто. Функции и приемы"

Также мы вместе делали курс на Скиллбоксе и много лет вели этот канал бок о бок. Ренат больше писал про формулы, а я про скрипты.

У Рената в его канале @lemur_excel есть рубрики, например "хоткеи по понедельникам" и разные полезности для тех, кто работает с Excel.

Пожелаем Ренату удачи 👏
👍4729🔥8
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Курс "Скрипты и Формулы в Google Таблицах" от @google_sheets

Сколько угодно можем хвалить свой курс, но лучше нас говорят те, кто уже с нами учится и работает 😉

🎧 В этом посте прикрепим кружочек с отзывом от Валерия, а в комментариях соберем другие живые отзывы клиентов и участников курса.

Старт уже через неделю, успевай забронировать место заранее 🔥

Программа и все детали курса: https://shagabutdinov.ru/sheets-online

Любые вопросы по формату, оплате и программе пиши мне: @namokonov
5🔥3🍓1
Продолжаем рассказывать про наш курс из чужих уст :)

Ниже - отзыв Владислава! Он учился на прошлом потоке.

Текущий курс стартует через неделю.

Программа и все детали курса: https://shagabutdinov.ru/sheets-online

Любые вопросы по формату, оплате и программе пиши мне: @namokonov
Forwarded from Владислав Фомин
Media is too big
VIEW IN TELEGRAM
4👍1🔥1🍓1
This media is not supported in your browser
VIEW IN TELEGRAM
Вводим 2,3,5 в ячейку и вторая, третья и пятая строки выделяются /УСЛОВНОЕ ФОРМАТИРОВАНИЕ

Друзья, показываем простой трюк.

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

Как это реализовать:
1) Строки, которые нужно выделить будем вводить в ячейку E2;
2) Выделяем диапазон данных, у нас это A:C;
3) Условное форматирование;
4) Добавить правило > форматирование формулой > вводим формулу:

=match(row($A1); split($E$2;",");0)


Что делает формула УФ: делит ячейку с номерами строк по разделителю запятая с помощью SPLIT, получает массив номеров, далее ищет каждый номер строки в этом массиве с помощью MATCH, если находит - возвращается ИСТИНА и условное форматирование закрашивает эту строку.

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


---

Наш курс! https://shagabutdinov.ru/sheets-online
🔥116👍6
Media is too big
VIEW IN TELEGRAM
🔎 Как выделить все строки, где есть текст «конец дня» в Google Таблицах

Частый вопрос, который регулярно всплывает в работе с таблицами.

Записал короткое видео, как это сделать.

Кстати, уже во вторник стартует наш курс по формулам и скриптам в Google Таблицах
Там таких рабочих приемов десятки, от простых до продвинутых.

📘 Программа и все детали курса:
https://shagabutdinov.ru/sheets-online

Любые вопросы по формату, оплате и программе
пиши мне в личку: @namokonov
51👍7🔥63
🚀 trimRange. Ускоряем обработку открытых диапазонов (пост от Алексея Одиссея)

Google Таблицы хорошо оптимизированы под формулы массивов. Поэтому мы часто используем открытые диапазоны вроде A:A или A:C, чтобы не задумываться, как будут разрастаться данные.

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

🎯 Сегодня покажем приём, который помогает ускорить таблицы: обрезаем диапазон (или массив) до последней НЕпустой строки.

Мы будем обрезать диапазон (или массив) до последней НЕ пустой строки.


=ArrayFormula(LET(
ref; A:C;
lastRow; MAX(IFNA(byCol(ref; LAMBDA(col; MATCH({"zzz";1E+100}; col)))));
IFERROR(OFFSET(ref;;;lastRow); ARRAY_CONSTRAIN(ref; lastRow; COLUMNS(ref)))
))


КАК ЭТО РАБОТАЕТ смотри под катом ⤵️

💡MATCH({"zzz"; 1E+100}; col) - это "сердце" формулы.
Т.к. вся формула у нас обёрнута в ArrayFormula, то все функции в т.ч. и MATCH будут работать как формулы массива. Поэтому фактически, данная часть будет выполнена 2 раза:
1. MATCH("zzz"; col) - т.к. 3-й аргумент функции опущен, то по-умолчанию search_type = 1, т.е. MATCH ищет позицию наибольшего элемента в массиве col, который меньше (или равен) "zzz". Почему именно "zzz"? Это такой трюк! С точки зрения лексикографического анализа, "zzz" — это очень «большая» строка! Все слова, которые не начинаются на "zzz", будут лексикографически меньше.
2. MATCH(1E+100; col) - аналогично поиску текста выше, но на этот раз мы ищем числа. Чтобы найти любые числа, мы задаём очень большое число - 1 ГУГОЛ ! Поэтому если вы не занимаетесь космологией и теоретической физикой, то величины больше вряд ли встретятся у вас в таблицах. Для справки, число атомов во Вселенной оценивается как 10^80 ;)

💡byCol(ref; LAMBDA(col; MATCH(...)) - в этой части мы проходимся по каждому столбцу диапазона(или массива) ref и находим наибольшие позиции

💡lastRow; MAX(IFNA(byCol(...))); - т.к. в наших данных не всегда есть И текст И числа, подавляем ошибки #N/A, а затем находим наибольшее число по всем столбцам. Результат обозначаем как lastRow в рамкам адресного пространства имен функции LET

💡OFFSET(ref;;;lastRow) - здесь мы указываем наш диапазон и 4-й аргумент, высоту возвращаемого диапазона, фактически обрезая его.

💡 IFERROR(OFFSET(...); ARRAY_CONSTRAIN(ref; lastRow; COLUMNS(ref)))
На случай, если ref является массивом, а не диапазоном, а такое возможно, например, если он получен в результате каких-то действий на предыдущих шагах в рамках функции LET, OFFSET(...) выдаст ошибку, и будет выполнена функция во втором аргументе IFERROR - ARRAY_CONSTRAIN. Эта функция как раз и сократит массив до вычисленной строки lastRow.


🌟Мы используем эту логику в большинстве рабочих кейсов и вынесли её в именованную функцию TRIMRANGE, чтобы Вы могли легко импортировать её.
❗️Пример таблицы

Записывайтесь на курс "Скрипты и Формулы в Google Таблицах", где мы разбираем подобные кейсы 😉
1🔥126
This media is not supported in your browser
VIEW IN TELEGRAM
Курс: скрипты и формулы от канала @google_sheets. Будет огонь 🔥

Программа: https://shagabutdinov.ru/sheets-online

Записаться / вопросы: @namokonov
1.05K6
Media is too big
VIEW IN TELEGRAM
Перестань копировать формулы! Сделай библиотеку и бери их оттуда.

В видео пошагово:
>
пишем свою функцию (например, QUERY с итогами)
> создаем ее как именованную
> импортируем и используем в других Google Таблицах

Зачем это тебе:
Если у тебя есть сложные формулы (сумма прописью, пивот/анпивот), ты пишешь их в одной Таблице и дальше просто переносишь в любые свои Иаблицы.

Такие приемы и не только разбираем на практике в нашем курсе по Google Таблицам: формулы + скрипты.

Курс стартует уже завтра.
Запись и программа: https://shagabutdinov.ru/sheets-online

Любые вопросы по формату, программе и оплате: @namokonov
1220👍9🍓3
Media is too big
VIEW IN TELEGRAM
🔥 Идет донабор на курс “Формулы + Скрипты в Google Таблицах” 🔥

📎 В приложении
прикрепил часть урока, чтобы посмотреть формат.


Во фрагменте наш маэстро Алексей рассказывает про работу с датами и типы данных


Мы уже провели 2 полноценных урока, и сейчас открываем последний заход для тех, кто не успел с самого старта.

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

Если давно хотел перестать копировать формулы и начать строить систему, самое время.

📩 Пиши
@Namokonov, расскажу условия и добавлю в поток.
15
This media is not supported in your browser
VIEW IN TELEGRAM
🎁 Сделай себе подарок на Новый год

Ускорь работу на своем рабочем месте в 2 раза.

🚀 Залетай на наш курс: возьмем еще только 2 человек (для последних сделаем скидку от цены в лендинге!)

📌 Программа: https://shagabutdinov.ru/sheets-online

💬 Детали и оплата: @namokonov
23👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
За 2 минуты показываю, как работает функция MAP, простейший пример

Берем список людей и баллы за тест и с помощью MAP и LAMBDA определяем, кто прошел тест, а кто нет.
1👍37🔥22🍓42
This media is not supported in your browser
VIEW IN TELEGRAM
С наступающим!

Друзья, спасибо, что были с нами!

В следующем году будет много интересных постов и готовых решений для вас ❤️
5631🔥7👍2
Друзья, всем привет! Потихоньку возвращаемся к будням после праздников 🙂

Надеюсь, вы хорошо отдохнули, перезагрузились и набрались сил.

Чтобы мягко войти в ритм - маленькое задание для вас:

Есть таблица с именами и баллами.
Нужно одной формулой вывести:

* прошёл, если балл >= 80
* не прошёл, если балл < 80

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


Пишите свои решения в комментариях. Всем, у кого получится, добавим +5 кармы в чате @google_spreadsheets_chat 😉

Поехали потихоньку в 2026!
👍83