Получаем номер квартала из даты: разные варианты
К сожалению, для вычисления номера квартала функции нет ни в Excel любых версий, ни в Google Таблицах. Обычно номер квартала вычисляют составной формулой, опираясь на номер месяца. Например, такой.
Вариант 1, классический
Для января (месяц = 1) формула будет возвращать единицу:
(1 + 2)/3 = 1
А для августа (8):
(8 + 2)/3 = 3,(3)
Дробную часть мы убираем с помощью функции ЦЕЛОЕ / INT
и за счет этого получаем целое число 3 для августа.
Вариант 2, с извращениями
Функция ВЫБОР / CHOOSE возвращает один из своих аргументов по порядковому номеру, заданному в первом аргументе. То есть если МЕСЯЦ у нас будет равен единице, двойке или тройке, то ВЫБОР вернет второй, третий или четвертый аргумент — это у нас единицы.
Вариант третий, через LOOKUP
Здесь мы ищем ближайшее наименьшее число к номеру месяца в массиве функцией ПРОСМОТР. И получаем соответствующий номер квартала из другого массива.
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
К сожалению, для вычисления номера квартала функции нет ни в Excel любых версий, ни в Google Таблицах. Обычно номер квартала вычисляют составной формулой, опираясь на номер месяца. Например, такой.
Вариант 1, классический
=ЦЕЛОЕ ((МЕСЯЦ (ячейка с датой) + 2)/3)
Для января (месяц = 1) формула будет возвращать единицу:
(1 + 2)/3 = 1
А для августа (8):
(8 + 2)/3 = 3,(3)
Дробную часть мы убираем с помощью функции ЦЕЛОЕ / INT
и за счет этого получаем целое число 3 для августа.
ЦЕЛОЕ ((8 + 2)/3) = ЦЕЛОЕ (3,(3)) = 3
Вариант 2, с извращениями
=ВЫБОР (МЕСЯЦ (дата);1;1;1;2;2;2;3;3;3;4;4;4)
Функция ВЫБОР / CHOOSE возвращает один из своих аргументов по порядковому номеру, заданному в первом аргументе. То есть если МЕСЯЦ у нас будет равен единице, двойке или тройке, то ВЫБОР вернет второй, третий или четвертый аргумент — это у нас единицы.
Вариант третий, через LOOKUP
=ПРОСМОТР (МЕСЯЦ(A4); {1;4;7;10};{1;2;3;4})
Здесь мы ищем ближайшее наименьшее число к номеру месяца в массиве функцией ПРОСМОТР. И получаем соответствующий номер квартала из другого массива.
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
This media is not supported in your browser
VIEW IN TELEGRAM
Связанные выпадающие списки на формулах
Вообще-то уже очень давно мы публиковали скрипт для создания связанных списков — вот ссылка.
Но для разнообразия предлагаем также слегка колхозное решение на формулах 🤠Если вы не любите скрипты.
По сути, мы создаем таблицу с таким же количеством строк, как основная. И в ней в каждой строке формируем данные для выпадающего списка нижнего уровня (сотрудники, например), куда отправляем значения исходя из выбранного значения в выпадающем списке верхнего уровня (отдел, например)
Алгоритм:
— Формируем в укромном месте список значений нижнего уровня для каждого выбранного значения в основной таблице. В нашем примере — для каждого выбранного отдела в основной таблице получаем список сотрудников этого отдела (то есть горизонтальный массив значений на каждое выбранное в основной таблице значение верхнего уровня)
Вариант формулы:
— Создаем проверку данных и в качестве диапазона ссылаемся на первый список (для первого значения), делаем ссылку относительной (то есть у номеров строк нет долларов) и получается, что в каждой строке забираем список для каждого очередного выпадающего списка.
Ссылка в проверке данных:
Куча лишних данных, но работает.
Таблица с примером
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Вообще-то уже очень давно мы публиковали скрипт для создания связанных списков — вот ссылка.
Но для разнообразия предлагаем также слегка колхозное решение на формулах 🤠Если вы не любите скрипты.
По сути, мы создаем таблицу с таким же количеством строк, как основная. И в ней в каждой строке формируем данные для выпадающего списка нижнего уровня (сотрудники, например), куда отправляем значения исходя из выбранного значения в выпадающем списке верхнего уровня (отдел, например)
Алгоритм:
— Формируем в укромном месте список значений нижнего уровня для каждого выбранного значения в основной таблице. В нашем примере — для каждого выбранного отдела в основной таблице получаем список сотрудников этого отдела (то есть горизонтальный массив значений на каждое выбранное в основной таблице значение верхнего уровня)
Вариант формулы:
=MAP(столбец со значениями первого уровня ;LAMBDA(x; IFNA(ТРАНСП(ИНДЕКС(таблица со списками ;; XMATCH(x;названия списков первого уровня)));"")))
— Создаем проверку данных и в качестве диапазона ссылаемся на первый список (для первого значения), делаем ссылку относительной (то есть у номеров строк нет долларов) и получается, что в каждой строке забираем список для каждого очередного выпадающего списка.
Ссылка в проверке данных:
='Вспомогательный лист'!$A2:$Z2 (столбцы можно взять с запасом)
Куча лишних данных, но работает.
Таблица с примером
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Проверяем, был ли у сотрудника хотя бы один 14-дневный отпуск
Интересная задача от участницы практикума "Магия формул", мы решили вынести решение на всех вас :)
Итак, в таблице с сотрудниками единицами отмечены дни отпуска. Надо понять, была ли у сотрудника приятная цепочка в 14 или более таких дней.
Алгоритм такой:
1. Убираем заголовки с месяцами (чтобы остались только дни; нам не нужно считать итог месяца отдельным днем, его надо пропустить) через функцию FILTER. Можно исключать конкретное слово "<>итого" или оставлять только числа ISNUMBER(...) )
2. Далее в полученном массиве идущих подряд дней с помощью SCAN считаем нарастающий итог — число идущих подряд единиц. Если есть единица, прибавляем к накопленному итогу ее, иначе обнуляем счетчик)
3. В результате получаем массив с накопленными днями отпусков — с помощью COUNTIF проверяем, есть ли там хоть одно число от 14 включительно.
4. Напоминаем вам, что логические значения TRUE и FALSE, если они выдаются формулами, можно показывать как флажки.
Вариант для одной строки (на скриншоте в строках с 9-й видно, что возвращает функция SCAN, то есть все, что внутри COUNTIF / СЧЁТЕСЛИ) — массив накопленных значений, в котором мы потом ищем числа от 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)))
Ссылка на таблицу с вариантами формул
Не забывайте отдыхать, друзья! И предлагайте свои варианты решения задачи🤠
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Google Таблицы
Создаем пакет документов для оформления нового сотрудника прямо из Google Таблицы Коллеги, привет! Наш подписчик Василий поделился с нами своим решением, которое он написал на GAS-скриптах. Василий решал задачу "у меня есть шаблон в Google Документе, в нём…
Создаем пакет документов для оформления нового сотрудника прямо из Google Таблицы
Друзья, напоминаем про отличный пост – из Таблицы скриптами формируем несколько Google Документов с договорами исходя из введенных данных.
Простое решение, которое каждый может применить у себя, бесплатно и без оплаты звездами 🙂
Друзья, напоминаем про отличный пост – из Таблицы скриптами формируем несколько Google Документов с договорами исходя из введенных данных.
Простое решение, которое каждый может применить у себя, бесплатно и без оплаты звездами 🙂
ЛЮБИМЫЕ СКРИПТЫ НАШЕГО КАНАЛА
Друзья, посмотрите, вдруг вы пропустили что-нибудь полезное:
— СОБИРАТОР 4.0, интерфейс для сбора других Таблиц →
— 🧞♂️ПРЕВРАЩАТОР Листа Таблицы в xlsx / pdf / csv →
— ОТПРАВЛЯТОР, отправляем ваши отчеты в теле письма по расписанию →
— ОТПРАВЛЯТОР 2, создаём из Таблиц PDF и JPG и рассылаем в Телеграм по заданному расписанию →
— ДОПУСКАТОР 2, убираем из файлов всех пользователей кроме себя и закрываем доступ по ссылке. →
— ЗАМЕНЯТОР, заменяем значения по словарю в выбранных Таблицах →
— ЗАКРЫВАТОР, скрипт автоматического закрытия прошедших дней →
— ДОСТАВАТОР, берём из кода веб-страниц регуляркой нужное →
— Скриптами определяем, когда освободится домен →
— Запускаем скрипт по чекбоксу (работает и из мобильной версии Таблиц) →
— DRIVE COLUMBUS, смотрим на свой Google Диск и управляем им прямо из Таблицы →
— С помощью скрипта даём доступ к другой Таблице, чтобы IMPORTRANGE заработал сразу →
— Защищаем скрипты от редактирования →
— Регулярный бэкап Таблиц в формате XLSX в телеграм! →
— Скрипт. Распознаем текст на изображениях. OCR в Google Docs →
— Скрипт onEdit(), реагирующий на изменения и отправляющий письма (или триггер в триггере) →
Скрипт, загружаем письма вашего GMAIL-аккаунта в Таблицу →
— Важный скрипт. Связанные выпадающие списки из кэша →
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Друзья, посмотрите, вдруг вы пропустили что-нибудь полезное:
— СОБИРАТОР 4.0, интерфейс для сбора других Таблиц →
— 🧞♂️ПРЕВРАЩАТОР Листа Таблицы в xlsx / pdf / csv →
— ОТПРАВЛЯТОР, отправляем ваши отчеты в теле письма по расписанию →
— ОТПРАВЛЯТОР 2, создаём из Таблиц PDF и JPG и рассылаем в Телеграм по заданному расписанию →
— ДОПУСКАТОР 2, убираем из файлов всех пользователей кроме себя и закрываем доступ по ссылке. →
— ЗАМЕНЯТОР, заменяем значения по словарю в выбранных Таблицах →
— ЗАКРЫВАТОР, скрипт автоматического закрытия прошедших дней →
— ДОСТАВАТОР, берём из кода веб-страниц регуляркой нужное →
— Скриптами определяем, когда освободится домен →
— Запускаем скрипт по чекбоксу (работает и из мобильной версии Таблиц) →
— DRIVE COLUMBUS, смотрим на свой Google Диск и управляем им прямо из Таблицы →
— С помощью скрипта даём доступ к другой Таблице, чтобы IMPORTRANGE заработал сразу →
— Защищаем скрипты от редактирования →
— Регулярный бэкап Таблиц в формате XLSX в телеграм! →
— Скрипт. Распознаем текст на изображениях. OCR в Google Docs →
— Скрипт onEdit(), реагирующий на изменения и отправляющий письма (или триггер в триггере) →
Скрипт, загружаем письма вашего GMAIL-аккаунта в Таблицу →
— Важный скрипт. Связанные выпадающие списки из кэша →
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Media is too big
VIEW IN TELEGRAM
Защита от копирования или onOpen убиваюший Таблицы :)
Друзья, привет, сегодня у нас веселое пятничное решение, которое может позволить защитить Таблицы от копирования.
При копировании Таблицы (если не менять название файла) в названии будет слово Копия или Copy.
Мы воспользовались этим и написали простой onOpen скрипт, которому не нужна авторизация и который запускается при каждом открытии Таблицы.
Скрипт проверяет, есть ли слово копия (copy) в названии документа и если есть, то обращается к каждому листу, очищает его и вставляет "убивающую Таблицу формулу" на каждый лист в ячейку A1. Повторюсь – этому onOpen авторизация не нужна, он будет запускаться автоматически.
Таблица со злым onOpen (осторожнее 😁)
PS Спасибо за хорошие идеи Лизе и Александру
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Друзья, привет, сегодня у нас веселое пятничное решение, которое может позволить защитить Таблицы от копирования.
При копировании Таблицы (если не менять название файла) в названии будет слово Копия или 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)');
});
};
};
PS Спасибо за хорошие идеи Лизе и Александру
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Google Таблицы
Защита от копирования или onOpen убиваюший Таблицы :) Друзья, привет, сегодня у нас веселое пятничное решение, которое может позволить защитить Таблицы от копирования. При копировании Таблицы (если не менять название файла) в названии будет слово Копия или…
Защита от копирования Таблицы 2 (или убиваем скопированную Таблицу с помощью onOpen)
И сразу же усиленная версия, смотрим не на имя Таблицы, а на ID, предварительно сохранив в скрипте ID исходной Таблицы:
Попробуйте скопировать Таблицу так, чтобы 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)');
});
};
};
Попробуйте скопировать Таблицу так, чтобы onOpen не успел ничего сделать.
Спасибо нашим прекрасным подписчикам за идеи🏄
Курс по сводным таблицам Google Spreadsheets
Записал для вас курсец по сводным таблицам: от основ (зачем вообще сводные нужны и как построить сводную) до нюансов и деталей (как работают рассчитываемые поля, как правильно извлекать данные из сводной, как подготовить данные для сводной таблицы, в том числе сделать «анпивот» формулами, и многое другое).
Говорим и про визуализацию, и форматирование. Так что у вас будет все необходимое для создания отчетов (в том числе для предварительной подготовки данных).
Курс — это 20 видео с нормальным качеством и звуком, исходными и готовыми таблицами со всеми примерами, которые можно копировать и забирать себе для разбора или в качестве шаблонов.
Доступ к курсу сразу после покупки.
Доступ вечный.
Первые три дня продаж со скидкой — курс будет стоить 2 900 ₽ до 16 апреля включительно. Далее цена вырастет.
Если вам не понравятся уроки, вы поймете, что не узнали вообще ничего нового и/или скажете, что качество видео/звука плохое — я верну вам 100% стоимости курса без вопросов в течение 2 недель после покупки.
Один из уроков мы выкладывали тут.
Подробная программа, скриншоты с примерами и покупка — все по ссылке:
https://shagabutdinov.ru/pivot_google
Записал для вас курсец по сводным таблицам: от основ (зачем вообще сводные нужны и как построить сводную) до нюансов и деталей (как работают рассчитываемые поля, как правильно извлекать данные из сводной, как подготовить данные для сводной таблицы, в том числе сделать «анпивот» формулами, и многое другое).
Говорим и про визуализацию, и форматирование. Так что у вас будет все необходимое для создания отчетов (в том числе для предварительной подготовки данных).
Курс — это 20 видео с нормальным качеством и звуком, исходными и готовыми таблицами со всеми примерами, которые можно копировать и забирать себе для разбора или в качестве шаблонов.
Доступ к курсу сразу после покупки.
Доступ вечный.
Первые три дня продаж со скидкой — курс будет стоить 2 900 ₽ до 16 апреля включительно. Далее цена вырастет.
Если вам не понравятся уроки, вы поймете, что не узнали вообще ничего нового и/или скажете, что качество видео/звука плохое — я верну вам 100% стоимости курса без вопросов в течение 2 недель после покупки.
Один из уроков мы выкладывали тут.
Подробная программа, скриншоты с примерами и покупка — все по ссылке:
https://shagabutdinov.ru/pivot_google
Функции баз данных позволяют суммировать/усреднять/дисперсировать/минимизировать и т.д. по большому количеству условий, заданных в ячейках
В примере: суммируем все виды Ipad Pro и Ipad Air — в Москве только на основном складе, а во всех остальных городах на любых складах, кроме "Брака"
Первый аргумент функции DSUM — диапазон с данными, второй — заголовок столбца, в котором суммируемые числа, третий — диапазон (массив) с условиями.
И вот сегодня про второй аргумент. Как его можно задать?
1. Как текст — ссылаемся на ячейку с заголовком или вводим прямо в формуле в кавычках
2. Как порядковый номер. Тогда либо указываем его в аргументе (но такая формула слетит при изменении порядка столбцов), либо можем искать номер по слову функцией XMATCH, например, если нас интересует слово "остаток" в заголовке (третий аргумент, равный двойке, включает работу символов подстановки в XMATCH — в старой MATCH они работали по умолчанию, но там нужно явно включить точный поиск, так что там третий аргумент был бы равен нулю):
Последний вариант будет работать и при изменении заголовка (если там останется искомое слово, конечно), и при изменении порядка столбцов.
Все четыре варианта по ссылке:
Таблица с примером
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
В примере: суммируем все виды Ipad Pro и Ipad Air — в Москве только на основном складе, а во всех остальных городах на любых складах, кроме "Брака"
Первый аргумент функции DSUM — диапазон с данными, второй — заголовок столбца, в котором суммируемые числа, третий — диапазон (массив) с условиями.
И вот сегодня про второй аргумент. Как его можно задать?
1. Как текст — ссылаемся на ячейку с заголовком или вводим прямо в формуле в кавычках
2. Как порядковый номер. Тогда либо указываем его в аргументе (но такая формула слетит при изменении порядка столбцов), либо можем искать номер по слову функцией XMATCH, например, если нас интересует слово "остаток" в заголовке (третий аргумент, равный двойке, включает работу символов подстановки в XMATCH — в старой MATCH они работали по умолчанию, но там нужно явно включить точный поиск, так что там третий аргумент был бы равен нулю):
=DSUM(данные; XMATCH("*Остаток*"; 1:1;2); условия)
Последний вариант будет работать и при изменении заголовка (если там останется искомое слово, конечно), и при изменении порядка столбцов.
Все четыре варианта по ссылке:
Таблица с примером
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Запись экрана 2025-04-18 в 13.46.34.mov
169.5 MB
Выпадающие списки нескольких уровней (скрипт, таблица и видео с с пояснениями)
Друзья, поднимаем тему выпадающих список в Google Таблицах
Для меня самая большая загадка, почему в Таблицах не сделали списки как в Excel, через формулу в проверки данных, ну да ладно
Мы показали в этом посте как сделать списки скриптами и кратенько рассказали про достаточно просто скрипт
🏄 (скоро анонсируем обучение) – мы уже 6 лет занимаемся программированием на Google Apps Script и решением бизнес-задач, поэтому нам пришла мысль не держать все в себе и jмы объявляем свой курс на тему программирования, также немножко затроненм телеграм ботов
Друзья, поднимаем тему выпадающих список в Google Таблицах
Для меня самая большая загадка, почему в Таблицах не сделали списки как в Excel, через формулу в проверки данных, ну да ладно
Мы показали в этом посте как сделать списки скриптами и кратенько рассказали про достаточно просто скрипт
🏄 (скоро анонсируем обучение) – мы уже 6 лет занимаемся программированием на Google Apps Script и решением бизнес-задач, поэтому нам пришла мысль не держать все в себе и jмы объявляем свой курс на тему программирования, также немножко затроненм телеграм ботов
Запись экрана 2025-04-20 в 12.52.35.mov
148.9 MB
Какую проблему решаем: нерадивые (или слишком нетерпеливые сотрудники) вставляют данные в таблицы так, что ломают форматирование, то есть, формат ячеек, заливку.
Окей, пусть делают что хотят, мы ж напишем просто скрипт, который при открытии Таблицы будет восстановливать форматирование
Использовать будем Sheets Api, да, с помощью него можно не только загружать и вставлять данные в Таблицы, а еще делать с ним все, что угодно
А еще мы можем использовать batch update - это когда мы не идем в цикле по каждому листу, чтобы вставить форматирование, а вставляем его сразу и везде, этот способ покажем вам в другой раз :)
Таблица со скриптом
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Запись экрана 2025-04-21 в 09.37.38.mov
164.9 MB
onOpen - Ликвидатор
Таблица с простым простым скриптом
Используем простой скрипт onOpen (не треюущий авторизации!) удаляем все лишние листы, которые засоряют Таблицу и которые создали нерадивые сотрудники :)
Таблица с простым простым скриптом
всеформатирующий onEdit.mov
641.6 MB
onEdit(), который поправит косяки за другими
Друзья, бывало ли у вас такое, что вы делали Таблицу, старались, а потом набегают коллеги и быстренько ломают все форматы, выравнивания и тому подобное?
Мы продолжаем тему простых триггеров и показываем, как автоматически это можно решить с помощью скрипта onEdit().
🍉 А еще, в конце видео задание, первые трое верно ответивших получат +15 кармы в нашем чудесном чатике, который почти приблизился к 7000 учатников
Таблица с примером и скриптом
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Друзья, бывало ли у вас такое, что вы делали Таблицу, старались, а потом набегают коллеги и быстренько ломают все форматы, выравнивания и тому подобное?
Мы продолжаем тему простых триггеров и показываем, как автоматически это можно решить с помощью скрипта onEdit().
🍉 А еще, в конце видео задание, первые трое верно ответивших получат +15 кармы в нашем чудесном чатике, который почти приблизился к 7000 учатников
Таблица с примером и скриптом
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Media is too big
VIEW IN TELEGRAM
Бот глупых шуток – видео, в котором показываю, как разверуть бота с нуля
Друзья, сделали с помощью chatgpt телеграм бота, который выводит случайную глупую шутку из 200 предварительно созданных.
Угадайте, какую важную роль выполнял chatgpt? Ну, конечно же, создавал список шуток, с остальным удалось справиться самостоятельно.
🍉 В который раз показываю телеграм бота развернутого на Таблицах (или как говорят наши заказчики "на эксельке") и каждый раз заново удивляюсь той мощи, которую заложили гугловцы в свои Google Docs.
Создать бесплатный сервер на базе бесплатного аккаунта gmail, развернуть его в Таблице или Документе, чтобы сервер 24/7 смотрел в сеть? ЛЕГКО! :)
🍉🍉 Наш платный курс по телеграм ботам подошел к концу и поэтому в мае запускаю личное обучение по прграммированию, следите за анонсами. Попозже расскажу про темы и формат.
Ну и код бота
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Друзья, сделали с помощью chatgpt телеграм бота, который выводит случайную глупую шутку из 200 предварительно созданных.
Угадайте, какую важную роль выполнял chatgpt? Ну, конечно же, создавал список шуток, с остальным удалось справиться самостоятельно.
В видео я подробно рассказал про
— создание и редактирование бота в @botFather
— как развернуть бота как веб-приложение
– как создать вебхук, в котором мы соединяем токен бота и ссылку на наше веб-приложение;
– и коротко пробежался по небольшому коду
🍉 В который раз показываю телеграм бота развернутого на Таблицах (или как говорят наши заказчики "на эксельке") и каждый раз заново удивляюсь той мощи, которую заложили гугловцы в свои Google Docs.
Создать бесплатный сервер на базе бесплатного аккаунта gmail, развернуть его в Таблице или Документе, чтобы сервер 24/7 смотрел в сеть? ЛЕГКО! :)
🍉🍉 Наш платный курс по телеграм ботам подошел к концу и поэтому в мае запускаю личное обучение по прграммированию, следите за анонсами. Попозже расскажу про темы и формат.
Ну и код бота
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Google Таблицы
Бот глупых шуток – видео, в котором показываю, как разверуть бота с нуля Друзья, сделали с помощью chatgpt телеграм бота, который выводит случайную глупую шутку из 200 предварительно созданных. Угадайте, какую важную роль выполнял chatgpt? Ну, конечно же…
Самого бота можно попробовать
@google_sheets_bad_jokes_bot
Работает как в личных сообщениях, так и в чатах (только в чатах добавляйте как администратора с правом удалять сообщения)
@google_sheets_bad_jokes_bot
Работает как в личных сообщениях, так и в чатах (только в чатах добавляйте как администратора с правом удалять сообщения)
Собираем данные в виде ФИО+телефон по сотрудникам компании в одной ячейке
У вас есть база клиентов и данные о сотрудниках и их контактах. И вы хотите видеть всех сотрудников одной компании в одной ячейке.
Многие в такой ситуации вводят всю информацию в одну ячейку руками, благо можно переходить на следующую строку в ячейке с помощью Alt+Enter.
Но лучший путь - это создать отдельно реестр контактных лиц, где выбирать компанию из выпадающего списка (чтобы не было возможности ошибиться) и вводить в каждой отдельной строке одного человека с его контактами и другими нужными вам полями.
Тогда будет возможность фильтровать такой список, форматировать телефоны, создавать ссылки на адреса эл. почты и иначе взаимодействовать с этими данными.
А собрать и подтянуть данные по всем сотрудникам одной компании всегда можно с помощью QUERY или FILTER. Если нужно отформатировать при этом данные - например, номера телефонов - пригодится функция ТЕКСТ / TEXT.
Файл с примерами
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
У вас есть база клиентов и данные о сотрудниках и их контактах. И вы хотите видеть всех сотрудников одной компании в одной ячейке.
Многие в такой ситуации вводят всю информацию в одну ячейку руками, благо можно переходить на следующую строку в ячейке с помощью Alt+Enter.
Но лучший путь - это создать отдельно реестр контактных лиц, где выбирать компанию из выпадающего списка (чтобы не было возможности ошибиться) и вводить в каждой отдельной строке одного человека с его контактами и другими нужными вам полями.
Тогда будет возможность фильтровать такой список, форматировать телефоны, создавать ссылки на адреса эл. почты и иначе взаимодействовать с этими данными.
А собрать и подтянуть данные по всем сотрудникам одной компании всегда можно с помощью QUERY или FILTER. Если нужно отформатировать при этом данные - например, номера телефонов - пригодится функция ТЕКСТ / TEXT.
Файл с примерами
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Media is too big
VIEW IN TELEGRAM
Удаляем лишние проекты из нашей Таблицы
Друзья, был у нас клиент, который старался под каждый скрипт в Таблице создать новый проект.
Именно новый проект, а не лист в проекте.
Показываем как избавиться от лишних проектов внутри одной Таблицы / Документы / где вы их еще сможете создать с помощью веб-интерфейса.
В следуюших уроках коснемся работы со скриптами используя script api, удалять / изменять скрипт с помощью скрипта - что может быть прекраснее :)
Друзья, был у нас клиент, который старался под каждый скрипт в Таблице создать новый проект.
Именно новый проект, а не лист в проекте.
Показываем как избавиться от лишних проектов внутри одной Таблицы / Документы / где вы их еще сможете создать с помощью веб-интерфейса.
В следуюших уроках коснемся работы со скриптами используя script api, удалять / изменять скрипт с помощью скрипта - что может быть прекраснее :)
Google Таблицы
Бот глупых шуток – видео, в котором показываю, как разверуть бота с нуля Друзья, сделали с помощью chatgpt телеграм бота, который выводит случайную глупую шутку из 200 предварительно созданных. Угадайте, какую важную роль выполнял chatgpt? Ну, конечно же…
Media is too big
VIEW IN TELEGRAM
Улучшаем нашего бота, добавляем еще одну команду (а также поясняем за отображение объекта / массива в Logger.log)
Друзья, c помощью Logger.log можно вывести объект превращенный в строку
Но, можно добавить аргументов и эту строку (которая на самом деле объект) преобразовать в читабельный вид
В видео рассказываю про это, а также добавляю в нашего бота возврат того, что возвращает телеграм в ответ на наше сообщение в бота в формате строки и в формате отформатированного объекта.
~
1) бота можно попробовать @google_sheets_bad_jokes_bot
2) Весь код здесь
3) Как зарегистрировать бота и все развернуть самостоятельно здесь
🍍 Скоро мы анонсируем свой курс по программированию, будут либо личные встречи / уроки, либо небольшие группы.
Коснемся и азов и работы с API и ботов. Формулы, конечно, писать здорово, но вы можете научиться большему и упростить свой рабочий день в офисе.
Stay tuned 🙂
PS Logger.log, console.log, JSON.stringify, JSON.parse
Друзья, 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
//}
В видео рассказываю про это, а также добавляю в нашего бота возврат того, что возвращает телеграм в ответ на наше сообщение в бота в формате строки и в формате отформатированного объекта.
~
1) бота можно попробовать @google_sheets_bad_jokes_bot
2) Весь код здесь
3) Как зарегистрировать бота и все развернуть самостоятельно здесь
🍍 Скоро мы анонсируем свой курс по программированию, будут либо личные встречи / уроки, либо небольшие группы.
Коснемся и азов и работы с API и ботов. Формулы, конечно, писать здорово, но вы можете научиться большему и упростить свой рабочий день в офисе.
Stay tuned 🙂
PS Logger.log, console.log, JSON.stringify, JSON.parse
Smart Fill: подсказки с формулами
Google Таблицы могут предлагать формулы для преобразования данных.
Введите несколько значений и получите предложение от таблиц — очень похоже на другой Fill, а именно Flash Fill в Excel (Мгновенное заполнение). Но на самом деле они принципиально отличаются: в Excel мгновенное заполнение дает статичные значения, а в Google Smart Fill — формулы. Так что это скорее похоже на "Столбец из примеров" (Column from Examples) внутри Power Query в Excel.
Правда, формулы могут быть довольно длинные, то есть не ждите использования LET для ссылки на повторяющиеся значения или каких-то изяществ. Например, чтобы превратить полное ФИО в И. О. Фамилия предлагается такая формула🤯:
Сочетание клавиш: Ctrl + Shift + Y. Либо просто введите несколько примеров и дождитесь появления подсказки, в которой можно либо сначала посмотреть формулу (функции будут на английском, даже если у вас в таблице они на русском), либо сразу ее ввести и уже потом смотреть в ячейках (уже на вашем языке).
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
Google Таблицы могут предлагать формулы для преобразования данных.
Введите несколько значений и получите предложение от таблиц — очень похоже на другой Fill, а именно Flash Fill в Excel (Мгновенное заполнение). Но на самом деле они принципиально отличаются: в Excel мгновенное заполнение дает статичные значения, а в Google Smart Fill — формулы. Так что это скорее похоже на "Столбец из примеров" (Column from Examples) внутри Power Query в Excel.
Правда, формулы могут быть довольно длинные, то есть не ждите использования LET для ссылки на повторяющиеся значения или каких-то изяществ. Например, чтобы превратить полное ФИО в И. О. Фамилия предлагается такая формула🤯:
=СЦЕПИТЬ(ПСТР(A3;НАЙТИ(" ";A3) + 1;НАЙТИ(" ";A3) + 1 - (НАЙТИ(" ";A3)));".";ПСТР(A3;НАЙТИ(СИМВОЛ(160);ПОДСТАВИТЬ(A3;" ";СИМВОЛ(160);2)) - 1 + 1;НАЙТИ(СИМВОЛ(160);ПОДСТАВИТЬ(A3;" ";СИМВОЛ(160);2)) + 1 - (НАЙТИ(СИМВОЛ(160);ПОДСТАВИТЬ(A3;" ";СИМВОЛ(160);2)) - 1));". ";ЛЕВСИМВ(A3;НАЙТИ(" ";A3) - 1))
Сочетание клавиш: Ctrl + Shift + Y. Либо просто введите несколько примеров и дождитесь появления подсказки, в которой можно либо сначала посмотреть формулу (функции будут на английском, даже если у вас в таблице они на русском), либо сразу ее ввести и уже потом смотреть в ячейках (уже на вашем языке).
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас