Фильтр по слову в Excel: 5 способов найти нужные данные за 30 секунд

Работа с большими таблицами в Microsoft Excel часто превращается в поиск иголки в стоге сена — особенно когда нужно найти строки с конкретным словом или фразой. Стандартный поиск по Ctrl+F показывает только первую ячейку, а прокручивать тысячи строк вручную — неэффективно. К счастью, в Excel есть мощные инструменты фильтрации, которые позволяют отображать только те записи, где встречается заданное слово, буква или комбинация символов.

Эта статья не просто расскажет, как включить базовый фильтр — мы разберём 5 различных методов, включая текстовые фильтры с подстановочными знаками, формулы для динамической фильтрации и даже использование Power Query для сложных запросов. Вы узнаете, как искать слова с учётом регистра, как фильтровать по части словам (например, найти все ячейки с «ов» в конце), и как автоматизировать процесс с помощью макросов. А для тех, кто работает с Google Таблицами, мы добавили отдельный раздел с нюансами фильтрации в облачном сервисе.

1. Базовый автофильтр: как включить и настроить поиск по слову

Начнём с самого простого — встроенного автофильтра, который доступен во всех версиях Excel (начиная с 2007 года). Этот метод подходит для 90% задач и занимает меньше минуты.

Чтобы активировать фильтр:

  1. Выделите диапазон данных (включая заголовки столбцов).
  2. Перейдите на вкладку Данные → нажмите Фильтр (или используйте горячие клавиши Ctrl+Shift+L).
  3. В правой части заголовков столбцов появятся значки воронки — кликните по тому, где нужно искать слово.

Далее в выпадающем меню выберите Текстовые фильтрыСодержит.... В появившемся окне введите искомое слово (например, «отчёт») и нажмите ОК. Excel скрывает все строки, кроме тех, где в выбранном столбце есть это слово.

Выделен весь диапазон данных (включая шапку)|

Удалены пустые строки/столбцы в диапазоне|

Проверена кодировка (нет "кракозябров" в тексте)|

Сохранена копия файла на случай ошибки-->

⚠️ Внимание: Если после применения фильтра данные «исчезли», проверьте:
  • Не стоит ли галочка Выделить всё в фильтре (она сбрасывает выбор).
  • Нет ли скрытых символов (пробелов, переносов) в искомом слове — используйте функцию =ЧИСТ() для очистки.

Автофильтр поддерживает и множественный поиск: в том же окне Содержит... можно ввести несколько слов через точку с запятой (например, «отчёт; квартал; 2026»). Excel покажет строки, где встречается хотя бы одно из слов.

2. Продвинутые текстовые фильтры: подстановочные знаки и регулярные выражения

Что делать, если нужно найти все слова, начинающиеся на «про», заканчивающиеся на «ция» или содержащие определённую последовательность букв? Здесь помогут подстановочные знаки:

  • 🔹 * (звёздочка) — заменяет любое количество символов. Пример: *ов найдёт «Иванов», «Петров», «Сидоров».
  • 🔹 ? (вопросительный знак) — заменяет один символ. Пример: с?т найдёт «кот», «сот», «кит».
  • 🔹 ~ (тильда) — экранирует спецсимволы. Пример: ~* найдёт ячейки, где есть сама звёздочка.

Чтобы использовать их:

  1. Откройте фильтр для столбца → Текстовые фильтрыНастраиваемый фильтр.
  2. В выпадающем меню выберите содержит или заканчивается на.
  3. В поле ввода укажите шаблон (например, про* для слов на «про»).

Часто, для сложных фильтров|

Иногда, когда нужно найти шаблон|

Раньше не знал(а) о такой возможности|

Предпочитаю формулы-->

Важный нюанс: подстановочные знаки в Excel НЕ поддерживают полноценные регулярные выражения (в отличие от Google Таблиц). Например, вы не сможете искать по шаблону «[А-Я]ов» (все слова на заглавную букву, оканчивающиеся на «ов»). Для таких задач потребуется Power Query или VBA-скрипт.

Задача Шаблон для фильтра Пример результата
Слова на «про» про* проект, процесс, продукция
Слова из 4 букв, где 2-я буква «а» ?а?? база, дата, папа
Слова с дефисом - москва-сити, e-mail
Точное совпадение (без лишних символов) =отчёт (с равно) только «отчёт», но не «отчётность»

