Как отобрать данные по названию в Excel: от базовых фильтров до продвинутых приёмов

Работа с большими таблицами в Microsoft Excel часто превращается в поиск иголки в стоге сена — особенно когда нужно быстро найти строки с определённым названием.hether вы анализируете прайс-лист, ведёте учёт товаров или обрабатываете данные клиентов, умение отфильтровать данные по названию экономит часы ручной работы. Но как это сделать эффективно? Спойлер: способов больше, чем кажется на первый взгляд.

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

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

Начнём с самого очевидного — встроенного фильтра Excel. Этот метод подходит, когда нужно отобрать строки с точным или частичным совпадением названия. Например, вы ищете все товары с названием "Смартфон" в колонке A.

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

  • 📌 Выделите заголовок столбца с названиями (например, A1).
  • 🔍 Перейдите на вкладку Данные → нажмите Фильтр (или используйте горячие клавиши Ctrl+Shift+L).
  • 🔽 Кликните на стрелочку фильтра в заголовке столбца → выберите Текстовые фильтрыСодержит....
  • 📝 Введите искомое название (или его часть) в поле и нажмите ОК.

⚠️ Внимание: Если фильтр не срабатывает, проверьте:

⚠️ В данных есть лишние пробелы (используйте TRIM для очистки) или разный регистр (Excel по умолчанию учитывает заглавные/строчные буквы).

Для точного совпадения выберите Равно... вместо Содержит.... А если нужно исключить строки с определённым словом — используйте Не содержит....

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

Стандартный фильтр ограничен — он не умеет работать с несколькими критериями одновременно или сохранять результаты в другом месте. Здесь на помощь приходит расширенный фильтр, который позволяет:

  • 📊 Фильтровать данные по нескольким условиям (например, название содержит "Ноутбук" И цена > 50 000).
  • 📤 Сохранять результаты в новом диапазоне (не скрывая оригинальные данные).
  • 🔄 Использовать динамические критерии (например, ячейки с формулами).

Пример настройки:

  1. Создайте таблицу с данными (например, A1:D100).
  2. В отдельном диапазоне (например, F1:G2) укажите заголовок столбца (например, "Название") и критерий (например, "=Смартфон" для частичного совпадения).
  3. Перейдите в Данные → Сортировка и фильтр → Расширенный.
  4. Укажите Исходный диапазон (ваша таблица) и Диапазон условий (ячейки с критериями).
  5. Отметьте Скопировать результат в другое место и укажите ячейку для вывода (например, I1).
Исходные данные (A1:D4) Критерии (F1:G2) Результат (I1:L2)
Название   | Цена  | Кол-во

Смартфон X | 30000 | 5

Ноутбук Y | 45000 | 2

Смартфон Z | 25000 | 8

Название

=Смартфон

Название   | Цена  | Кол-во

Смартфон X | 30000 | 5

Смартфон Z | 25000 | 8

💡 Лайфхак: Если нужно отфильтровать данные по нескольким столбцам, просто добавьте дополнительные строки в диапазон критериев. Например:

Название   | Цена

=Смартфон | >25000

📊 Какой метод фильтрации вы используете чаще?
Стандартный фильтр
Расширенный фильтр
Формулы (FILTER, XLOOKUP)
Power Query
Не знаю, что это

3. Функция FILTER: динамическая фильтрация без макросов

В Excel 365 и Excel 2021 появилась революционная функция FILTER, которая позволяет отбирать данные по условию в реальном времени. Преимущества:

  • 🔄 Автоматическое обновление при изменении исходных данных.
  • 📌 Нет нужды вручную настраивать фильтры — формула делает всё сама.
  • 🔍 Поддерживает многокритериальный поиск (например, название И категория).

Синтаксис:

=FILTER(диапазон_данных; (условие1) * (условие2); "Не найдено")

Пример: отобрать строки, где в столбце A (Название) есть слово "Ноутбук", а в столбце B (Цена) значение > 40 000:

