Как в Excel сделать фильтр по словам: 5 рабочих способов с примерами

Фильтрация данных по ключевым словам в Microsoft Excel — одна из самых востребованных операций при работе с большими таблицами. Представьте: у вас список из 10 000 строк с описаниями товаров, и нужно быстро найти все записи, содержащие слова "премиум", "акция" или "распродажа". Вручную это заняло бы часы, а с правильными инструментами — минуты.

Многие пользователи ошибочно считают, что фильтр в Excel работает только с числами или точными совпадениями текста. На самом деле даже базовый автофильтр поддерживает поиск по фрагментам слов, а расширенные инструменты вроде Power Query или формул позволяют строить сложные условия с логическими операторами. В этой статье разберём все актуальные способы — от простейших до профессиональных, с учётом нюансов разных версий Excel (2016, 2019, 365 и Excel Online).

Важно: если вы работаете с кириллицей, проверьте кодировку файла — иногда фильтр не срабатывает из-за скрытых символов (например, неразрывного пробела). Об этом подробнее в разделе про типичные ошибки.

1. Базовый фильтр по словам через автофильтр

Самый быстрый способ отфильтровать данные по ключевому слову — использовать встроенный автофильтр. Он доступен во всех версиях Excel и не требует знания формул.

Чтобы включить его:

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

В открывшемся окне выберите Текстовые фильтрыСодержит.... В поле введите искомое слово (например, "кофе") и нажмите ОК. Excel покажет только строки, где это слово встречается в ячейке.

Ограничения метода:

  • 🔍 Не поддерживает поиск по регистру (слова "Кофе" и "кофе" будут восприняты одинаково).
  • 📌 Нельзя использовать логические операторы (И, ИЛИ) для нескольких условий в одном столбце.
  • ⚡ Фильтр применяется только к одному столбцу за раз.

2. Расширенный фильтр: поиск по нескольким словам в разных столбцах

Если нужно отфильтровать данные по двум и более словам, причем в разных столбцах (например, найти все записи, где в столбце A есть "Москва", а в столбце B"опт"), поможет расширенный фильтр.

Алгоритм действий:

  1. Создайте над таблицей диапазон условий (например, в строках 1–2). В ячейки A1 и B1 скопируйте заголовки столбцов, по которым будете фильтровать.
  2. В A2 введите первое слово (например, "Москва"), в B2 — второе ("опт").
  3. Перейдите на вкладку ДанныеРасширенный фильтр.
  4. В поле Исходный диапазон укажите всю таблицу (включая заголовки).
  5. В поле Диапазон условий выделите ячейки A1:B2.
  6. Выберите опцию Скопировать результат в другое место и укажите ячейку для вывода (например, D1).

Результат: Excel создаст новую таблицу со строками, соответствующими обоим условиям.

Пример формулы для диапазона условий

Если нужно искать одно из нескольких слов в одном столбце (например, "кофе" ИЛИ "чай" ИЛИ "какао"), введите условия в отдельные строки:


A1: Название товара

A2: кофе

A3: чай

A4: какао

Расширенный фильтр воспримет это как условие ИЛИ

Ключевой нюанс: если в диапазоне условий указать значения в одной строке (например, A2: "Москва", B2: "опт"), фильтр применит логическое И. Если значения расположить в разных строках — сработает ИЛИ.

3. Фильтр по словам с помощью Power Query (для больших таблиц)

Power Query — это инструмент для обработки данных, встроенный в Excel 2016+ и Excel 365. Он позволяет фильтровать данные по словам даже в таблицах с миллионами строк, причем с сохранением истории преобразований.

Инструкция:

  1. Выделите таблицу и перейдите на вкладку ДанныеИз таблицы/диапазона (в группе Получить и преобразовать данные).
  2. В открывшемся окне Power Query выберите столбец, по которому нужно фильтровать.
  3. Нажмите на стрелку фильтра → Текстовые фильтрыСодержит.
  4. Введите слово (например, "премиум") и нажмите ОК.
  5. Чтобы добавить второе условие, повторите шаги 2–4 для другого столбца.
  6. Нажмите Закрыть и загрузить, чтобы вернуть отфильтрованные данные в Excel.

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

  • 📊 Работает с данными объёмом до 10 млн строк (против 1 млн в стандартном Excel).
  • 🔄 Сохраняет шаги фильтрации — можно обновить данные одним кликом.
  • 🛠 Поддерживает регулярные выражения (например, искать слова, начинающиеся на "эко-").
📊 Какой инструмент вы чаще используете для фильтрации в Excel?
Автофильтр
Расширенный фильтр
Power Query
Формулы
Не знаю

Важно: если после фильтрации в Power Query данные не обновляются, проверьте подключение к источнику. Для этого кликните правой кнопкой по таблице → Обновить.