3. Фильтр с учётом регистра: как найти «Отчёт», но не «отчёт»

По умолчанию Excel игнорирует регистр при фильтрации. Если вам нужно найти слова точно в таком же регистре (например, только «Отчёт» с заглавной буквы), стандартный фильтр не поможет. Решения:

Способ 1. Формула + автофильтр

  1. Добавьте вспомогательный столбец с формулой:
    =ЕСЛИ(НАЙТИ("Отчёт"; A2)=1; "Да"; "")

    Здесь A2 — ячейка для проверки, "Отчёт" — искомое слово с нужным регистром.

  2. Примените автофильтр к вспомогательному столбцу и отфильтруйте по значению «Да».

Способ 2. Power Query (Excel 2016+)

Если у вас Excel 2016 или новее:

  1. Выделите данные → ДанныеИз таблицы/диапазона (загрузит в Power Query).
  2. Выберите столбец → ДомашняяФильтр строкТекстовые фильтрыРавно....
  3. Введите слово с нужным регистром (например, «Отчёт») и нажмите ОК.
  4. Нажмите Закрыть и загрузить, чтобы вернуть отфильтрованные данные в Excel.

⚠️ Внимание: В Google Таблицах фильтр с учётом регистра работает иначе — там нужно использовать функцию =REGEXMATCH() с флагом (?i) для игнорирования регистра или без него для точного совпадения.

4. Фильтрация по нескольким словам: логические условия «И»/«ИЛИ»

Допустим, вам нужно найти строки, где в одном столбце есть одновременно слова «отчёт» и «квартал», или хотя бы одно из слов «прибыль», «убыток». Для этого:

Логическое «И» (оба слова должны присутствовать):

  1. Откройте Текстовые фильтрыНастраиваемый фильтр.
  2. В первом поле выберите содержит → введите «отчёт».
  3. Во втором поле выберите исодержит → введите «квартал».

Логическое «ИЛИ» (хотя бы одно слово):

  1. В том же окне Настраиваемый фильтр выберите или между полями.
  2. Введите слова в каждое поле (например, «прибыль» в первое, «убыток» во второе).

Для более двух условий проще использовать формулу в вспомогательном столбце:

=ЕСЛИ(ИЛИ(ЕНАЙТИ("прибыль"; A2); ЕНАЙТИ("убыток"; A2)); "Да"; "")

Здесь ЕНАЙТИ — это комбинация =ЕЧИСЛО(НАЙТИ(...)), которая проверяет наличие подстроки без ошибок.

Как работает функция ЕНАЙТИ?

Функция =ЕНАЙТИ(искомая_подстрока; текст; [нач_позиция]) возвращает позицию подстроки в тексте или ошибку #ЗНАЧ!, если подстрока не найдена. Обёртка =ЕЧИСЛО() преобразует результат в ИСТИНА/ЛОЖЬ, что удобно для фильтрации.

5. Динамическая фильтрация: формулы + выпадающий список

Если вам нужно интерактивное решение, где пользователь выбирает слово из списка, а таблица автоматически фильтруется, используйте связку ФИЛЬТР() (Excel 365) или ДВССЫЛ() + ПРОСМОТР() (для старых версий).

Для Excel 365/2021:

  1. Создайте выпадающий список (проверка данных) со словами для фильтра.
  2. В отдельном диапазоне используйте формулу:
    =ФИЛЬТР(исходная_таблица; ЕНАЙТИ(D1; столбец_для_поиска))

    где D1 — ячейка с выбранным словом.

Для Excel 2016 и старше:

  1. Создайте вспомогательный столбец с формулой:
    =ЕСЛИ(ЕНАЙТИ($D$1; A2); СТРОКА(A2); "")
  2. Отфильтруйте таблицу по этому столбцу, исключив пустые значения.

Пример динамической фильтрации: Скриншот: выпадающий список с словами 'отчёт', 'договор', 'счёт' и отфильтрованная таблица

6. Фильтрация в Google Таблицах: ключевые отличия от Excel

Алгоритм фильтрации в Google Таблицах схож с Excel, но есть важные нюансы:

  • 🔹 Регистронезависимый поиск по умолчанию, но можно использовать =REGEXMATCH() с флагом (?i) для управления чувствительностью.
  • 🔹 Поддержка регулярных выражений в фильтрах. Например, шаблон ^\d{3}-\d{2}$ найдёт все ячейки с форматом «123-45».
  • 🔹 Функция FILTER() работает аналогично Excel 365, но поддерживает массивы:
    =FILTER(A2:B100; REGEXMATCH(A2:A100; "отчёт|договор"))
  • 🔹 Отсутствует «Настраиваемый фильтр» как в Excel — вместо него используйте Фильтр по условиюТекст содержит.

