Как отфильтровать несколько значений в столбце Excel: полное руководство

Почему стандартный фильтр не всегда удобен

Вы когда-нибудь пытались найти в Excel сразу несколько категорий товаров, городов или идентификаторов — и обнаруживали, что стандартный автофильтр позволяет выбрать только одно значение за раз? Эта проблема знакома каждому, кто работает с большими массивами данных. Например, вам нужно проанализировать продажи только по Москва, Санкт-Петербург и Екатеринбург, но при применении фильтра приходится вручную отмечать каждый город по отдельности. А если таких значений не 3, а 50?

В этой статье мы разберём 5 профессиональных методов фильтрации нескольких значений одновременно — от простых до продвинутых. Вы узнаете, как использовать Расширенный фильтр, формулы с ФИЛЬТР() (для Excel 365), Power Query, а также автоматизировать процесс с помощью VBA. Каждый способ подходит для разных сценариев: от разовых задач до регулярной обработки данных.

Особое внимание уделим скрытому ограничению автофильтра — он не показывает более 10 000 уникальных значений в выпадающем списке, что делает его бесполезным для больших баз. Но об этом позже.

Метод 1: Стандартный автофильтр (для небольших списков)

Если вам нужно отфильтровать 2-10 значений в столбце, стандартный автофильтр справится — но с оговорками. Вот как это работает:

  1. Выделите любую ячейку в таблице (например, заголовок столбца).
  2. Нажмите Ctrl+Shift+L или перейдите на вкладку Данные → Фильтр.
  3. Кликните по стрелке фильтра в нужном столбце.
  4. Снимите галочку с (Выделить всё).
  5. Вручную отметьте нужные значения (удерживайте Ctrl для множественного выбора).

⚠️ Внимание: Если в столбце больше 1000 уникальных значений, Excel не покажет их все в выпадающем списке. Вместо этого вы увидите сообщение "Показаны первые 1000 элементов". В таких случаях используйте Метод 2 или 3.

📊 Как часто вы фильтруете данные в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда
  • Плюсы: Быстро, не требует формул.
  • Минусы: Неудобно для больших списков, нет возможности сохранить набор фильтров.

Метод 2: Расширенный фильтр (для опытных пользователей)

Расширенный фильтр — это скрытый инструмент Excel, который позволяет фильтровать данные по сложным критериям, включая несколько значений в одном столбце. Вот как его настроить:

  1. Создайте диапазон критериев над или под вашей таблицей. Например, если фильтруете столбец B (города), в ячейки E1:E4 введите:
    Город
    

    Москва

    Санкт-Петербург

    Екатеринбург

  2. Перейдите в Данные → Сортировка и фильтр → Расширенный фильтр.
  3. В поле Исходный диапазон укажите вашу таблицу (например, $A$1:$D$1000).
  4. В поле Диапазон условий укажите диапазон критериев (например, $E$1:$E$4).
  5. Выберите Фильтровать список на месте и нажмите OK.

⚠️ Внимание: Если в диапазоне критериев есть пустые ячейки, Excel проигнорирует все значения после них. Например, если в E3 пусто, будут учтены только Москва и Санкт-Петербург.

Метод Макс. значений Требует формул Сохраняет фильтр
Автофильтр 10 (удобно) Нет Нет
Расширенный фильтр Неограничено Нет Нет
Формула ФИЛЬТР() Неограничено Да Да (динамический)

Создать отдельный диапазон критериев|Убедиться, что заголовки совпадают|Проверить отсутствие пустых ячеек в критериях|Задать абсолютные ссылки ($A$1) для диапазонов-->

Метод 3: Формула ФИЛЬТР() (для Excel 365 и 2021)

Если у вас Excel 365 или Excel 2021, функция ФИЛЬТР() станет вашим главным инструментом. Она позволяет динамически фильтровать данные без ручного применения фильтров. Пример:

Предположим, у вас таблица в диапазоне A1:D100, где столбец B содержит города. Чтобы отфильтровать строки с городами из диапазона F2:F4 (где перечислены Москва, Санкт-Петербург, Екатеринбург), используйте:

=ФИЛЬТР(A2:D100; ПОИСКПОЗ(B2:B100; F2:F4; 0); "Нет данных")

Как это работает:

  • 🔍 ПОИСКПОЗ проверяет, есть ли значение из столбца B в списке F2:F4.
  • 📊 ФИЛЬТР возвращает только те строки, где условие истинно.
  • ⚠️ Если совпадений нет, формула вернёт "Нет данных".

⚠️ Внимание: Функция ФИЛЬТР() не работает в Excel 2019 и старше. Для этих версий используйте Метод 4 (Power Query).

Метод 4: Power Query (для больших данных)