4. Фильтрация по словам с использованием формул

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

Способ 1. Функция ФИЛЬТР (Excel 365 и Excel Online)

=ФИЛЬТР(A2:B100; (ПОИСК("кофе"; A2:A100)>0) + (ПОИСК("чай"; A2:A100)>0); "Ничего не найдено")

Эта формула вернёт все строки из диапазона A2:B100, где в столбце A есть слово "кофе" или "чай". Третий аргумент — сообщение, если совпадений нет.

Способ 2. Комбинация ЕСЛИ + ПОИСК (для Excel 2016–2019)

Если у вас старая версия Excel, используйте вспомогательный столбец:

  1. Добавьте справа от таблицы новый столбец (например, C).
  2. В C2 введите формулу:
    =ЕСЛИ(ЕЧИСЛО(ПОИСК("кофе"; A2)); "Да"; "Нет")

    и растяните её на весь столбец.

  3. Примените автофильтр к столбцу C и отфильтруйте по значению "Да".

Для поиска нескольких слов в одной формуле:

=ЕСЛИ(ИЛИ(ЕЧИСЛО(ПОИСК("кофе"; A2)); ЕЧИСЛО(ПОИСК("чай"; A2))); "Да"; "Нет")

Убедитесь, что в ячейках нет скрытых символов (используйте функцию ПЕЧСИМВ)

Проверьте регистр (функция ПОИСК чувствительна к регистру, а НАЙТИ — нет)

Создайте резервную копию данных перед применением формул

-->

5. Фильтр по словам с учётом регистра

По умолчанию Excel игнорирует регистр при фильтрации (слова "Кофе" и "кофе" считаются одинаковыми). Если нужно различать заглавные и строчные буквы, используйте одну из этих техник:

Метод 1. Формула с НАЙТИ

Функция НАЙТИ (в отличие от ПОИСК) учитывает регистр. Пример:

=ЕСЛИ(ЕЧИСЛО(НАЙТИ("Кофе"; A2)); "Да"; "Нет")

Эта формула вернёт "Да" только если в ячейке A2 есть слово именно с большой буквы "К".

Метод 2. Power Query с параметром CompareOptions.Text

В Power Query можно явно указать чувствительность к регистру:

  1. Загрузите данные в Power Query (вкладка ДанныеИз таблицы/диапазона).
  2. Выберите столбец → Добавить столбецНастраиваемый столбец.
  3. Введите формулу:
    if Text.Contains([Название], "Кофе", Comparer.Ordinal) then "Да" else "Нет"

    где Comparer.Ordinal — параметр для учёта регистра.

  4. Отфильтруйте новый столбец по значению "Да".

Метод 3. VBA-макрос

Для автоматизации фильтрации с учётом регистра можно написать простой макрос:

Sub FilterByCase()

Dim rng As Range, cell As Range

Set rng = Range("A2:A100") ' Диапазон для поиска

For Each cell In rng

If InStr(1, cell.Value, "Кофе", vbTextCompare) = 0 Then

cell.EntireRow.Hidden = True

End If

Next cell

End Sub

Этот код скрывает все строки, где нет слова "Кофе" с большой буквы.

6. Типичные ошибки и как их избежать

Даже опытные пользователи сталкиваются с проблемами при фильтрации по словам. Вот самые распространённые ошибки и их решения:

Ошибка 1: Фильтр не находит слово, хотя оно есть в таблице

  • 📌 Причина: В ячейках есть непечатаемые символы (пробелы, переносы строк).
  • 🔧 Решение: Используйте функцию ПЕЧСИМВ для очистки данных:
    =ПЕЧСИМВ(A2)

    или в Power Query примените преобразование Очистить текст.

Ошибка 2: Фильтр игнорирует кириллицу

  • 📌 Причина: Неправильная кодировка файла (например, данные импортированы из CSV в кодировке UTF-8, а Excel ожидает Windows-1251).
  • 🔧 Решение: При импорте данных выберите правильную кодировку или конвертируйте файл через Блокнот.

Ошибка 3: Расширенный фильтр не работает

  • 📌 Причина: Диапазон условий не включает заголовки или содержит пустые ячейки.
  • 🔧 Решение: Проверьте, что:
    • Заголовки в диапазоне условий полностью совпадают с заголовками в исходной таблице.
    • Нет пустых строк между условиями.
    • Диапазон условий не пересекается с исходными данными.

Таблица: Частые ошибки и их исправление

Ошибка Возможная причина Решение
Фильтр не находит слово Скрытые символы или пробелы Использовать ПЕЧСИМВ или СЖПРОБЕЛЫ
Расширенный фильтр выдаёт пустой результат Несовпадение заголовков в диапазоне условий Проверить названия столбцов в диапазоне условий
Фильтр работает медленно Слишком большая таблица (>100 000 строк) Использовать Power Query или разбить данные на части
Фильтр не различает регистр По умолчанию Excel игнорирует регистр Использовать функцию НАЙТИ или Power Query с Comparer.Ordinal

