Фильтрация данных с помощью FILTER
Динамически возвращайте только строки, соответствующие вашим условиям
«Фильтрация данных с помощью FILTER» — бесплатный урок Excel Formulas Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Excel Formulas Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Excel Formulas Academy содержит 4 уроков всего.
Что делает FILTER
Функция FILTER возвращает только те строки диапазона, которые соответствуют заданному условию. Вместо того чтобы вручную скрывать строки или копировать совпадения, FILTER автоматически разливает подходящие строки.
Функция динамическая: когда данные меняются, отфильтрованный результат мгновенно обновляется. Поэтому она идеально подходит для актуальных отчётов, в которых всегда отображаются текущие совпадения.
Синтаксис FILTER
FILTER принимает до трёх аргументов:
=FILTER(array, include, [if_empty])
- array — диапазон, который нужно вернуть.
- include — логическая проверка, возвращающая TRUE или FALSE для каждой строки.
- if_empty — необязательное значение, отображаемое, если совпадений нет.
Проверка include должна иметь ту же высоту, что и array, чтобы для каждой строки получалось значение TRUE или FALSE.
=FILTER(array, include, [if_empty])Простой пример FILTER
Предположим, в A2:A10 указаны имена продавцов, а в B2:B10 — их регионы. Чтобы вывести только имена из региона East:
=FILTER(A2:A10, B2:B10="East")
Проверка B2:B10="East" создаёт столбец со значениями TRUE и FALSE. FILTER оставляет строки, для которых результатом является TRUE, и разливает их.
=FILTER(A2:A10, B2:B10="East")Возврат нескольких столбцов
Массив может состоять более чем из одного столбца. Чтобы вернуть имя и сумму продаж для региона East, укажите в качестве массива весь блок:
=FILTER(A2:C10, B2:B10="East")
FILTER возвращает все столбцы подходящих строк, разливая небольшую таблицу. Проверка include по-прежнему использует только один столбец с условием.
=FILTER(A2:C10, B2:B10="East")Числовые условия
Условия не ограничиваются текстом. Чтобы вернуть все строки, в которых продажи в C2:C10 превышают 500:
=FILTER(A2:C10, C2:C10>500)
Операторы сравнения, такие как «больше», «меньше» и «не равно», работают внутри аргумента include так же, как и в обычной логической проверке.
=FILTER(A2:C10, C2:C10>500)Объединение условий с логикой AND
Чтобы одновременно требовать выполнения двух условий, перемножьте проверки. Умножение действует как AND, поскольку TRUE равно 1, а FALSE равно 0: строка проходит только тогда, когда обе проверки дают 1.
=FILTER(A2:C10, (B2:B10="East")*(C2:C10>500))
Эта формула возвращает строки региона East, в которых продажи также превышают 500. Каждую проверку заключайте в круглые скобки.
=FILTER(A2:C10, (B2:B10="East")*(C2:C10>500))Объединение условий с логикой OR
Чтобы строка проходила, когда истинно любое из условий, сложите проверки. Сложение действует как OR, поскольку сумма равна как минимум 1, если хотя бы одна проверка даёт TRUE.
=FILTER(A2:C10, (B2:B10="East")+(B2:B10="West"))
Формула возвращает строки из региона East или West. Строка с результатом 1 или 2 сохраняется, а строка с результатом 0 удаляется.
=FILTER(A2:C10, (B2:B10="East")+(B2:B10="West"))Обработка отсутствия совпадений
Если ни одна строка не соответствует условию, FILTER по умолчанию возвращает ошибку #CALC!. Необязательный третий аргумент позволяет заменить её понятным сообщением:
=FILTER(A2:C10, B2:B10="South", "No matches found")
Если региона South нет, ячейка отображает текст вместо ошибки. В настоящих отчётах всегда добавляйте значение if_empty.
=FILTER(A2:C10, B2:B10="South", "No matches found")Фильтрация по значению ячейки
Для интерактивного отчёта сравнивайте данные с ячейкой, а не с жёстко заданным значением. Если в E1 указан выбранный пользователем регион:
=FILTER(A2:C10, B2:B10=E1, "No matches")
Измените E1 на West — и разлитый список мгновенно обновится, показывая строки региона West. Это основа панели мониторинга, управляемой раскрывающимся списком.
=FILTER(A2:C10, B2:B10=E1, "No matches")Сортировка отфильтрованных результатов
FILTER возвращает совпадения в исходном порядке. Чтобы отсортировать их, вложите FILTER в SORT. Чтобы вывести строки региона East, отсортированные по убыванию продаж:
=SORT(FILTER(A2:C10, B2:B10="East"), 3, -1)
SORT упорядочивает разлитую таблицу по третьему столбцу, а -1 означает сортировку по убыванию. Такое объединение функций разлива распространено и очень эффективно.
=SORT(FILTER(A2:C10, B2:B10="East"), 3, -1)FILTER в Google Таблицах
FILTER работает и в Excel 365, и в Google Таблицах, используя почти одинаковый синтаксис. В Google Таблицах можно передавать несколько условий отдельными аргументами, а не перемножать их:
=FILTER(A2:C10, B2:B10="East", C2:C10>500)
Таблицы обрабатывают каждый дополнительный аргумент как условие AND. В Excel в единственном аргументе include используются умножение для AND и сложение для OR.
=FILTER(A2:C10, B2:B10="East", C2:C10>500)Быстрая проверка
Проверьте, насколько хорошо Вы поняли FILTER.
Итоги: фильтрация с помощью FILTER
Вы научились возвращать только подходящие строки с помощью FILTER:
- Синтаксис:
=FILTER(array, include, [if_empty]). - Проверка include должна соответствовать высоте массива.
- Перемножайте проверки для AND и складывайте их для OR.
- Добавляйте сообщение if_empty, чтобы избежать ошибок #CALC!.
- Вкладывайте FILTER в SORT, чтобы упорядочить результаты.
Далее Вы научитесь извлекать список уникальных значений с помощью UNIQUE.
Часто задаваемые вопросы
Урок «Фильтрация данных с помощью FILTER» бесплатный?
Да — полный текст урока «Фильтрация данных с помощью FILTER» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Excel Formulas Academy, подпишись на CoddyKit PRO. Курс Excel Formulas Academy содержит 4 уроков всего.
Чему я научусь в уроке «Фильтрация данных с помощью FILTER»?
Динамически возвращайте только строки, соответствующие вашим условиям Ты практикуешь Excel Formulas Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Excel Formulas Academy?
Предыдущий опыт не требуется. Excel Formulas Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Фильтрация данных с помощью FILTER»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Excel Formulas Academy?
Да. Каждый урок Excel Formulas Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Что означает разлив формулы
- Фильтрация данных с помощью FILTER
- Удаление дубликатов с помощью UNIQUE
- Обработка ошибки SPILL