Power Query — это инструмент Excel для обработки больших массивов данных, который позволяет фильтровать значения без ограничений по количеству. Вот пошаговая инструкция:

  1. Выделите вашу таблицу и нажмите Данные → Из таблицы/диапазона (в группе Получить и преобразовать).
  2. В открывшемся редакторе Power Query выберите столбец, который нужно отфильтровать.
  3. Нажмите на стрелку фильтра и выберите Текстовые фильтры → Равно....
  4. Введите первое значение (например, Москва) и нажмите OK.
  5. Повторите шаги 3-4 для остальных значений, выбрав Добавить в фильтр (ИЛИ).
  6. Нажмите Закрыть и загрузить, чтобы применить фильтр.

Преимущества Power Query:

  • 🔄 Обрабатывает миллионы строк без замедления.
  • 📁 Можно сохранить запрос и обновлять данные одним кликом.
  • 🔗 Поддерживает соединение с внешними источниками (SQL, CSV, веб).
Как автоматизировать обновление фильтра в Power Query?

Создайте параметр (переменную) в Power Query, который будет хранить список значений для фильтрации. Затем свяжите этот параметр с диапазоном в Excel. При изменении диапазона достаточно обновить запрос (Данные → Обновить все).

Метод 5: Макросы VBA (для автоматизации)

Если вам нужно регулярно фильтровать одни и те же наборы значений, напишите простой макрос. Например, этот код фильтрует столбец B по значениям из диапазона F2:F4:

Sub FilterMultipleValues()

Dim ws As Worksheet

Dim filterRange As Range, criteriaRange As Range

Set ws = ActiveSheet

Set filterRange = ws.Range("A1:D100") ' Диапазон данных

Set criteriaRange = ws.Range("F1:F4") ' Диапазон критериев

' Применяем расширенный фильтр

filterRange.AdvancedFilter _

Action:=xlFilterInPlace, _

CriteriaRange:=criteriaRange, _

Unique:=False

End Sub

Как использовать:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Закройте редактор и запустите макрос через Вид → Макросы.

⚠️ Внимание: Перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов), иначе код не сработает.

Сравнение методов: какой выбрать?

Выбор метода зависит от версии Excel, размера данных и частоты использования. Вот краткое сравнение:

Критерий Автофильтр Расширенный фильтр Формула ФИЛЬТР() Power Query VBA
Подходит для больших данных ❌ Нет ✅ Да ✅ Да ✅ Да ✅ Да
Требует знаний программирования ❌ Нет ❌ Нет ⚠️ Базовые ⚠️ Средние ✅ Да
Динамическое обновление ❌ Нет ❌ Нет ✅ Да ✅ Да ✅ Да
Работает в Excel 2016 ✅ Да ✅ Да ❌ Нет ✅ Да ✅ Да

Рекомендации:

  • 📌 Для разовых задач с небольшими данными — Расширенный фильтр.
  • 📌 Для динамических отчётов в Excel 365ФИЛЬТР().
  • 📌 Для больших баз (100K+ строк) — Power Query.
  • 📌 Для автоматизацииVBA.

FAQ: Частые вопросы по фильтрации

Можно ли отфильтровать по нескольким значениям в разных столбцах?

Да, для этого используйте Расширенный фильтр или Power Query. В первом случае создайте диапазон критериев с несколькими столбцами. Например:

Город   Категория

Москва Электроника

СПб Одежда

Это отфильтрует строки, где Город = Москва ИЛИ (Город = СПб И Категория = Одежда).

Почему автофильтр не показывает все значения в списке?

Excel ограничивает выпадающий список автофильтра первыми 10 000 уникальными значениями. Если их больше, используйте:

  • Расширенный фильтр (без ограничений).
  • Поиск в поле фильтра (введите часть значения вручную).
Как сохранить набор фильтров для повторного использования?

Стандартные фильтры не сохраняются, но есть обходные пути:

  • 📌 Для Excel 365: используйте ФИЛЬТР() — формула сохранит критерии.
  • 📌 Для других версий: запишите макрос (Вид → Макросы → Записать макрос), который применяет нужные фильтры.
  • 📌 В Power Query сохраните запрос — он будет обновляться по тем же критериям.
Можно ли фильтровать по частичному совпадению (например, "Моск*" для "Москва" и "Московская область")?

Да, для этого:

  1. В автофильтре выберите Текстовые фильтры → Содержит... и введите Моск*.
  2. В Расширенном фильтре используйте подстановочный знак:
    =Моск
  3. В Power Query примените фильтр Текст содержит.
Как убрать фильтр, если он завис или не снимается?

Если Excel "забыл" снять фильтр, попробуйте:

  1. Нажмите Данные → Фильтр (чтобы убрать галочку).
  2. Используйте сочетание Ctrl + Shift + L.
  3. Если не помогает, выделите всю таблицу (Ctrl + A) и нажмите Главная → Сортировка и фильтр → Очистить.
  4. В крайнем случае закройте и откройте файл заново (несохранённые данные будут потеряны!).