Функция FILTER в Google Таблицах и Excel — это мощный инструмент для динамической выборки данных. Но что делать, если нужно отфильтровать таблицу сразу по нескольким критериям? В этой инструкции мы разберем, как объединять условия с помощью логических операторов И (AND) и ИЛИ (OR), чтобы извлекать только нужные строки без рутины.
Видеоинструкция
Синтаксис и базовая логика работы
В отличие от стандартных фильтров, функция FILTER использует математические операторы для объединения условий:
- Умножение (*) — работает как логическое И (AND). Строка попадет в результат, только если выполняются ВСЕ условия одновременно.
- Сложение (+) — работает как логическое ИЛИ (OR). Строка попадет в результат, если выполняется хотя бы ОДНО из условий.
Шаг 1. Фильтрация по нескольким условиям «И» (Умножение)
Допустим, у нас есть таблица продаж, и нам нужно отфильтровать строки, где регион равен «Восток» И сумма продаж больше 500. Используйте оператор *:
=FILTER(A2:C10, (B2:B10="Восток") * (C2:C10>500)) Каждое условие обязательно заключается в круглые скобки. Если вы импортировали данные из внешних систем и столкнулись с проблемами кодировки, вам поможет наша статья: Импорт CSV в UTF-8 с кириллицей: пошаговая инструкция.
Шаг 2. Фильтрация по нескольким условиям «ИЛИ» (Сложение)
Если нужно найти строки, где регион равен «Восток» ИЛИ регион равен «Запад», используйте оператор +:
=FILTER(A2:C10, (B2:B10="Восток") + (B2:B10="Запад")) Это вернет все строки, соответствующие любому из указанных регионов.
Шаг 3. Комбинирование условий «И» и «ИЛИ»
Вы можете объединять эти операторы для сложных выборок. Например, найти продажи в регионе «Восток» ИЛИ «Запад», но только те, где сумма больше 500:
=FILTER(A2:C10, ((B2:B10="Восток") + (B2:B10="Запад")) * (C2:C10>500)) Обратите внимание на внешние скобки вокруг группы условий «ИЛИ» — они определяют приоритет выполнения операций.
A2:C10 (9 строк), то и условия должны проверять диапазоны из 9 строк (например, B2:B10). Иначе функция вернет ошибку #N/A или #VALUE!. Частые ошибки и устранение неполадок
- Ошибка #N/A (Нет доступных данных): Возникает, если ни одна строка не соответствует заданным условиям. Чтобы избежать этого, оберните формулу в
IFERRORили используйте третий необязательный аргумент в Google Sheets:=FILTER(A2:C10, (B2:B10="Восток") * (C2:C10>10000), "Нет данных") - Ошибка #VALUE! (Несовпадение размеров): Проверьте диапазоны. Если исходный массив —
A2:D100, а условие проверяетB2:B99, формула выдаст ошибку. - Ошибка #REF! (Блокировка вывода): Возникает, если на пути распространения отфильтрованных данных стоят другие заполненные ячейки. Очистите место под формулой.
Дополнительно: Автоматическая нумерация результатов
Часто после фильтрации данных требуется пронумеровать полученные строки по порядку. Чтобы сделать это динамически, ознакомьтесь с руководством: Автонумерация строк в Google Таблицах: 4 способа.
Также помните, что для быстрого ввода формул и перемещения по таблице можно использовать горячие клавиши. Например, чтобы быстро выделить весь столбец данных, нажмите Ctrl + Shift + ↓ (или Cmd + Shift + ↓ на Mac).
Часто задаваемые вопросы
Можно ли использовать FILTER с условиями из разных листов?
Да, вы можете ссылаться на диапазоны на других листах, главное, чтобы высота (количество строк) этих диапазонов строго совпадала с высотой фильтруемого диапазона.
Почему FILTER возвращает ошибку #VALUE! при использовании операторов AND/OR?
Внутри функции FILTER стандартные функции AND и OR не работают для массивов. Вместо них нужно использовать математические операторы * (для И) и + (для ИЛИ).








