Работа с большими таблицами в Microsoft Excel часто превращается в поиск иголки в стоге сена — особенно когда нужно найти строки с конкретным словом или фразой. Стандартный поиск по Ctrl+F показывает только первую ячейку, а прокручивать тысячи строк вручную — неэффективно. К счастью, в Excel есть мощные инструменты фильтрации, которые позволяют отображать только те записи, где встречается заданное слово, буква или комбинация символов.
Эта статья не просто расскажет, как включить базовый фильтр — мы разберём 5 различных методов, включая текстовые фильтры с подстановочными знаками, формулы для динамической фильтрации и даже использование Power Query для сложных запросов. Вы узнаете, как искать слова с учётом регистра, как фильтровать по части словам (например, найти все ячейки с «ов» в конце), и как автоматизировать процесс с помощью макросов. А для тех, кто работает с Google Таблицами, мы добавили отдельный раздел с нюансами фильтрации в облачном сервисе.
1. Базовый автофильтр: как включить и настроить поиск по слову
Начнём с самого простого — встроенного автофильтра, который доступен во всех версиях Excel (начиная с 2007 года). Этот метод подходит для 90% задач и занимает меньше минуты.
Чтобы активировать фильтр:
- Выделите диапазон данных (включая заголовки столбцов).
- Перейдите на вкладку
Данные→ нажмитеФильтр(или используйте горячие клавишиCtrl+Shift+L). - В правой части заголовков столбцов появятся значки воронки — кликните по тому, где нужно искать слово.
Далее в выпадающем меню выберите Текстовые фильтры → Содержит.... В появившемся окне введите искомое слово (например, «отчёт») и нажмите ОК. Excel скрывает все строки, кроме тех, где в выбранном столбце есть это слово.
Выделен весь диапазон данных (включая шапку)|
Удалены пустые строки/столбцы в диапазоне|
Проверена кодировка (нет "кракозябров" в тексте)|
Сохранена копия файла на случай ошибки-->
⚠️ Внимание: Если после применения фильтра данные «исчезли», проверьте:
- Не стоит ли галочка
Выделить всёв фильтре (она сбрасывает выбор).- Нет ли скрытых символов (пробелов, переносов) в искомом слове — используйте функцию
=ЧИСТ()для очистки.
Автофильтр поддерживает и множественный поиск: в том же окне Содержит... можно ввести несколько слов через точку с запятой (например, «отчёт; квартал; 2026»). Excel покажет строки, где встречается хотя бы одно из слов.
2. Продвинутые текстовые фильтры: подстановочные знаки и регулярные выражения
Что делать, если нужно найти все слова, начинающиеся на «про», заканчивающиеся на «ция» или содержащие определённую последовательность букв? Здесь помогут подстановочные знаки:
- 🔹
*(звёздочка) — заменяет любое количество символов. Пример:*овнайдёт «Иванов», «Петров», «Сидоров». - 🔹
?(вопросительный знак) — заменяет один символ. Пример:с?тнайдёт «кот», «сот», «кит». - 🔹
~(тильда) — экранирует спецсимволы. Пример:~*найдёт ячейки, где есть сама звёздочка.
Чтобы использовать их:
- Откройте фильтр для столбца →
Текстовые фильтры→Настраиваемый фильтр. - В выпадающем меню выберите
содержитилизаканчивается на. - В поле ввода укажите шаблон (например,
про*для слов на «про»).
Часто, для сложных фильтров|
Иногда, когда нужно найти шаблон|
Раньше не знал(а) о такой возможности|
Предпочитаю формулы-->
Важный нюанс: подстановочные знаки в Excel НЕ поддерживают полноценные регулярные выражения (в отличие от Google Таблиц). Например, вы не сможете искать по шаблону «[А-Я]ов» (все слова на заглавную букву, оканчивающиеся на «ов»). Для таких задач потребуется Power Query или VBA-скрипт.
| Задача | Шаблон для фильтра | Пример результата |
|---|---|---|
| Слова на «про» | про* |
проект, процесс, продукция |
| Слова из 4 букв, где 2-я буква «а» | ?а?? |
база, дата, папа |
| Слова с дефисом | - |
москва-сити, e-mail |
| Точное совпадение (без лишних символов) | =отчёт (с равно) |
только «отчёт», но не «отчётность» |
3. Фильтр с учётом регистра: как найти «Отчёт», но не «отчёт»
По умолчанию Excel игнорирует регистр при фильтрации. Если вам нужно найти слова точно в таком же регистре (например, только «Отчёт» с заглавной буквы), стандартный фильтр не поможет. Решения:
Способ 1. Формула + автофильтр
- Добавьте вспомогательный столбец с формулой:
=ЕСЛИ(НАЙТИ("Отчёт"; A2)=1; "Да"; "")Здесь
A2— ячейка для проверки,"Отчёт"— искомое слово с нужным регистром. - Примените автофильтр к вспомогательному столбцу и отфильтруйте по значению «Да».
Способ 2. Power Query (Excel 2016+)
Если у вас Excel 2016 или новее:
- Выделите данные →
Данные→Из таблицы/диапазона(загрузит в Power Query). - Выберите столбец →
Домашняя→Фильтр строк→Текстовые фильтры→Равно.... - Введите слово с нужным регистром (например, «Отчёт») и нажмите
ОК. - Нажмите
Закрыть и загрузить, чтобы вернуть отфильтрованные данные в Excel.
⚠️ Внимание: В Google Таблицах фильтр с учётом регистра работает иначе — там нужно использовать функцию=REGEXMATCH()с флагом(?i)для игнорирования регистра или без него для точного совпадения.
4. Фильтрация по нескольким словам: логические условия «И»/«ИЛИ»
Допустим, вам нужно найти строки, где в одном столбце есть одновременно слова «отчёт» и «квартал», или хотя бы одно из слов «прибыль», «убыток». Для этого:
Логическое «И» (оба слова должны присутствовать):
- Откройте
Текстовые фильтры→Настраиваемый фильтр. - В первом поле выберите
содержит→ введите «отчёт». - Во втором поле выберите
и→содержит→ введите «квартал».
Логическое «ИЛИ» (хотя бы одно слово):
- В том же окне
Настраиваемый фильтрвыберитеилимежду полями. - Введите слова в каждое поле (например, «прибыль» в первое, «убыток» во второе).
Для более двух условий проще использовать формулу в вспомогательном столбце:
=ЕСЛИ(ИЛИ(ЕНАЙТИ("прибыль"; A2); ЕНАЙТИ("убыток"; A2)); "Да"; "")
Здесь ЕНАЙТИ — это комбинация =ЕЧИСЛО(НАЙТИ(...)), которая проверяет наличие подстроки без ошибок.
Как работает функция ЕНАЙТИ?
Функция =ЕНАЙТИ(искомая_подстрока; текст; [нач_позиция]) возвращает позицию подстроки в тексте или ошибку #ЗНАЧ!, если подстрока не найдена. Обёртка =ЕЧИСЛО() преобразует результат в ИСТИНА/ЛОЖЬ, что удобно для фильтрации.
5. Динамическая фильтрация: формулы + выпадающий список
Если вам нужно интерактивное решение, где пользователь выбирает слово из списка, а таблица автоматически фильтруется, используйте связку ФИЛЬТР() (Excel 365) или ДВССЫЛ() + ПРОСМОТР() (для старых версий).
Для Excel 365/2021:
- Создайте выпадающий список (проверка данных) со словами для фильтра.
- В отдельном диапазоне используйте формулу:
=ФИЛЬТР(исходная_таблица; ЕНАЙТИ(D1; столбец_для_поиска))где
D1— ячейка с выбранным словом.
Для Excel 2016 и старше:
- Создайте вспомогательный столбец с формулой:
=ЕСЛИ(ЕНАЙТИ($D$1; A2); СТРОКА(A2); "") - Отфильтруйте таблицу по этому столбцу, исключив пустые значения.
Пример динамической фильтрации:
6. Фильтрация в Google Таблицах: ключевые отличия от Excel
Алгоритм фильтрации в Google Таблицах схож с Excel, но есть важные нюансы:
- 🔹 Регистронезависимый поиск по умолчанию, но можно использовать
=REGEXMATCH()с флагом(?i)для управления чувствительностью. - 🔹 Поддержка регулярных выражений в фильтрах. Например, шаблон
^\d{3}-\d{2}$найдёт все ячейки с форматом «123-45». - 🔹 Функция
FILTER()работает аналогично Excel 365, но поддерживает массивы:=FILTER(A2:B100; REGEXMATCH(A2:A100; "отчёт|договор")) - 🔹 Отсутствует «Настраиваемый фильтр» как в Excel — вместо него используйте
Фильтр по условию→Текст содержит.
Чтобы применить фильтр в Google Таблицах:
- Выделите диапазон →
Данные→Создать фильтр. - Кликните по иконке фильтра в заголовке столбца →
Фильтр по условию. - Выберите
Текст содержити введите слово (или регулярное выражение).
⚠️ Внимание: В 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 & ""
Чтобы запустить макрос:
- Нажмите
Alt+F11для открытия редактора VBA. - Вставьте код в модуль (
Insert→Module). - Закройте редактор и запустите макрос через
Вид→Макросы.
FAQ: Частые вопросы по фильтрации в Excel
Можно ли фильтровать по слову в нескольких столбцах одновременно?
Да, но не через стандартный фильтр. Используйте один из способов:
- Вспомогательный столбец с формулой:
=ЕСЛИ(ИЛИ(ЕНАЙТИ("слово"; A2); ЕНАЙТИ("слово"; B2)); "Да"; "")затем отфильтруйте по «Да».
- Power Query: объедините столбцы в один перед фильтрацией.
Почему фильтр не находит слово, которое точно есть в таблице?
Проверьте:
- Нет ли скрытых символов (пробелов, неразрывных пробелов, переносов). Используйте
=ЧИСТ()или=ПЕЧСИМВ(A2)для их удаления. - Не стоит ли в ячейке ошибка (например, #Н/Д), которая мешает фильтрации.
- Не включён ли фильтр по цвету или другому условию, который перекрывает текстовый.
Как сохранить отфильтрованные данные в новый лист?
Способы:
- Копирование видимых ячеек:
- Примените фильтр.
- Выделите видимые строки →
Найти и выделить→Выделить видимые ячейки. - Скопируйте (
Ctrl+C) и вставьте на новый лист.
- Power Query: загрузите отфильтрованные данные в новую таблицу.
- Формула
ФИЛЬТР()(Excel 365):=ФИЛЬТР(исходный_диапазон; условие).
Можно ли фильтровать по слову в защищённом листе?
Да, но с ограничениями:
- Если лист защищён без разрешения на фильтрацию, вам придётся снять защиту (
Рецензирование→Снять защиту листа). - Если разрешение на фильтрацию есть, используйте стандартный автофильтр — он будет работать даже в защищённом листе.
Чтобы разрешить фильтрацию при защите:
- Перейдите в
Рецензирование→Защитить лист. - В списке разрешённых действий отметьте
Использовать автофильтр.
Как фильтровать по слову в ячейках с формулами?
Фильтр работает с результатом формулы, а не с её содержимым. Например, если в ячейке формула =A1&B1, которая возвращает «отчёт2026», фильтр по слову «отчёт» сработает.
Если нужно фильтровать по самой формуле (например, найти все ячейки, где есть СУММ), используйте:
- Вспомогательный столбец с формулой
=ФОРМУЛТЕКСТ(A2)(показывает текст формулы). - Отфильтруйте вспомогательный столбец по ключевому слову (например, «СУММ»).
Ограничение: ФОРМУЛТЕКСТ работает только для ячеек с формулами, а не с константами.