Функция QUERY – один из самых мощных инструментов Google Таблиц, позволяющий выполнять запросы к данным с использованием языка, похожего на SQL. Она особенно полезна при работе с большими наборами информации, когда нужно быстро отфильтровать, агрегировать или преобразовать данные без написания сложных скриптов.
Синтаксис функции QUERY
Общий вид функции выглядит следующим образом:
QUERY(данные; запрос; [заголовки]) Где:
- данные – диапазон ячеек, над которым будет выполнен запрос (например,
A2:E100). - запрос – строка, содержащая язык запросов Google Visualization API (аналог SQL).
- заголовки (опционально) – число строк в верхней части диапазона, которые следует traktовать как заголовки столбцов. Если не указано, функция попытается определить их автоматически.
Основные операторы языка запросов
Язык запросов поддерживает множество конструкций, аналогичных SQL. Ниже перечислены наиболее часто используемые:
- SELECT – указывает, какие столбцы вернуть. Можно использовать звёздочку
*для выбора всех столбцов. - WHERE – задаёт условия фильтрации строк.
- GROUP BY – объединяет строки по одному или нескольким столбцам.
- ORDER BY – сортирует результат по указанным столбцам (ASC – по возрастанию, DESC – по убыванию).
- LIMIT – ограничивает количество возвращаемых строк.
- OFFSET – пропускает заданное количество строк перед началом выборки.
- PIVOT – преобразует уникальные значения столбца в отдельные колонки (аналогично перекрестной таблице).
- LABEL – переименовывает заголовки столбцов в результате.
- FORMAT – задаёт формат отображения чисел, дат и т.п.
Примеры использования
Пример 1: Выбор конкретных столбцов
Предположим, у нас есть таблица продаж в диапазоне A2:D100, где:
- A – дата продажи
- B – товар
- C – количество
- D – сумма
Чтобы получить только дату и сумму продаж, используем:
=QUERY(A2:D100; "select A, D"; 1) Пример 2: Фильтрация по условию
Вывести все строки, где количество проданного товара больше 10:
=QUERY(A2:D100; "select * where C > 10"; 1) Пример 3: Агрегация данных
Подсчитать общую сумму продаж по каждому товару:
Пример 4: Использование PIVOT
Получить матрицу, где строки – товары, столбцы – месяцы, а значения – сумма продаж:
=QUERY(A2:D100; "select B, sum(D) where A is not null group by B pivot month(A) label sum(D) 'Сумма'"; 1) Пример 5: Сортировка и ограничение результата
Получить топ‑5 самых дорогих продаж:
=QUERY(A2:D100; "select * order by D desc limit 5"; 1) Полезные советы и лучшие практики
- Всегда указывайте параметр заголовки, если первая строка вашего диапазона содержит имена полей. Это избавит от неправильногоinterpretation данных.
- В языке запросов чувствителен к регистру только внутри строковых литералов. Названия столбцов следует указывать именно так, как они aparecen в диапазоне (или использовать алиасы через LABEL).
- Если нужно использовать даты в условии WHERE, форматируйте их как
date 'yyyy-mm-dd'. Например:where A >= date '2026-01-01'. - Для работы с пустыми ячейками применяйте операторы is null и is not null.
- При больших объёмах данных старайтесь ограничивать диапазон только нужными строками и столбцами – это ускорит выполнение запроса.
- Комбинируйте QUERY с другими функциями (например, ARRAYFORMULA, FILTER, SORT) для более сложных сценариев.
Функция QUERY открывает перед пользователем Google Таблиц почти безграничные возможности по анализу и трансформации данных. Понимание её синтаксиса и основных операторов позволяет быстро получать нужные отчёты, выполнять сложные агрегации и строить интерактивные дашборды без необходимости писать скрипты на Apps Script. Надеемся, представленный обзор поможет вам эффективно применять QUERY в повседневной работе.