Чтобы применить фильтр в Google Таблицах:

  1. Выделите диапазон → ДанныеСоздать фильтр.
  2. Кликните по иконке фильтра в заголовке столбца → Фильтр по условию.
  3. Выберите Текст содержит и введите слово (или регулярное выражение).

⚠️ Внимание: В Google Таблицах фильтр по нескольким словам через точку с запятой (слово1; слово2) не работает. Вместо этого используйте регулярное выражение слово1|слово2.

7. Автоматизация: макросы для фильтрации по слову

Если вам приходится фильтровать данные по одним и тем же словам регулярно, имеет смысл записать макрос. Например, этот код ищет слово «отчёт» в столбце A и скрывает все остальные строки:

Sub FilterByWord()

Dim ws As Worksheet

Dim rng As Range

Dim cell As Range

Dim searchWord As String

Set ws = ActiveSheet

searchWord = "отчёт" ' Искомое слово

Set rng = ws.Range("A1:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)

' Снимаем все фильтры

If ws.AutoFilterMode Then ws.AutoFilterMode = False

' Применяем фильтр

rng.AutoFilter Field:=1, Criteria1:="=" & searchWord & "", Operator:=xlAnd

End Sub

Чтобы адаптировать макрос под свои нужды:

  • Измените searchWord на своё слово.
  • Замените Range("A1:A...") на нужный столбец.
  • Для фильтра по нескольким словам добавьте строку:
    Criteria2:="=" & anotherWord & ""

Чтобы запустить макрос:

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

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

Можно ли фильтровать по слову в нескольких столбцах одновременно?

Да, но не через стандартный фильтр. Используйте один из способов:

  1. Вспомогательный столбец с формулой:
    =ЕСЛИ(ИЛИ(ЕНАЙТИ("слово"; A2); ЕНАЙТИ("слово"; B2)); "Да"; "")

    затем отфильтруйте по «Да».

  2. Power Query: объедините столбцы в один перед фильтрацией.
Почему фильтр не находит слово, которое точно есть в таблице?

Проверьте:

  • Нет ли скрытых символов (пробелов, неразрывных пробелов, переносов). Используйте =ЧИСТ() или =ПЕЧСИМВ(A2) для их удаления.
  • Не стоит ли в ячейке ошибка (например, #Н/Д), которая мешает фильтрации.
  • Не включён ли фильтр по цвету или другому условию, который перекрывает текстовый.
Как сохранить отфильтрованные данные в новый лист?

Способы:

  1. Копирование видимых ячеек:
    1. Примените фильтр.
    2. Выделите видимые строки → Найти и выделитьВыделить видимые ячейки.
    3. Скопируйте (Ctrl+C) и вставьте на новый лист.
  2. Power Query: загрузите отфильтрованные данные в новую таблицу.
  3. Формула ФИЛЬТР() (Excel 365): =ФИЛЬТР(исходный_диапазон; условие).
Можно ли фильтровать по слову в защищённом листе?

Да, но с ограничениями:

  • Если лист защищён без разрешения на фильтрацию, вам придётся снять защиту (РецензированиеСнять защиту листа).
  • Если разрешение на фильтрацию есть, используйте стандартный автофильтр — он будет работать даже в защищённом листе.

Чтобы разрешить фильтрацию при защите:

  1. Перейдите в РецензированиеЗащитить лист.
  2. В списке разрешённых действий отметьте Использовать автофильтр.

Как фильтровать по слову в ячейках с формулами?

Фильтр работает с результатом формулы, а не с её содержимым. Например, если в ячейке формула =A1&B1, которая возвращает «отчёт2026», фильтр по слову «отчёт» сработает.

Если нужно фильтровать по самой формуле (например, найти все ячейки, где есть СУММ), используйте:

  1. Вспомогательный столбец с формулой =ФОРМУЛТЕКСТ(A2) (показывает текст формулы).
  2. Отфильтруйте вспомогательный столбец по ключевому слову (например, «СУММ»).

Ограничение: ФОРМУЛТЕКСТ работает только для ячеек с формулами, а не с константами.