Работа с большими таблицами в Microsoft Excel часто превращается в поиск иголки в стоге сена — особенно когда нужно быстро найти строки с определённым названием.hether вы анализируете прайс-лист, ведёте учёт товаров или обрабатываете данные клиентов, умение отфильтровать данные по названию экономит часы ручной работы. Но как это сделать эффективно? Спойлер: способов больше, чем кажется на первый взгляд.
Многие пользователи ограничиваются стандартным фильтром, даже не подозревая, что Excel предлагает инструменты для точного поиска — от простых текстовых фильтров до формул с подстановочными знаками и мощных функций вроде FILTER или XLOOKUP. В этой статье разберём все актуальные методы отбора данных по названию, включая малоизвестные приёмы для работы с частичными совпадениями, регистром и динамическими диапазонами. Вы узнаете, как избежать типичных ошибок (например, когда фильтр "не видит" нужные строки) и автоматизировать процесс с помощью Power Query.
1. Базовый фильтр по названию: быстро и просто
Начнём с самого очевидного — встроенного фильтра Excel. Этот метод подходит, когда нужно отобрать строки с точным или частичным совпадением названия. Например, вы ищете все товары с названием "Смартфон" в колонке A.
Как это работает:
- 📌 Выделите заголовок столбца с названиями (например,
A1). - 🔍 Перейдите на вкладку
Данные→ нажмитеФильтр(или используйте горячие клавишиCtrl+Shift+L). - 🔽 Кликните на стрелочку фильтра в заголовке столбца → выберите
Текстовые фильтры→Содержит.... - 📝 Введите искомое название (или его часть) в поле и нажмите
ОК.
⚠️ Внимание: Если фильтр не срабатывает, проверьте:
⚠️ В данных есть лишние пробелы (используйте
TRIMдля очистки) или разный регистр (Excel по умолчанию учитывает заглавные/строчные буквы).
Для точного совпадения выберите Равно... вместо Содержит.... А если нужно исключить строки с определённым словом — используйте Не содержит....
2. Расширенный фильтр: когда стандартных опций мало
Стандартный фильтр ограничен — он не умеет работать с несколькими критериями одновременно или сохранять результаты в другом месте. Здесь на помощь приходит расширенный фильтр, который позволяет:
- 📊 Фильтровать данные по нескольким условиям (например, название содержит "Ноутбук" И цена > 50 000).
- 📤 Сохранять результаты в новом диапазоне (не скрывая оригинальные данные).
- 🔄 Использовать динамические критерии (например, ячейки с формулами).
Пример настройки:
- Создайте таблицу с данными (например,
A1:D100). - В отдельном диапазоне (например,
F1:G2) укажите заголовок столбца (например, "Название") и критерий (например, "=Смартфон" для частичного совпадения). - Перейдите в
Данные → Сортировка и фильтр → Расширенный. - Укажите
Исходный диапазон(ваша таблица) иДиапазон условий(ячейки с критериями). - Отметьте
Скопировать результат в другое местои укажите ячейку для вывода (например,I1).
| Исходные данные (A1:D4) | Критерии (F1:G2) | Результат (I1:L2) |
|---|---|---|
|
|
|
💡 Лайфхак: Если нужно отфильтровать данные по нескольким столбцам, просто добавьте дополнительные строки в диапазон критериев. Например:
Название | Цена
=Смартфон | >25000
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").
Где их использовать:
- В стандартном фильтре: выберите
Содержит...и введитечасть_названия. - В формулах:
=COUNTIF(A2:A100; "Pro") // Считает строки с "Pro" в названии - В функции 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:
- Выделите таблицу →
Данные → Получить данные → Из таблицы/диапазона. - В открывшемся редакторе выберите столбец с названиями → нажмите на стрелочку фильтра.
- Выберите
Текстовые фильтры→Содержит...и введите искомое слово. - Для нескольких условий используйте
Дополнительные фильтры(например, "Название содержит 'Pro' И Цена > 50000"). - Нажмите
Закрыть и загрузить— данные отфильтруются и загрузятся на новый лист.
💎 Плюсы 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
Как использовать:
- Нажмите
Alt + F11→Вставка → Модуль. - Вставьте код выше.
- Закройте редактор и запустите макрос через
Вид → Макросы(или назначьте горячую клавишу). - В появившемся окне введите часть названия (например, "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). - 🔹 Фильтр применён к не тому диапазону. Проверьте, выделены ли все данные.
Как отфильтровать данные по названию и сохранить результат в новом файле?
Способы:
- Расширенный фильтр: Скопируйте результаты на новый лист, затем сохраните его как отдельный файл (
Файл → Сохранить как). - Power Query: Отфильтруйте данные в редакторе, затем
Закрыть и загрузить в → Новую книгу. - Макрос: Добавьте в код строку для сохранения:
ws.CopyActiveWorkbook.SaveAs "C:\Отчёт_" & Format(Date, "dd-mm-yyyy") & ".xlsx"
Можно ли фильтровать данные по названию с учётом синонимов (например, "телефон" = "смартфон")?
Да, но потребуется дополнительная подготовка:
- Создайте таблицу синонимов (например, в столбце
F: "телефон" → "смартфон"). - Добавьте вспомогательный столбец с формулой:
=IF(ISNUMBER(SEARCH(F2; A2)); "Да"; "Нет")где
F2— ячейка с синонимом. - Отфильтруйте по вспомогательному столбцу.
Для автоматизации используйте Power Query с заменой текста (Заменить значения).
Как отменить фильтрацию, если я забыл, какие критерии были заданы?
Варианты:
- 🔄 Нажмите
Данные → Фильтр(илиCtrl+Shift+L) — это сбросит все фильтры. - 📊 Если используется
FILTER, удалите формулу или оберните её вIFERRORдля отображения всех данных при ошибке. - 🔍 В Power Query нажмите
Главная → Очистить все фильтры.