Короткий ответ
QUERY позволяет одной формулой отфильтровать, сгруппировать, агрегировать и отсортировать диапазон, поэтому отчёт проще расширять, чем цепочку вложенных поисков и сумм. Её синтаксис отличается от полного SQL и требует однородных типов данных в столбцах.
Как это работает подробнее
Функция принимает диапазон и строку запроса на языке Google Visualization API Query Language. Выражение SELECT задаёт столбцы, WHERE фильтрует строки, GROUP BY агрегирует, ORDER BY сортирует; результат динамически меняется вместе с исходным диапазоном.
- Удобство. Для повторяющейся сводной логики QUERY делает фильтры и агрегацию видимыми в одном месте.
- Ограничения. Не все возможности SQL поддерживаются; смешанные типы могут интерпретироваться неожиданно, а строковые литералы и заголовки требуют аккуратного синтаксиса.
Пример кода
campaign_query.txt
=QUERY(A1:D, "select A, sum(D) where B = 'google' group by A label sum(D) 'Spend'", 1)Что использовать на практике
- Для крупной таблицы. Ограничьте диапазон реальными данными и назовите поля или настройте заголовки предсказуемо.
- Проверка результата. Сравните групповые суммы с контрольным итогом и отдельно проверьте пустые значения.
Подводные камни
- Не полный SQL. Вложенные запросы, функции и синтаксис баз данных нельзя автоматически переносить в QUERY.
- Типы в столбце. Смесь числа и текста способна привести к пропускам; нормализуйте значения в источнике.