Excel и Google Workspace / Формулы Google Таблиц
FILTER в Google Таблицах: выбрать строки по условиям
FILTER возвращает строки или столбцы, которые соответствуют заданным условиям. В Google Таблицах это быстрый способ сделать живую выборку без ручного фильтра интерфейса.
Формула
Из полной таблицы стрелками выделяются строки, прошедшие условия, и выводятся отдельным блоком.
FILTER строит живую выборку, не изменяя исходные данные.
Обозначения
- $A2:D100$
- диапазон данных, из которого возвращаются подходящие строки
- $B2:B100="Оплачен"$
- первое условие отбора по статусу
- $C2:C100>=10000$
- второе условие отбора по сумме, рубли или другая денежная единица
- $FILTER$
- функция динамической выборки
Условия применения
- Диапазоны условий должны совпадать по длине с фильтруемым диапазоном в выбранном направлении.
- Для нескольких условий по строкам FILTER применяет логику И: строка должна пройти все проверки.
- В области вывода должно быть достаточно пустого места, потому что результат разливается на несколько строк и столбцов.
Ограничения
- Если подходящих строк нет, FILTER возвращает ошибку; ее лучше обработать или заранее показать понятное сообщение.
- Результат FILTER может быть заблокирован непустыми ячейками ниже или справа от формулы.
- Для сложной группировки, сортировки и выбора столбцов иногда удобнее QUERY.
Подробное объяснение
FILTER создает динамическую выборку. Она не меняет исходную таблицу и не скрывает строки в интерфейсе, а строит новый результат в месте, где стоит формула. Это удобно для отчетных листов: исходные данные остаются полным журналом, а рядом или на другом листе появляется только нужный срез.
Каждое условие FILTER должно быть массивом TRUE/FALSE той же длины, что и отбираемые строки. Например, B2:B100="Оплачен" проверяет статус каждой строки, а C2:C100>=10000 проверяет сумму. Строка попадает в результат, только если все переданные условия истинны. Поэтому функция хорошо подходит для простых фильтров по нескольким признакам.
Результат FILTER является разливающимся массивом. Одна формула может занять десятки строк и несколько столбцов. Если на пути вывода есть непустая ячейка, Google Таблицы не смогут показать результат. Поэтому под выборку нужно оставлять свободную область или размещать ее на отдельном листе.
FILTER отличается от QUERY тем, что его проще читать в простых случаях. Условия записываются обычными формулами, а не текстом запроса. Но если нужно выбрать только некоторые столбцы, переименовать вывод, отсортировать, сгруппировать или агрегировать данные, QUERY может быть сильнее. Хорошая практика - начинать с FILTER, пока задача является именно выборкой строк.
Как пользоваться формулой
- Выберите диапазон строк и столбцов, которые нужно вернуть в результате.
- Запишите первое условие как проверку диапазона той же высоты.
- Добавьте дополнительные условия, если строка должна пройти несколько проверок.
- Оставьте свободное место для разлива результата ниже и справа от формулы.
- Проверьте случай, когда совпадений нет, и решите, нужно ли сообщение через IFERROR.
Историческая справка
Динамические выборки стали особенно важны в облачных таблицах, где исходные данные часто пополняются формами, импортами и совместным вводом. Раньше пользователь чаще применял ручной фильтр интерфейса или копировал строки на отдельный лист. FILTER сделал выборку формулой: результат обновляется сам, когда меняются исходные строки. В Google Таблицах эта функция стала одним из ключевых отличий от статичных отчетов, потому что ее можно соединять с другими формулами и размещать в дашбордах. Исторически FILTER отражает переход от электронного листа как калькулятора к листу как простой аналитической системе с живыми представлениями данных. Для командной работы это означает меньше ручных копий и больше воспроизводимых отчетных срезов.
Историческая линия формулы
FILTER не имеет персонального автора как математическая формула. Это функция облачной табличной аналитики, реализующая идею отбора строк по логическим условиям. Ее происхождение связано с развитием динамических массивов и отчетов, которые обновляются без ручного копирования.
Пример
На листе Заказы столбцы A:D содержат дату, статус, сумму и менеджера. Нужно вывести только оплаченные заказы от 10 000. Формула =FILTER(A2:D100,B2:B100="Оплачен",C2:C100>=10000) вернет все строки, где одновременно выполнены оба условия. Если подходят три заказа, результат займет три строки и четыре столбца. При изменении статуса или суммы выборка обновится автоматически. Проверка: обычным фильтром интерфейса установить статус Оплачен и сумму не меньше 10000; видимые строки должны совпасть с выводом формулы.
Частая ошибка
Частая ошибка - поставить формулу там, где справа или ниже уже есть данные; результат не сможет разлиться. Вторая ошибка - использовать диапазоны разной длины, например A2:D100 и B2:B99. Третья ошибка - ожидать логики ИЛИ от перечисленных условий. По умолчанию несколько условий FILTER работают как И, а для ИЛИ нужна отдельная логическая конструкция. Еще одна проблема - не обработать случай без совпадений, из-за чего пользователь видит ошибку вместо сообщения Нет строк.
Практика
Задачи с решением
Вывести оплаченные заказы
Условие. В A2:D100 таблица заказов, в B2:B100 статус. Нужно вывести строки со статусом Оплачен.
Решение. Фильтруем весь диапазон A2:D100 по условию B2:B100="Оплачен": =FILTER(A2:D100,B2:B100="Оплачен").
Ответ. =FILTER(A2:D100,B2:B100="Оплачен")
Оплаченные крупные заказы
Условие. Нужно вывести оплаченные заказы с суммой от 50000, если сумма находится в C2:C100.
Решение. Добавляем второе условие по сумме: =FILTER(A2:D100,B2:B100="Оплачен",C2:C100>=50000). Строка должна выполнить оба условия.
Ответ. =FILTER(A2:D100,B2:B100="Оплачен",C2:C100>=50000)
Дополнительные источники
- Google Docs Editors Help: FILTER function - https://support.google.com/docs/answer/3093197?hl=en
- Google Docs Editors Help: Google Sheets function list - https://support.google.com/docs/table/25273?hl=en
- Google Docs Editors Help: SORT function - https://support.google.com/docs/answer/3093150?hl=en-GB
Связанные формулы
Excel и Google Workspace
QUERY в Google Таблицах: базовый SELECT
QUERY выполняет запрос к диапазону Google Таблиц на языке, похожем на SQL. Базовый SELECT выбирает нужные столбцы и строки по условию.
Excel и Google Workspace
UNIQUE и SORT в Google Таблицах: уникальный отсортированный список
UNIQUE удаляет повторяющиеся значения, а SORT сортирует результат. Вместе они создают живой список уникальных клиентов, товаров, городов или статусов.
Excel и Google Workspace
IF в Google Таблицах: условие в ячейке
IF проверяет условие и возвращает один результат при истине и другой при лжи. В Google Таблицах функция нужна для статусов, проверок и простых бизнес-правил.
Excel и Google Workspace
ARRAYFORMULA в Google Таблицах: формула на весь столбец
ARRAYFORMULA применяет расчет сразу к диапазону и возвращает массив результатов. В Google Таблицах она помогает не копировать формулу вручную по каждой строке.