Зачем нужен текстовый фильтр и где его применять
Вы когда-нибудь теряли часы на поиск нужной строки в огромной таблице, пролистывая сотни записей? Текстовый фильтр в Microsoft Excel решает эту проблему за секунды. Он позволяет отображать только те строки, которые содержат (или не содержат) указанные слова, буквы, цифры или даже символы. Это как поисковая система внутри вашей таблицы — но с расширенными возможностями.
Где это пригодится на практике? Представьте: у вас базы клиентов с адресами, каталоги товаров с описаниями, журналы заказов с комментариями или финансовые отчёты с примечаниями. Вместо того чтобы вручную просматривать каждую строку, вы можете:
- 🔍 Найти все заказы с пометкой "срочно" или "VIP-клиент"
- 📦 Отфильтровать товары по ключевым словам в описании (например, "эко" или "премиум")
- 📊 Выделить строки с ошибками в данных (например, где вместо почты указан "неизвестно")
- 📅 Оставить только записи за конкретный период, упомянутый в текстовом поле (например, "январь 2026")
В этой статье мы разберём 5 методов текстовых фильтров — от базовых до продвинутых, включая малоизвестные фишки, которые экономят время. Вы узнаете, как работать с частичным совпадением, регулярными выражениями, несколькими условиями одновременно и даже как автоматизировать фильтрацию через Power Query. Начнём с самого простого — стандартного фильтра по фрагменту текста.
Метод 1: Базовый текстовый фильтр через меню "Фильтр"
Это самый быстрый способ, который работает во всех версиях Excel (включая Excel 365, 2021, 2019 и даже 2010). Подходит для одноразовых задач, когда нужно быстро отсеять ненужные данные.
Как включить:
- Выделите любую ячейку в таблице (или весь диапазон данных).
- Перейдите на вкладку
Данные→ нажмите кнопкуФильтр(или используйте горячие клавишиCtrl+Shift+L). - В правой части заголовков столбцов появятся значки воронки ⬇️. Кликните по тому, где хотите применить текстовый фильтр.
Дальше выберите один из вариантов:
- 📌 "Текстовые фильтры" → "Содержит" — для поиска строк с указанным фрагментом (например, "Москва" найдёт и "Москва", и "Московская обл.").
- 📌 "Равно" — для точного совпадения (полезно, если в ячейках одинаковые значения, например, "Да" или "Нет").
- 📌 "Начинается с" / "Заканчивается на" — для фильтрации по префиксам или суффиксам (например, все артикулы, начинающиеся на "ART-").
☑️ Проверка перед применением фильтра
Пример: Допустим, у вас список заказов с колонкой "Статус". Чтобы увидеть только "Отменённые" заказы:
- Кликните по фильтру в столбце "Статус".
- Выберите "Текстовые фильтры" → "Равно".
- Введите "Отменён" (регистр не важен) → нажмите
ОК.
⚠️ Внимание: Если после фильтрации данные не отображаются, проверьте:
- 🔹 Нет ли скрытых символов (пробелов, переносов строк) в ячейках. Используйте функцию
=ЧИСТ(), чтобы их убрать. - 🔹 Не включён ли режим "Выделить только видимые ячейки" (может мешать копированию отфильтрованных данных).
Метод 2: Расширенный фильтр с несколькими условиями
Что делать, если нужно отфильтровать данные по двум или более текстовым критериям одновременно? Например, найти все заказы от клиентов из "Санкт-Петербурга", где в комментарии есть слово "срочно". Здесь поможет расширенный фильтр — инструмент, который позволяет комбинировать условия по разным столбцам.
Алгоритм действий:
- Создайте диапазон условий (обычно над или рядом с основной таблицей). Скопируйте туда заголовки столбцов, по которым будете фильтровать.
- Под заголовками введите критерии. Например:
A1: Город | B1: КомментарийA2: Санкт-Петербург | B2: срочно
Здесь звёздочка
*означает "любой текст до/после" (аналог "содержит"). - Перейдите на вкладку
Данные→Сортировка и фильтр→Дополнительно. - В окне "Расширенный фильтр" укажите:
- 📍 Исходный диапазон — ваша основная таблица (включая заголовки).
- 📍 Диапазон условий — ячейки с критериями (в нашем примере
A1:B2). - 📍 Отметьте "Скопировать результат в другое место", если хотите сохранить отфильтрованные данные отдельно.
| Тип условия | Пример записи | Что найдёт |
|---|---|---|
| Точное совпадение | = "Москва" | Только ячейки с "Москва" (без лишних символов) |
| Частичное совпадение | = "ург" | Слова с "ург" в любом месте (например, "Екатеринбург", "Сургут") |
| Начинается с... | = "А*" | Слова на "А" (например, "Анна", "Александр") |
| Не содержит | <> "тест" | Все строки, где нет слова "тест" |
Критичный нюанс: если в диапазоне условий несколько строк, Excel воспринимает их как логическое "ИЛИ" (например, "Москва" ИЛИ "Казань"). Чтобы применить "И" (одновременно несколько условий), записывайте критерии в одну строку под разными заголовками.
Метод 3: Фильтрация по регулярным выражениям (Power Query)
Стандартные текстовые фильтры в Excel не поддерживают полноценные регулярные выражения (regex). Но если вам нужно искать данные по сложным шаблонам (например, email-адреса, телефоны, артикулы с определённой структурой), на помощь придёт Power Query — встроенный инструмент для трансформации данных.
Как это работает:
- Выделите вашу таблицу и нажмите
Данные→Из таблицы/диапазона(в Excel 2016+). - В открывшемся окне Power Query выберите столбец, который нужно отфильтровать.
- Кликните по значку фильтра ⬇️ → "Текстовые фильтры" → "Дополнительные текстовые фильтры".
- В поле "Фильтр строк" выберите "Совпадает с шаблоном" и введите regex-выражение. Например:
- 📧
[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}— для поиска email. - 📞
\+7 \(\d{3}\) \d{3}-\d{2}-\d{2}— для телефонов в формате "+7 (XXX) XXX-XX-XX". - 🏷️
ART-\d{5}— для артикулов типа "ART-12345".
- 📧
ОК → Закрыть и загрузить, чтобы вернуть отфильтрованные данные в Excel.Пример: Допустим, у вас список контактов с колонкой "Телефон", где данные записаны вразнобой: "+79123456789", "8(912)345-67-89", "912-345-6789". Чтобы оставить только корректные номера в формате "+7XXXXXXXXXX":
- Загрузите данные в Power Query.
- Отфильтруйте столбец "Телефон" по шаблону
\+7\d{10}. - Готово! В результате останутся только номера с "+7" и 10 цифрами.
- 🔄 Фильтровать таблицу по нескольким ключевым словам одновременно.
- 📂 Сохранять отфильтрованные данные в отдельный файл.
- 🔍 Искать данные с учётом регистра или без него.
- 📊 Автоматически строить отчёт по отфильтрованным строкам.
Что делать, если Power Query не находит ваш Excel?
В некоторых версиях Excel 2013/2016 Power Query может быть отключён по умолчанию. Чтобы его активировать:
1. Перейдите в Файл → Параметры → Надстройки.
2. Внизу в разделе "Управление" выберите "Надстройки COM" → Перейти.
3. Отметьте "Microsoft Power Query for Excel" и нажмите ОК.
После перезапуска Excel инструмент появится на вкладке Данные.
Метод 4: Фильтр через функции (ФИЛЬТР, ПОИСК, ЕСЛИ)
Если вам нужно не просто отобразить отфильтрованные строки, а автоматически перенести их в другую таблицу или использовать результат в формулах, пригодятся функции ФИЛЬТР (в Excel 365/2021) и комбинации ЕСЛИ + ПОИСК (для старых версий).
Способ 1. Функция ФИЛЬТР (динамические массивы)
Синтаксис:
=ФИЛЬТР(диапазон; (условие1) * (условие2); "Не найдено")
Пример: Отфильтровать список товаров, где в названии есть "ноутбук" И цена > 50 000:
=ФИЛЬТР(A2:B100; (ПОИСК("ноутбук"; A2:A100)) * (B2:B100 > 50000); "")
Способ 2. Классические функции (для Excel 2019 и старше)
Если у вас старая версия, используйте вспомогательный столбец с формулой:
=ЕСЛИ(ЕЧИСЛО(ПОИСК("срочно"; D2)); "Да"; "Нет")
Затем отфильтруйте таблицу по столбцу с результатом "Да".
| Функция | Назначение | Пример использования |
|---|---|---|
ПОИСК |
Ищет подстроку в тексте (регистр не важен) | =ПОИСК("ург"; "Екатеринбург") → вернёт 6 (позиция буквы "у") |
НАЙТИ |
Аналог ПОИСК, но с учётом регистра |
=НАЙТИ("М"; "москва") → ошибка (первая буква строчная) |
ЕЧИСЛО |
Проверяет, является ли результат числом (а не ошибкой) | =ЕЧИСЛО(ПОИСК("x"; A2)) → ИСТИНА, если "x" найден |
ФИЛЬТР |
Возвращает отфильтрованный динамический массив | =ФИЛЬТР(A2:B10; ПОИСК("VIP"; A2:A10)) |
⚠️ Внимание: ФункцияФИЛЬТРдоступна только в Excel 365 и Excel 2021. В старых версиях используйте комбинациюИНДЕКС+ПОИСКПОЗили макросы.
Метод 5: Автоматизация через VBA (для сложных задач)
Если вам регулярно приходится фильтровать данные по сложным текстовым шаблонам, имеет смысл написать макрос на VBA. Это ускорит работу в десятки раз. Например, можно создать кнопку, которая будет:
Пример макроса для фильтрации по частичному совпадению:
Sub TextFilter()
Dim ws As Worksheet
Dim rng As Range
Dim filterText As String
Set ws = ActiveSheet
Set rng = ws.Range("A1").CurrentRegion ' Выбираем всю таблицу
filterText = InputBox("Введите текст для фильтра:", "Фильтр по тексту")
' Убираем предыдущие фильтры
If ws.AutoFilterMode Then ws.AutoFilterMode = False
' Применяем фильтр
rng.AutoFilter Field:=2, Criteria1:="=" & filterText & "", Operator:=xlAnd
End Sub
Как использовать:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - Вставьте код выше в новый модуль (
Insert → Module). - Вернитесь в Excel, на вкладке
РазработчикнажмитеМакросы→ выберитеTextFilter→Выполнить. - В появившемся окне введите искомый текст (например, "срочно") →
ОК.
Продвинутый вариант: Чтобы макрос фильтровал по нескольким словам одновременно, модифицируйте строку с Criteria1:
rng.AutoFilter Field:=2, Criteria1:="=" & filterText1 & "", _
Operator:=xlOr, Criteria2:="=" & filterText2 & ""
Типичные ошибки и как их избежать
Даже опытные пользователи Excel иногда сталкиваются с проблемами при текстовых фильтрах. Вот самые распространённые ловушки и способы их обойти:
- Фильтр не находит данные, которые есть в таблице.
- 🔹 Причина: Лишние пробелы или непечатаемые символы в ячейках. Используйте
=ЧИСТ(СЖПРОБЕЛЫ(A2)), чтобы очистить данные. - 🔹 Решение: Проверьте регистр букв — стандартный фильтр "Равно" чувствителен к нему (например, "Москва" ≠ "москва").
- 🔹 Причина: Лишние пробелы или непечатаемые символы в ячейках. Используйте
- Фильтр применяется не ко всей таблице.
- 🔹 Причина: Excel автоматически определяет диапазон данных, но может "не увидеть" скрытые строки или пустые столбцы.
- 🔹 Решение: Выделите диапазон вручную (включая заголовки) перед применением фильтра.
- 🔹 Причина: Формулы в скрытых строках не пересчитываются (настройка "Игнорировать скрытые строки" в параметрах книги).
- 🔹 Решение: Используйте функцию
ПРОМЕЖУТОЧНЫЕ.ИТОГИвместоСУММилиСРЗНАЧ.
Секретный приём: Если фильтр "зависает" на больших таблицах (100 000+ строк), попробуйте:
- Преобразовать данные в умную таблицу (
Ctrl + T). - Отключить автоматический пересчёт формул (
Формулы → Параметры вычислений → Вручную). - Использовать Power Query вместо стандартного фильтра — он оптимизирован для больших объёмов.
FAQ: Ответы на частые вопросы
Можно ли в Excel фильтровать данные по цвету текста?
Да, но не через текстовый фильтр. Используйте "Фильтр по цвету" в меню фильтра (значок ⬇️ рядом с заголовком столбца). Этот метод работает, если ячейки окрашены вручную или через условное форматирование. Обратите внимание: фильтр по цвету не ищет текст по содержимому — он отбирает строки, где ячейки окрашены в выбранный цвет.
Как отменить все фильтры сразу?
Есть 3 способа:
- Нажмите
Данные → Фильтр(это отключит фильтрацию для всей таблицы). - Используйте горячие клавиши:
Ctrl + Shift + L(применяет/убирает фильтр). - В любой выпадающий список фильтра выберите "(Выделить всё)".
Если фильтр применён к умной таблице, кликните по значку фильтра в заголовке и выберите "Очистить фильтр".
Почему при копировании отфильтрованных данных копируются все строки?
Это происходит, если включён режим "Выделить только видимые ячейки". Чтобы скопировать только отфильтрованные строки:
- Выделите диапазон с данными.
- Нажмите
Alt + ;(это выделит только видимые ячейки). - Скопируйте (
Ctrl + C) и вставьте (Ctrl + V) в новое место.
Альтернатива: используйте функцию ФИЛЬТР (в Excel 365), которая возвращает только отфильтрованные данные.
Как фильтровать данные по дате, записанной в текстовом формате?
Если даты хранятся как текст (например, "01.05.2026" вместо формального формата даты), стандартный фильтр по датам не сработает. Решения:
- 📅 Вариант 1: Преобразуйте текст в дату с помощью
=ДАТАЗНАЧ(A2)во вспомогательном столбце, затем фильтруйте по нему. - 🔍 Вариант 2: Используйте текстовый фильтр с шаблоном (например, "05.2026" для мая 2026 года).
- 🛠️ Вариант 3: В Power Query измените тип данных столбца на "Дата" (
Преобразовать → Тип данных → Дата).
Можно ли сохранить фильтр, чтобы не настраивать его каждый раз?
Да, есть несколько способов:
- 📁 Сохранение книги: Просто сохраните файл с применённым фильтром. При следующем открытии фильтр останется активным.
- 🖥️ Шаблон: Создайте шаблон (
.xltx) с заранее настроенными фильтрами. - 🤖 Макрос: Запишите макрос (
Разработчик → Запись макроса), который применяет нужный фильтр, и назначьте его на кнопку. - 📊 Умная таблица: Преобразуйте диапазон в таблицу (
Ctrl + T) — фильтры в ней сохраняются при сортировке и обновлении данных.