=FILTER(A2:D100; (ISNUMBER(SEARCH("Ноутбук"; A2:A100))) * (B2:B100 > 40000); "Нет данных")

⚠️ Внимание: Функция FILTER возвращает динамический массив — если в ячейке ниже неё есть данные, Excel может выдать ошибку #СПИЛЛ!. Решение: очистите соседние ячейки или используйте @ для привязки к одной ячейке (но это отключит динамичность).

Что делать, если FILTER не работает?

Функция FILTER доступна только в Excel 365 и Excel 2021. В старых версиях используйте комбинацию INDEX + AGGREGATE или Power Query.

4. Поиск с подстановочными знаками: * и ?

Часто название известно не полностью — например, вы помните только часть модели ("iPhone 13...") или первую букву ("S..."). В таких случаях помогают подстановочные знаки:

  • * — заменяет любое количество символов (например, Pro найдёт "Galaxy S21 Pro" и "iPhone Pro Max").
  • ? — заменяет один символ (например, Сams?ng найдёт "Сamsung", но не "Сamsungg").

Где их использовать:

  1. В стандартном фильтре: выберите Содержит... и введите часть_названия.
  2. В формулах:
    =COUNTIF(A2:A100; "Pro")  // Считает строки с "Pro" в названии
  3. В функции FILTER:
    =FILTER(A2:D100; ISNUMBER(SEARCH("Pro"; A2:A100)); "")

🔹 Пример из практики: В таблице с моделями телефонов нужно найти все устройства серии "iPhone 14". Используйте критерий iPhone 14 — это найдёт и "iPhone 14 Pro", и "iPhone 14 Plus 256GB".

Убедитесь, что в данных нет специальных символов (* ? ~)

Пробелы в начале/конце названий удалены (функция TRIM)

Регистр не важен (или используйте LOWER для приведения к нижнему регистру)-->

5. Учёт регистра: когда "iphone" ≠ "iPhone"

По умолчанию Excel игнорирует регистр при фильтрации ("iphone" и "iPhone" для него — одно и то же). Но что если нужно найти только строки с точным регистром? Например, когда названия брендов пишутся строго с заглавной буквы.

Решения:

  • 🔠 Формула с EXACT:
    =FILTER(A2:D100; EXACT("iPhone"; A2:A100); "")
    Обратите внимание: EXACT чувствительна к регистру, но не поддерживает подстановочные знаки.
  • 📝 Дополнительный столбец: Создайте столбец с формулой =A2 и примените к нему стандартный фильтр — иногда это срабатывает точнее.
  • 🔍 Power Query: В редакторе запросов используйте фильтр с параметром CompareCriteria.Text.Contains + Comparer.Ordinal (чувствительно к регистру).

⚠️ Внимание: Функции вроде SEARCH или FIND тоже учитывают регистр, но FIND возвращает ошибку, если текст не найден. Для надёжности комбинируйте с IFERROR:

=IFERROR(FIND("iPhone"; A2); 0) > 0

6. Power Query: фильтрация для больших данных

Если вы работаете с таблицами на десятки тысяч строк, стандартные фильтры и формулы могут тормозить. Здесь на помощь приходит Power Query — инструмент для обработки больших данных, встроенный в Excel (начиная с версии 2016).

Как отфильтровать данные по названию в Power Query:

  1. Выделите таблицу → Данные → Получить данные → Из таблицы/диапазона.
  2. В открывшемся редакторе выберите столбец с названиями → нажмите на стрелочку фильтра.
  3. Выберите Текстовые фильтрыСодержит... и введите искомое слово.
  4. Для нескольких условий используйте Дополнительные фильтры (например, "Название содержит 'Pro' И Цена > 50000").
  5. Нажмите Закрыть и загрузить — данные отфильтруются и загрузятся на новый лист.

💎 Плюсы Power Query:

  • 🚀 Обрабатывает миллионы строк без зависаний.
  • 🔄 Сохраняет шаги фильтрации — можно обновить данные одним кликом.
  • 🔧 Поддерживает сложные преобразования (например, разделить название на бренд и модель).

