Универсальнее некуда: функция QUERY в Google Таблицах

Если вы ведёте учёт в Google Таблицах, то скорее всего уже используете функции вроде «SUMIFS» или «FILTER» для анализа. Они справляются с базовыми задачами, но при более сложных сценариях — например, построение отчётов с множеством условий или фильтрация по переменным — таблица быстро обрастает вспомогательными столбцами и дублирующей логикой.

В таких случаях функция «QUERY» отлично берёт на себя всё сложное. Она позволяет работать с таблицей как с базой данных: делать выборки, группировки, развороты и подключать внешние фильтры. Если вы ещё не используете «QUERY», то, скорее всего, просто не раскрыли её потенциал.

функция QUERY в Google Таблицах

Как использовать QUERY в Google Таблицах

3.Простые примеры запросов QUERY

3.1. Построим небольшое условие с помощью «WHERE»

3.2. «ORDER BY» для упорядочивания

4.Математические операции функции QUERY

4.1. Посчитаем среднее значение продаж

4.2. Теперь - сколько заработал каждый сотрудник по отдельности

5.Дата и время с функцией QUERY

6.Разбор кейсов применения функции QUERY

6.1. Интеграция выпадающего списка

6.2. Сводная таблица

6.3. Определение последней закупочной цены

Подведение итогов

Синтаксис функции QUERY
Как использовать QUERY в Google Таблицах
Синтаксис функции QUERY

Если ввести в ячейку «QUERY», Google Таблицы сразу покажут, из каких аргументов состоит функция:
1.    данные
2.    запрос
3.    заголовки (необязательно)
Между аргументами ставится точка с запятой ( ; ).

