Обложка канала

Google Таблицы. Страница 29

#GoogleТаблицы — это аналог #Excel с веб-интерфейсом и возможностями для удобной совместной работы. Они похожи, и все же в Таблицах есть свои особенности, функции, плюсы и минусы. Работать в Google Таблицах просто и мы покажем как.

  • Google Таблицы

    Вывод названия месяца из даты в именительном падеже

    МЕСЯЦ/MONTH возвращает номер месяца (от 1 до 12) на который выпадает заданная дата
    ВЫБОР/CHOOSE достает из списка с названиями месяца значение по индексу
    — Формула сможет работать в ARRAYFORMULA, сразу для многих ячеек (см. скриншот, там диапазон A1:A10)

    Другие способы из нашего чата:
    Второй способ, IFS:
    https://t.me/google_spreadsheets_chat/62466
    Третий способ, ВПР:
    https://t.me/google_spreadsheets_chat/62520
    Четвертый способ, INDEX, но без ARRAYFORMULA:
    https://t.me/google_spreadsheets_chat/62470

    Спасибо @oshliaer и @IT_sAdmin за помощь в подготовке поста 🤗

    Наш чат: @google_spreadsheets_chat
  • Google Таблицы

    Скрипт для работы с Google Календарем. Напоминалка про дни рождения.

    Сегодня гостевой пост, скрипт от нашего подписчика @mike59. Это уже второй скрипт от него на нашем канале, первый был тоже про Google Календарь.

    Передаем слово автору:
    Написал код, который облегчает жизнь молодым отцам. Ведь в то время как все бабушки отлично помнят день рождения своего внука/внучки и поздравляют с этим событием ежемесячно - мне никак не удавалось удержать это в памяти. Решил слегка автоматизировать процесс и заодно разобраться как работать с датами в Google Apps Script. И конечно же сделать, чтобы эта напоминалка появлялась заблаговременно, а не в день рождения малыша!

    Вот ссылка на скрипт
    и на Github
  • Google Таблицы

    OR / AND в функции FILTER

    Друзья, в FILTER можно комбинировать логические условия OR и AND. Для этого нужно сделать следующее:

    1) Взять каждое условие в круглые скобки
    2) Соединить условия разделителем:
    OR (ИЛИ): +
    AND (И): * или ; или , (в зависимости от региональных настроек разделителем может выступать точка с запятой или запятая; звездочка будет работать при любых настройках)

    Примеры — на скриншоте
    Таблица с примером
  • Реклама

  • Google Таблицы

    Функция QUERY. Формируем запрос в WHERE ко всем колонкам формулой

    Привет! Запрос в QUERY — текстовая строка и поэтому его всегда можно сформировать формулой.

    Представьте — в ваших данных сто колонок и вы хотите написать запрос и вывести строки, в которых каждая ячейка будет больше 0.

    Можно перечислить все сто колонок руками: WHERE Col1>0 and Col2>0 and ColN>0 and Col100>0, а можно написать формулу, которая создаст эту текстовую строку.

    На скриншоте показываем, как это сделать.

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

    Библиотека небольших скриптов onEdit()

    Друзья, привет, в этом проекте мы собираем небольшие скрипты onEdit(), про которые когда-то писали на канале. А ниже — два новых скрипта, спасибо нашему чату за идеи.

    1) Изменяем название листа в зависимости от введенного в ячейку A1:
    function onEdit(e) {
    var ss = e.source;
    var sheet = ss.getActiveSheet();
    var r = e.range;
    var v = e.value;

    if(r.getA1Notation() === 'A1' && sheet.getName() !== v){sheet.setName(v)}
    }


    2) Пользователь написал «лазер» в третьем столбце — отправим эту строку на другой лист
    function onEdit(e) {
    var ss = e.source;
    var sheet1 = ss.getActiveSheet();
    var sheet2 = ss.getSheetByName("сюда");
    var lr = sheet2.getLastRow() + 1;
    var range = e.range;
    var row = range.getRow();
    var column = range.getColumn();
    var value = e.value;

    if(column == '3' && value.match(/лазер/gi)){
    sheet2.getRange("A" + lr + ":" + "C" + lr).setValues(
    sheet1.getRange("A" + row + ":" + "C" + row).getValues()
    )}
    }
  • Google Таблицы

    Срезы в Google Таблицах

    Итак, друзья, Google Таблицы продолжают обновляться - и некоторое время назад в них появились срезы.

    Они похожи на срезы в Excel. Там их можно применять к сводным таблицам и "умным таблицам" (которые вызываются опцией "Форматировать как таблицу").

    Срез - это отдельно вынесенный фильтр, примененный к одному столбцу. Удобно и наглядно.

    В Google Таблицах Срезы можно применять к обычным диапазонам, сводным таблицам и диаграммам.
    Вызываются срезы через меню Данные -> Срезы.

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

    Если вы хотите работать не с обычным диапазоном, а со сводной - создайте срез на листе со сводной и не забудьте убедиться, что активирована галочка "Применить к сводным таблицам" в настройках среза.
    Там же в боковой панели среза на вкладке "Дополнительные" можно отредактировать оформление - например, поменять цвет фона, как в нашем примере.

    Если хотите применить срез к диаграмме - создайте его на листе с диаграммой. При этом фильтровать можно и данные на другом листе. Главное, чтобы это были те данные, на основе которых диаграмма построена.
  • Google Таблицы

    В Москве 14 и 15 ноября 2019 пройдет самая большая в России конференция по маркетинговой и продуктовой аналитике «Матемаркетинг»

    Друзья, напоминаем про "Матемаркетинг" - конференцию, на которой с мастер-классом будет представлен и наш канал.
    Расскажу на примерах о том, как применять Таблицы для создания панелей показателей и для эффективной работы с аналитикой. О тех полезных опциях, котрых нет в Excel.

    А в целом конференция «Матемаркетинг-2019» - это 2000 маркетинговых аналитиков, performance-маркетологов, стратегов и представителей онлайн-бизнеса; десять (!) отдельных треков - от сквозной маркетинговой аналитики и нюансов A/B тестирования до аналитической инфраструктуры.
    Ключевая особенность «Матемаркетинга» — практическая направленность и работа с реальными задачами. Спикерами выступают специалисты-практики.

    Подробная программа конференции доступна по ссылке (кстати, это Google Таблица ;) )

    Только сегодня на сайте конференции действует скидка 25%.
  • Google Таблицы

    Всё, что касается Google Таблиц можно обсудить в нашем чате: @google_spreadsheets_chat

    Присоединяйтесь!
  • Google Таблицы

    Копируем данные из сотен Таблиц с помощью Advanced Google Services

    Максимальное время работы одного GAS скрипта — 6 минут. Это значит, что если вы с помощью Spreadsheet Service пытаетесь обойти сотни Таблиц и скопировать из них тысячи строк — времени может не хватить и ваш скрипт завершится по таймауту.

    Есть альтернатива, есть более быстрый способ манипулировать файлами, обращаться к ним, копировать данные, удалять данные и наводить всяческий хаос, как мы любим — это Advanced Script Services. У вас будут те же 6 минут для работы скрипта, но за это время вы сможете успеть больше.

    Мы подготовили для вас пример: скрипт 100 раз открывает оглавление нашего канала, объединяет данные в один массив и вставляет результат в Таблицу. Еще Advanced API грузит только заполненные ячейки, чтобы это побороть и не нарушить итоговую схему данных — скрипт дописывает пустые ячейки в те строки массива, где они нужны.

    Официальная документация

    Перед использованием службу нужно активировать

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

    Вытащим из предложения все товары и посчитаем их стоимость в рублях

    Привет, друзья! Представьте, у нас есть текстовая строка:
    купили: товар 1, товар 2, товар 6

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

    Всё на скриншоте.

    Таблица с примером и формулами
  • Google Таблицы

    Курс по Excel и Google Таблицам "С нуля до PRO"

    Друзья, рад сообщить, что подготовил часть нового большого курса Skillbox.
    Часть, посвященную Google Таблицам - на базовом и продвинутом уровне (от основ работы с формулами до всех кляуз QUERY и записи макросов).
    Более 60 видео с примерами и домашними заданиями.

    Первая половина курса посвящена Excel, как вы уже догадались. Тоже системно - от основ до VBA.

    Так что это отличный способ либо закрыть пробелы в табличном образовании, либо основательно изучить оба редактора с нуля.

    И сегодня у Skillbox началась распродажа, которая продлится несколько дней - серьезная скидка на все курсы, включая Excel+Таблицы.

    Изучить программу и зарегистрироваться можно по ссылке.

    С уважением, Ренат
  • Google Таблицы

    Почти три года и сотни публикаций, кейсов, формул — вот такой путь к 10 000 подписчиков.
    Друзья, благодарим вас за поддержку! И двигаемся дальше.

    А сегодня - про простую функцию, которая может быстро сформировать массив хоть из 10 000 чисел.
    Это SEQUENCE.
    Она простая — у нее следующие аргументы:
    число строк, число столбцов, первое значение и шаг.

    =SEQUENCE(10000;1;1;1) - это один столбец с числами от 1 до 10000.
    =SEQUENCE(3;3;0;100) - матрица 3 на 3 от 0 до 800.

    P.S. Дата в Таблицах — это тоже число, поэтому с помощью функции вы сможете формировать массивы и из дат
  • Google Таблицы

    Друзья, ниже мы отобрали для вас избранные посты нашего канала:

    Функции:
    ​​— Учимся извлекать из текста нужное. База знаний регулярных выражений для REGEXEXTRACT
    — Памятка по синтаксису QUERY / FILTER / SUMIFS
    — Функция FILTER. Список условий выбираем диапазоном прямо с листа
    — Обоюдоострый FILTER. Убираем с помощью одной формулой из таблицы пустые строки и столбцы
    — SUMIF для нескольких условий в формуле массива
    — Формулой достаем изображения из поисковой выдачи Яндекса
    ​​— ЛЕВЫЙ ВПР (когда искомое значение не в первом столбце)
    — ВПР в массиве вместо тысячи CУММЕСЛИМН (заполняем весь лист одной формулой)
    — Автоматически создаем фразы по определенным шаблонам в Google Таблицах
    — Пользовательские числовые форматы, добавляем к числам 🔥🔥🔥

    Скрипты:
    — Скрипт. Распознаем текст на изображениях. OCR в Google Docs
    — Простой скрипт копирования / фильтрации (поможет, когда IMPORTRANGE перестает работать)
    — Скрипт onEdit(), реагирующий на изменения и отправляющий письма (или триггер в триггере)
    — Скрипт, загружаем письма вашего GMAIL-аккаунта в Таблицу
    — Скрипт, отправляем письма на электропочты из диапазона, который вы выделяете
    — Простой скрипт для ежедневной рассылки из Google Таблицы
    — Важный скрипт. Связанные выпадающие списки из кэша

    Проекты:
    — Telegram bot + Google Sheets (используя вебхуки)
    — Эмоджи форматирование выполнения плана (IMAGE, IFS)
    — Создаем красивое расписание групповых занятий
    — Создание оглавления в телеграм-канале: как автоматически загружать и сортировать публикации из вашего рабочего файла
    — Google Форма + Google Таблица для проведения тестирования
    — Применение IFTTT для отправки сообщений с данными из Таблиц
    — Googlefinance, Парето и графики (#готовое решение)
    — Создаем инфографику с помощью IMAGE. Размер картинок пропорционален значениям
    — Импортируем таблицу из веб-страницы и оставляем только нужные нам столбцы (IMPORTHTML+QUERY)

    Для новичков:
    — Мы на Хабре: "Функции Таблиц, которых нет в Excel": https://habrahabr.ru/post/331360/
    — Советы по оптимизации Таблиц
    — Видеоурок по функции IMPORTRANGE (для связывания нескольких таблиц)
    — Видеоурок по фильтрам и режиму фильтрации
    — Про виды доступа к документам
    — Совместная работа с фильтрами

    Полное оглавление нашего канала: https://goo-gl.ru/5Kc3
    Наш чат: @google_spreadsheets_chat
  • Google Таблицы

    CASE внутри функции QUERY

    Коллеги, внутри QUERY на данный момент нельзя использовать доступную в большинстве SQL-диалектов функцию CASE.

    Но — вы можете с помощью IF и массива создать виртуальный столбец, присоединить его к своим данным и уже эту конструкцию сделать диапазоном QUERY. И, например, группировать по новому столбцу.

    1) Определяем, начинаются имена на «B» или нет (скриншот наверху):
    =ARRAYFORMULA(IF(A:A<>"";IF(LEFT(A:A;1)="В";"Имена на В";"Другие имена");""))
  • Google Таблицы

    2. Добавляем диапазон данных в QUERY и группируем по новому столбцу, считаем сумму столбца B

    =QUERY({ARRAYFORMULA(IF(A:A<>"";IF(LEFT(A:A;1)="В";"Имена на В";"Другие имена");""))\A1:B};
    "Select Col1, sum(Col3) group by Col1")


    Некоторые поинты:
    1. ARRAYFORMULA (функция массива) нужна, чтобы обработать в IF больше одной ячейки внутри одной формулы
    2. AND в функции массива не работает (можете проверить) и приходится использовать вложенный IF (см. формулу в пункте 1)
    3. Чтобы обращаться внутри QUERY к колонкам как Col1, Col2 - достаточно формулой изменить диапазон или просто взять его в фигурные скобки {}
  • Реклама

  • Google Таблицы

    Ищу работу аналитиком / продактом в Москве.

    Последнее место работы Яндекс.Такси 🚕, аналитик по ценообразованию: репрайсил тарифы в городах МО, определял города в балансе и придумывал процедуры для них, а еще сделал тысячу разных калькуляторов.

    — Перед этим работал аналитиком в компаниях Marriott, Lotte, Автомир

    — Совместно с Ренатом уже три года ведем этот канал про Google Таблицы и написали про них книгу: https://www.mann-ivanov-ferber.ru/books/google-tabliczyi-eto-prosto/

    — Частенько бываю продакт оунером, мы разрабатываем для внешних заказчиков софт на C++/Python/GAS и строим ERP и CRM-системы в Таблицах (отзыв нашего клиента Григория)

    Пишите, пообщаемся: @namokonov
  • Google Таблицы

    IF внутри условия FILTER, отбираем ВСЕ значения или конкретное

    Друзья, мы нашли полезный хинт в функции FILTER: если в условии написать диапазон условия = диапазон условия, то функция выведет все строки из диапазона вывода.

    Можно использовать для выпадающих списков в интерактивных дашбордах, которые вы строите с помощью FILTER.

    =FILTER(A2:B25;A2:A25=IF(E1="ВСЁ";A2:A25;E1))

    P. S. А вот так в FILTER можно написать ИЛИ:
    =FILTER(A2:B25;(A2:A25<>"Майер")+(B2:B25<500000))
  • Google Таблицы

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

    У вас есть Таблица и в ней очень много строк, настолько много, чтобы однажды вы просто не можете в нее зайти - видите ошибку при ее открытии.

    В таком случае можно создать внешний скрипт (не привязанный к этой таблице) и удалить в проблемной Таблице и листе строки или даже лист целиком.

    1) идем в наши скрипты: https://script.google.com/home (кстати, там вы можете увидеть все скрипты вашего аккаунта)
    2) создаем новый скрипт:

    function clear(){
    //определяем таблицу и лист в ней
    var ss = SpreadsheetApp.openByUrl('url');
    var sheet = ss.getSheetByName('имя листа');

    //удаляем строки после 100
    var rows = sheet.getMaxRows();
    if(rows-100>0){sheet.deleteRows(100, rows)}

    //или удаляем лист целиком
    ss.deleteSheet(sheet);
    }


    3) всё, проблемная область удалена, ваша таблица снова доступна и вы можете в ней работать

    4) а еще в нашем чате уже больше 1000 человек, присоединяйтесь и вы