📌 Пример: В таблице с товарами нужно оставить только те, у которых в названии есть "Premium", а в категории — "Электроника". В Power Query это делается за 2 клика, тогда как формулой пришлось бы писать сложное условие с FILTER + SEARCH.

7. Автоматизация: макросы для повторяющихся задач

Если вам приходится фильтровать данные по названию ежедневно (например, формировать отчёты по определённым товарам), имеет смысл записать макрос. Это сэкономит время и исключит ручные ошибки.

Пример макроса для фильтрации по частичному совпадению:

Sub FilterByName()

Dim ws As Worksheet

Dim rng As Range

Dim filterText As String

Set ws = ActiveSheet

Set rng = ws.Range("A1").CurrentRegion

filterText = InputBox("Введите часть названия для фильтра:", "Фильтр по названию")

If filterText <> "" Then

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

End If

End Sub

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

  1. Нажмите Alt + F11Вставка → Модуль.
  2. Вставьте код выше.
  3. Закройте редактор и запустите макрос через Вид → Макросы (или назначьте горячую клавишу).
  4. В появившемся окне введите часть названия (например, "Pro") — Excel отфильтрует данные автоматически.

⚠️ Внимание: Макросы работают только в файлах с расширением .xlsm (с поддержкой макросов). Если вы отправите такой файл коллеге, у него может сработать предупреждение безопасности. Решение: подпишите макрос цифровой подписью или используйте Power Query для задач, требующих совместной работы.

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

Можно ли отфильтровать данные по названию, если оно записано в нескольких столбцах?

Да. Используйте расширенный фильтр с несколькими критериями или функцию FILTER с условием по нескольким столбцам. Пример:

=FILTER(A2:D100; (ISNUMBER(SEARCH("Ноутбук"; A2:A100))) + (ISNUMBER(SEARCH("Ноутбук"; B2:B100))); "Не найдено")

Здесь мы ищем "Ноутбук" либо в столбце A, либо в B.

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

Причины:

  • 🔹 В данных есть непечатаемые символы (пробелы, переносы строк). Используйте =CLEAN(TRIM(A2)) для очистки.
  • 🔹 Разный регистр. Приведите текст к нижнему регистру: =LOWER(A2).
  • 🔹 Фильтр применён к не тому диапазону. Проверьте, выделены ли все данные.
Как отфильтровать данные по названию и сохранить результат в новом файле?

Способы:

  1. Расширенный фильтр: Скопируйте результаты на новый лист, затем сохраните его как отдельный файл (Файл → Сохранить как).
  2. Power Query: Отфильтруйте данные в редакторе, затем Закрыть и загрузить в → Новую книгу.
  3. Макрос: Добавьте в код строку для сохранения:
    ws.Copy
    

    ActiveWorkbook.SaveAs "C:\Отчёт_" & Format(Date, "dd-mm-yyyy") & ".xlsx"

Можно ли фильтровать данные по названию с учётом синонимов (например, "телефон" = "смартфон")?

Да, но потребуется дополнительная подготовка:

  1. Создайте таблицу синонимов (например, в столбце F: "телефон" → "смартфон").
  2. Добавьте вспомогательный столбец с формулой:
    =IF(ISNUMBER(SEARCH(F2; A2)); "Да"; "Нет")

    где F2 — ячейка с синонимом.

  3. Отфильтруйте по вспомогательному столбцу.

Для автоматизации используйте Power Query с заменой текста (Заменить значения).

Как отменить фильтрацию, если я забыл, какие критерии были заданы?

Варианты:

  • 🔄 Нажмите Данные → Фильтр (или Ctrl+Shift+L) — это сбросит все фильтры.
  • 📊 Если используется FILTER, удалите формулу или оберните её в IFERROR для отображения всех данных при ошибке.
  • 🔍 В Power Query нажмите Главная → Очистить все фильтры.