7. Продвинутые техники: фильтрация с регулярными выражениями

Если нужно искать слова по шаблону (например, все слова, начинающиеся на "эко-"), в Excel нет встроенной поддержки регулярных выражений (regex). Однако есть обходные пути:

Способ 1. Power Query с функцией Text.Select

В Power Query можно использовать простые шаблоны:

Text.StartsWith([Название], "эко-")  ' Начинается с "эко-"

Text.Contains([Название], "премиум") ' Содержит "премиум"

Text.EndsWith([Название], "-2026") ' Заканчивается на "-2026"

Способ 2. VBA с регулярными выражениями

Для сложных шаблонов напишите макрос с объектом RegExp:

Sub FilterByRegex()

Dim regex As Object, cell As Range

Set regex = CreateObject("VBScript.RegExp")

regex.Pattern = "^эко-.*" ' Шаблон: начинается с "эко-"

For Each cell In Range("A2:A100")

If Not regex.Test(cell.Value) Then

cell.EntireRow.Hidden = True

End If

Next cell

End Sub

Способ 3. Формулы с подстановочными знаками

Для простых шаблонов используйте подстановочные знаки в комбинации с ПОИСК:

  • 🔹 =ПОИСК("эко-"; A2) — ищет слово, начинающееся на "эко-"*.
  • 🔹 =ПОИСК("премиум"; A2) — ищет слово, заканчивающееся на "премиум"*.
Пример сложного шаблона в VBA

Чтобы найти все ячейки, содержащие слова из 5 букв, начинающиеся на "а" и заканчивающиеся на "я" (например, "армия"), используйте шаблон:

regex.Pattern = "\bа\w{3}я\b"

Где:

- \b — граница слова,

- а — начинается на "а",

- \w{3} — любые 3 символа,

- я — заканчивается на "я".

FAQ: Ответы на частые вопросы

Можно ли в Excel сделать фильтр по нескольким словам одновременно (например, "кофе" И "молоко")?

Да, для этого используйте расширенный фильтр:

  1. Создайте диапазон условий с заголовками столбцов.
  2. В одной строке укажите оба слова (например, в A2: "кофе", в B2: "молоко").
  3. Примените расширенный фильтр — он вернёт строки, где выполняются оба условия (логическое И).

Для логического ИЛИ разместите слова в разных строках.

Почему фильтр не находит слово, если оно точно есть в таблице?

Вероятные причины:

  • 📌 В ячейке есть неразрывный пробел (вставляется через Ctrl+Shift+Пробел). Замените его на обычный пробел функцией =ЗАМЕНИТЬ(A2; СИМВОЛ(160); " ").
  • 📌 Слово содержит скрытые символы (табуляцию, перевод строки). Используйте =ПЕЧСИМВ(A2).
  • 📌 Фильтр применён к не тому столбцу. Проверьте диапазон.
Как сохранить отфильтрованные данные в новый лист?

Есть два способа:

Способ 1. Расширенный фильтр:

  1. На вкладке Данные выберите Расширенный фильтр.
  2. Укажите исходный диапазон и диапазон условий.
  3. Выберите опцию Скопировать результат в другое место и укажите ячейку на новом листе (например, Лист2!A1).

Способ 2. Power Query:

  1. Загрузите данные в Power Query.
  2. Отфильтруйте нужные строки.
  3. В меню Закрыть и загрузить выберите В новую таблицу и укажите другой лист.
Можно ли сделать фильтр по словам в Google Таблицах?

Да, в Google Sheets фильтрация по словам работает аналогично Excel:

  1. Выделите таблицу → ДанныеСоздать фильтр.
  2. Нажмите на иконку фильтра в столбце → Текст содержит → введите слово.

Для расширенной фильтрации используйте функцию FILTER:

=FILTER(A2:B100; REGEXMATCH(A2:A100; "кофе|чай"))

Отличие от Excel: в Google Sheets есть встроенная поддержка регулярных выражений через REGEXMATCH.

Как убрать фильтр по словам и вернуть все данные?

Чтобы сбросить фильтр:

  • 📌 Для автофильтра: нажмите на стрелку фильтра в столбце → Удалить фильтр или перейдите на вкладку ДанныеОчистить.
  • 📌 Для расширенного фильтра: удалите диапазон условий или нажмите ДанныеОчистить.
  • 📌 Для Power Query: обновите запрос или удалите шаг фильтрации в редакторе.

Если данные скрыты (а не отфильтрованы), выделите таблицу → правая кнопка → Показать строки.