Найти в Дзене
Примеры и разбор решений задач в Таблицах Гугл

Примеры и разбор решений задач в Таблицах Гугл

В этой подборке мы разбираем задачи, за помощью в решении которых обращались в наш чат про Таблицы и Скрипты Гугл.
подборка · 7 материалов
Определяем категорию товара по его названию. Задача: Вы торгуете одеждой и Вам нужно определить категорию по первому слову в названии. Например: позиция Свитшоты Nike DO1740-010 - в категории "свитшоты". Таким образом, у вас есть столбец с текстовыми данными, и вам нужно извлечь первое слово из каждой ячейки этого столбца. Исходные данные: Таблица со следующими столбцами: - A — Наименование Формула: Для извлечения первого слова из каждой ячейки используем следующую формулу: =INDEX(SPLIT(A3:A17; " "); ; 1) Давайте разберем эту формулу: (подробный видеоразбор здесь) -SPLIT(A3:A17; " ") — разбивает текст в каждой ячейке диапазона A3:A17 на слова, используя пробел в качестве разделителя. -INDEX(...; ; 1) — извлекает первое слово из полученного массива слов. Раздел: #формулы Формулы: #INDEX #SPLIT Пример в Таблице чата Другие формулы и способы решения этой задачи приведены рядом, на том же листе Таблицы чата Чат и канал про Таблицы Гугл — Автоматизируй эффективно, зарабатывай больше. 🤓💰🚀 #решения
#практика Практика. Развенчание мифа о QUERY Это непростое задание, и не каждый сможет его решить без подсказки. Обсуждения под топиком приветствуются. 1. Переписать формулу QUERY. Большое число колонок, не используя QUERY. Раньше, чтобы посчитать значения по колонкам можно было использовать второй аргумент формулы QUERY как собираемую из частей строку. Некотрое время назад появились новые формулы, которые позволяют почитать это штатными способами. 2. Переписать формулу QUERY. Построчные вычисления, не используя QUERY и TRANSPOSE. Особенность QUERY в в том, что она работает только со строками. Чтобы "развернуть" результат требуется TRANSPOSE. Сейчас можно обойтись без этих "фокусов". 3. Переписать Выполнение расчетов с накоплением. Произведение - альтернатива через QUERY не нужна, т.к. это слишком сложно. Старт в Таблице Практикума #1 https://docs.google.com/spreadsheets/d/1hX3zZrnKI0TGOInVoCNelhwQkFH7K0H2u0rQKFP-FCk/edit?usp=sharing Наш канал и чат про Таблицы и не только
Как посчитать сумму заказов по дням Когда необходимо получить суммарные данные по дням или другие агрегации, функция =QUERY() в Google Таблицах может оказаться очень полезной. Она позволяет производить сложные выборки и группировки данных с минимальными усилиями. Давайте посчитаем сколько и в какой день было заказано товаров. Исходные данные видны на скрине, это таблица заказов со следующими столбцами: A — Дата и время заказа B — Название товара C — Количество Формула для расчёта: =QUERY( A2:C12; "select toDate(A), sum(C) group by toDate(A) label toDate(A) 'Дата', sum(C) 'Кол-во товаров'"; 1 ) Обратите внимание на функцию toDate во втором аргументе функции QUERY - она превращает дату и время в просто дату, по которой и будут группироваться вычисления. Раздел: #формулы Формулы: #QUERY Пример в Таблице чата Становись умнее и дороже с чатом и каналом про автоматизацию и Таблицы #решения
Вычисляем сумму значений в диапазоне по цветам Использовать цвет заливки ячейки в качестве отличительного признака данных не самый лучший подход, но бывает так, что без этого не обойтись. Для решения этой задачи будем использовать кастомную функцию =SUMCOLORS(), которая находится в редакторе скриптов. Показываем, как с её помощью посчитать сумму всех значений в диапазоне Таблицы в ячейках соответствующих цветов, например сумму всех зелёных и сумму всех красных. Вот как она выглядит: =SUMCOLORS("A5:A7";"D16:H21") Как использовать: Скопировать код в редактор скриптов Таблицы и вызвать из поля формул. код: /** * Считает сумму значений в ячейках по цветам * @param {"A5:A7"} colorCellsA1 столбец с цветами, сумму по которым нужно посчитать * @param {"D16:H23"} rangeA1 диапазон для суммирования * @customfunction */ function SUMCOLORS(colorCellsA1, rangeA1) { const colors = SpreadsheetApp.getActiveSheet().getRange(colorCellsA1) .getBackgrounds().map(row => row[0]); const range = SpreadsheetApp.getActiveSheet().getRange(rangeA1); const values = range.getValues(); const sums = range.getBackgrounds().reduce((p, row, i) => { row.forEach((cell, j) => { if (!Object.prototype.hasOwnProperty.call(p, cell)) { p[cell] = 0 } p[cell] += Number(values[i][j]) || 0; }) return p; }, {}); return colors.map(color => [sums[color] || 0]); } Раздел: #скрипты Формулы: #customfunction Пример в Таблице чата Становись умнее и дороже с чатом и каналом про автоматизацию и Таблицы #решения #сумма_по_цветам