Первый аргумент (данные)
Определяет диапазон данных. Можно указать ячейки на том же листе, сослаться на другой, или выбрать сразу несколько диапазонов, использовав фигурные скобки:
=QUERY(A1:D10; ...),
=QUERY('list_1'!A1:D10; ...)
или
=QUERY({'list_1'!A1:D10; 'list_2!A1:D10}; ...)

Второй аргумент (запрос)
Основа функции. Этот аргумент берётся в двойные кавычки (“ ”). Здесь мы можем просто вернуть значения из диапазона, а можем написать целую программу, которая обработает массив, отфильтрует данные и покажет их в удобном виде.
Какие запросы можно написать в функции «QUERY», расскажу далее.

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

Запросы функции «QUERY» с примерами.
2. Примеры использования функции QUERY
Запросы функции «QUERY» с примерами.

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

Запрос

Пример

Действие

SELECT

=QUERY(A1:D10; "SELECT A, C")

Вернёт столбцы «A» и «C» из диапазона

WHERE

=QUERY(A1:D10; "SELECT A, B WHERE C > 100")

Вернёт столбцы «А» и «В», но только те строки, где значение в «C» больше 100

=QUERY(A1:D10; "SELECT A, B WHERE B =‘Обувь’")

Выберет и вернёт строки, где «В» является текстом «Обувь»

ORDER BY

=QUERY(A1:D10; "SELECT A, B ORDER BY B")

Сортирует по «B» в порядке возрастания

 

=QUERY(A1:D10; "SELECT A, B ORDER BY B DESC")

Сортирует по «B» в порядке убывания

 

LIMIT

=QUERY(A1:D10; "SELECT A, B LIMIT 5")

Обработает все строки из диапазона, но вернёт только первые 5 строк

OFFSET

=QUERY(A1:D10; "SELECT A, B OFFSET 3")

Пропустит первые 3 строки, вернёт остальные

LABEL

=QUERY(A1:D10; "SELECT A, B LABEL A 'Имя', B 'Отел'") 

Переименует столбцы «А» в «Имя» и «В» в «Отдел»

FORMAT

=QUERY(A1:D10; "SELECT B FORMAT B '0.00'")

При возвращении числа будут округлены с двумя знаками после запятой

GROUP BY

=QUERY(A1:D10; "SELECT A, SUM(B) GROUP BY A")

Группирует значения по столбцу «А». Например, сумму «B». У этого запроса есть и другие агрегирующие функции

PIVOT

=QUERY(A1:D10; "SELECT A, SUM(D) GROUP BY A PIVOT B")

Значения в «C» станут столбцами, по «A» и суммам «B»

IS NOT NULL и IS NULL

=QUERY(A1:С10; "SELECT A WHERE B IS NOT NULL")

Вернёт строки, где в «B» есть информация и пропустит те, где она отсутствует

AND, OR

=QUERY(A1:C10; "SELECT A WHERE B > 50 AND C < 100") 

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

=QUERY(A1:C10; "SELECT A WHERE B > 50 OR C < 100") 

Вернёт строки, где выполняется одно из условий

И другие



Простые примеры запросов QUERY.
3.Простые примеры запросов QUERY
Для начала рассмотрим два запроса и поймём принцип работы с функцией:
·         WHERE
·         ORDER BY
3.1. Построим небольшое условие с помощью «WHERE»
отберём только те записи, где продажи составили больше 100.
=QUERY(A1:C6; “SELECT A,C WHERE C > 100”)
Сперва функция отобрала столбцы «Имя» и «Продажи», откинув «Отдел». Затем – отфильтровала строки, вернув только те, где в столбце «С» значения выше 100.
3.2. «ORDER BY» для упорядочивания
Организуем список по продажам. Чтобы порядок был по убыванию - добавим «DESC».

=QUERY(A1:C6; “SELECT A,C WHERE C > 100 ORDER BY C DESC”)


Математические операции функции QUERY.
4.Математические операции функции QUERY
Внутри функции QUERY можно проводить вычисления с данными. Вот какие агрегирующие функции доступны:

Функция

Действие

Тип принимаемых данных

Тип возвращаемых данных

AVG()

Возвращает среднее арифметическое значений

Числовой

Числовой

SUM()

Возвращает сумму значений

Числовой

Числовой

COUNT()

Возвращает количество значений

Любой

Числовой

MAX()

Возвращает максимальное значение

Любой

Принимает тот же тип, что на входе

MIN()

Возвращает минимальное значение

Любой

Принимает тот же тип, что на входе

4.1. Посчитаем среднее значение продаж
Формула будет выглядеть так:
Функция вернёт среднее значение в столбце «С».
4.2. Теперь - сколько заработал каждый сотрудник по отдельности
Для этого надо провести вычисления над столбцом «С» и вернуть значения столбца «А». Но если написать просто подряд эти запросы, то возникнет ошибка «ADD_COL_TO_GROUP_BY_OR_AGG». Чтобы этого избежать, применим группировку неагрегированных значений: «GROUP BY»

=QUERY(A1:C6; “SELECT A, SUM(C) GROUP BY A”; 1)
Дата и время с функцией QUERY.
5.Дата и время с функцией QUERY
Этот инструмент также может работать с датами, сезонами и временем в целом. Вот какие запросы возможны:

Тип

Синтаксис

Пример запроса

Дата

date ‘ГГГГ-ММ-ДД’

…WHERE A = date ‘2025-01-01’…

Время

timeofday ‘ЧЧ:ММ:СС’

…WHERE A < timeofday ‘12:30:00’…

Дата + время

Datetime ‘ГГГГ-ММ-ДД ЧЧ:ММ:СС’

…WHERE A > datetime ‘2025-01-01 10:00:00’…

Диапазон

Комбинации с AND

…WHERE A >= date ‘2025-01-01’ AND A <= date ‘2025-01-31’…


Над самим временем тоже можно проводить некоторые операции:

Функция

Описание

Пример

year()

Возвращает год из даты

year(date ‘2025-06-16’)

Вернёт «2025»

month()

Возвращает номер месяца из даты

month(datetime ‘2025-06-01 15:20:45’)

Вернёт «6»

quarter()

Возвращает номер квартала из даты

quarter(date ‘2025-06-01’)

Вернёт «2»

dayOfWeek()

Возвращает номер дня недели из даты

dayOfWeek(date ‘2025-06-01’)

Вернёт «7»

day()

Возвращает день из даты

day(datetime ‘2025-06-01 15:20:45’)

Вернёт «1»

hour()

Возвращает часы из времени

hour(time ‘15:20:45’)

Вернёт «15»

minute()

Возвращает минуты из времени

minute(datetime ‘2025-06-01 15:20:45’)

Вернёт «20»

second()

Возвращает секунды из времени

second(time ‘15:20:45’)

Вернёт «45»

now()

Возвращает текущие дату и время в часовом поясе GTM, указанном на компьютере

now()

Вернуло значение «2025-06-16 15:12:47» на момент написания

Разбор кейсов применения функции QUERY.
6.Разбор кейсов применения функции QUERY
6.1. Интеграция выпадающего списка
QUERY можно связать с выпадающим списком — это удобно для создания дашбордов. Пользователь выбирает категорию, а запрос подставляет нужное значение и пересчитывает результат.
1-й шаг:
Создать сам выпадающий список в отдельной ячейке.
Если вы не знаете, как это сделать.
2-й шаг:
Сослаться на выпадающий список запросом «WHERE». И обязательно указать с помощью амперсанта (&) и кавычек, что условие динамичное:

=QUERY(A1:D10; SELECT A, C, D WHERE B = ‘“&F1&”’ ORDER BY C”)
Теперь функция «QUERY» возвращает разные значения таблицы, в зависимости от выбора категории в выпадающем списке.
6.2. Сводная таблица
Функция «QUERY» позволяет построить гибкую аналитику с нужной вам структурой. Плюс — результат наглядно обновляется в режиме реального времени. Это делает её отличной альтернативой встроенного инструмента.
Преобразуем данные в таблицу со следующей структурой:
·         Строки – это категории (например, отделы, статьи расходов, продукты)
·         Столбцы – это, например, периоды, или другие значения
·         В ячейках – агрегированные значения (сумма, количество, среднее и т. д.)
1-й шаг:
Для начала надо решить, что должно содержаться в первом столбце. Сейчас возьмём «Отдел». Возвращаем его значения: «SELECT B».
2-й шаг:
Складываем значения столбца продаж, относящиеся к одинаковым месяцам: «SUM(D)».
3-й шаг:
Группируем неагрегированные данные: «GROUP BY B».
4-й шаг:
Разворачиваем значения столбца «Месяц» в строку: «PIVOT C».
Итого:
Получаем сводную таблицу:

=QUERY(A1:D36; “SELECT B, SUM(D) GROUP BY B PIVOT C”;1)
6.3. Определение последней закупочной цены
Вот как можно комбинировать «QUERY», «SORT» и «FILTER»:
1-й шаг:
Создаём вспомогательный столбец «F4». Функция «UNIQUE(C4:C)» откинет повторяющиеся строки в «С» и создаст список из уникальных товаров.
2-й шаг:
Функция «FILTER({$B$4:B/$D$4:D}; $C$4:C=F4)» отбирает из массива только те строки, которые соответствуют искомому товару из вспомогательного столбца «F».
3-й шаг:
Сортируем с помощью «SORT(…); 1; ЛОЖЬ» данные, возвращённые функцией «FILTER», по первой колонке (дате) в порядке убывания.
4-й шаг:
Собираем таблицу из всех получившихся данных, используя «QUERY(…; “select Col1, Col2 limit 1”)» возвращаем столбцы с датой и ценой, и ограничиваем по одной строчке для каждого товара.
Итого:
Получаем таблицу, в которой возвращены только последние цены закупок по отдельным товарам.
=QUERY(SORT(FILTER({$B$4:B/$D$4:D}; $C$4:C=F4); 1; ЛОЖЬ); “SELECT Col1, Col2 LIMIT 1”)
И это далеко не все возможности функции QUERY!
Подведение итогов
И это далеко не все возможности функции QUERY!
Вы познакомились с базовой, но очень полезной функцией QUERY в Google Таблицах. Использование подобных функций позволяет упростить анализ данных, автоматизировать расчёты и навести порядок в таблицах.

Нужна автоматизация учёта и аналитики в Google Таблицах?
Я создам систему учета под ваш бизнес. Помогу бизнесу быстро наладить аналитику, отчётность и процессы в Google Таблицах.
Вместо сложных программ и CRM — простые понятные системы учета, адаптированные под задачи именно вашего бизнеса.
Почему клиенты выбирают мои услуги:
  • 550+ разработанных систем учёта — проверены в реальной работе более 7 лет.
  • 📊 34 готовые системы учёта: управленческий, складской, учёт финансов, зарплата, воронка продаж и др.
  • 💡 Без абонентской платы — вы платите один раз
  • 📞 Бесплатная консультация — обсудим задачу перед началом
  • 🛠 1 месяц поддержки после запуска — бесплатно
Готовы сделать шаг к автоматизации?
Оставьте заявку или позвоните: +7 (904) 487-97-17