Работа с большими таблицами в Microsoft Excel часто требует извлечения конкретных данных по текстовому критерию. Например, вам нужно найти все строки, где в столбце «Товар» упоминается слово «ноутбук», или отфильтровать клиентов с адресом «Москва». Вручную просматривать тысячи строк — неэффективно, поэтому сегодня разберём 5 способов автоматизированной выборки по слову: от элементарных инструментов до формул и Power Query.
Эта статья подойдёт и новичкам, и опытным пользователям: первые узнают о базовых фильтрах и функции ПОИСК, а вторые освоят регулярные выражения в Power Query и динамические массивы. Все методы протестированы в Excel 2019–2023 и Microsoft 365, с учётом особенностей разных версий. Приступим!
1. Быстрая выборка с помощью стандартного фильтра
Самый простой способ отфильтровать данные по слову — использовать встроенный инструмент «Фильтр». Он доступен во всех версиях Excel и не требует знания формул. Подходит для одноразовых задач, когда нужно быстро просмотреть строки с определённым текстом.
Чтобы применить фильтр:
- Выделите заголовки столбцов (или любую ячейку в таблице).
- Перейдите на вкладку
Данные→ нажмитеФильтр(или используйте горячие клавишиCtrl+Shift+L). - Нажмите на стрелку внизу ячейки столбца, по которому хотите сделать выборку.
- В выпадающем меню выберите
Текстовые фильтры→Содержит.... - Введите искомое слово (например, «монитор») и нажмите
ОК.
Excel скрывает все строки, кроме тех, где в выбранном столбце есть введённое слово. Важно: фильтр учитывает регистр только если слово начинается с заглавной буквы (например, «Москва» ≠ «москва»).
- ✅ Плюсы: не требует формул, работает мгновенно, подходит для любых версий Excel.
- ❌ Минусы: не сохраняет результат как отдельную таблицу, не ищет по нескольким словам одновременно.
2. Функция ПОИСК и автофильтр с формулами
Когда стандартного фильтра недостаточно (например, нужно найти строки, где слово встречается в любом из нескольких столбцов), на помощь приходит функция ПОИСК. Она возвращает позицию искомого текста в ячейке или ошибку #ЗНАЧ!, если текст не найден. На основе этого можно построить динамическую выборку.
Допустим, у вас таблица с данными о продажах, и вы хотите выделить все строки, где в столбцах Товар или Комментарий упоминается слово «акция». Создайте вспомогательный столбец с формулой:
=ЕСЛИ(ИЛИ(ЕЧИСЛО(ПОИСК("акция";A2)); ЕЧИСЛО(ПОИСК("акция";C2))); "Да"; "")
Затем примените фильтр по этому столбцу, оставив только ячейки с значением «Да».
| Товар | Цена | Комментарий | Содержит "акция"? |
|---|---|---|---|
| Ноутбук HP | 45 000 | Скидка 10% по акции | Да |
| Монитор Samsung | 18 000 | Стандартная цена | |
| Клавиатура | 2 500 | Акция! Только сегодня | Да |
⚠️ Внимание: ФункцияПОИСКчувствительна к регистру. Если нужно игнорировать регистр, используйтеПОИСКБ(для кириллицы) или комбинацию сНАЙТИиПОДСТАВИТЬдля приведения текста к нижнему регистру.
- 🔍 Когда использовать: для выборки по нескольким столбцам или сложным условиям (например, «найти "москва" ИЛИ "спб"»).
- 📊 Альтернатива: функция
ЕСТЬОШИБКА+ПОИСКдля обратной логики («выбрать строки, где НЕТ слова»).
3. Продвинутая фильтрация с Power Query
Power Query (или Get & Transform в новых версиях Excel) — это инструмент для преобразования и очистки данных, который позволяет создавать сложные выборки без формул. Например, можно:
- 🔄 Искать слово в нескольких столбцах одновременно.
- 📝 Сохранять результат как отдельную таблицу.
- 🔄 Обновлять выборку при изменении исходных данных.
Разберём пошагово, как сделать выборку по слову «отчёт» в столбце Название документа:
- Выделите исходную таблицу и перейдите на вкладку
Данные→Из таблицы/диапазона(в Excel 2016+). - В открывшемся редакторе Power Query выберите столбец для фильтрации.
- Нажмите на стрелку в заголовке столбца →
Текстовые фильтры→Содержит.... - Введите слово «отчёт» и нажмите
ОК. - Нажмите
Закрыть и загрузить, чтобы создать новую таблицу с отфильтрованными данными.
Уникальное преимущество Power Query: вы можете сохранять шаги фильтрации и применять их повторно к обновлённым данным, не настраивая всё заново.
Как вернуть исходные данные после фильтрации в Power Query?
В редакторе Power Query просто удалите шаг с фильтром в панели «Применённые шаги» (справа). Все изменения откатятся автоматически.
⚠️ Внимание: В Excel 2013 Power Query устанавливается как надстройка (Файл → Параметры → Надстройки → Управление: Надстройки COM). В Excel 2016+ инструмент встроен по умолчанию.
4. Выборка с помощью сводных таблиц
Сводные таблицы — это мощный инструмент для анализа данных, который также позволяет делать выборку по текстовому критерию. Например, вы можете быстро посчитать сумму продаж только для товаров, в названии которых есть слово «premium».
Алгоритм действий:
- Выделите исходную таблицу (включая заголовки).
- Перейдите на вкладку
Вставка→Сводная таблица. - В открывшемся окне выберите, куда поместить сводную таблицу (на новый лист или существующий).
- В панели
Поля сводной таблицыперетащите столбец с текстом (например, «Товар») в областьФильтры. - Нажмите на стрелку рядом с названием поля в сводной таблице →
Текстовые фильтры→Содержит...и введите искомое слово.
Преимущество этого метода в том, что вы можете одновременно фильтровать и агрегировать данные (например, посчитать среднюю цену товаров с словом «акция» или количество заказов из Москвы).
| Регион (фильтр: "Москва") | Сумма продаж | Количество заказов |
|---|---|---|
| Москва | 1 250 000 | 48 |
| Итого | 1 250 000 | 48 |
Удалите пустые строки и столбцы|Преобразуйте данные в таблицу (Ctrl+T)|Проверьте отсутствие объединённых ячеек|Убедитесь, что заголовки столбцов уникальны-->
5. Динамические массивы и функция ФИЛЬТР (Excel 365 и 2021)
В последних версиях Excel (начиная с Microsoft 365 и Excel 2021) появилась революционная функция ФИЛЬТР, которая позволяет создавать динамические выборки без вспомогательных столбцов. Она возвращает массив данных, соответствующих заданному условию, и автоматически обновляется при изменении исходных данных.
Синтаксис функции:
=ФИЛЬТР(массив; включить; [если_пусто])
Где:
массив— диапазон данных для фильтрации;включить— условие (например,ПОИСК("слово"; диапазон) > 0);[если_пусто]— значение, которое будет выводиться, если данные не найдены (необязательно).
Пример: вернём все строки из диапазона A2:C10, где в первом столбце есть слово «ноутбук»:
=ФИЛЬТР(A2:C10; ПОИСК("ноутбук"; A2:A10) > 0; "Нет данных")
Результат будет динамическим: если вы добавите новую строку с словом «ноутбук» в исходную таблицу, она автоматически появится в выборке.
⚠️ Внимание: ФункцияФИЛЬТРработает только в Excel 365 и Excel 2021. В более ранних версиях она недоступна, но аналогичный результат можно получить с помощью формул массива (нажимайтеCtrl+Shift+Enterпосле ввода).
6. Выборка по слову с использованием VBA (для автоматизации)
Если вам нужно регулярно делать выборку по одному и тому же слову (например, еженедельно фильтровать отчёты по проекту «Альфа»), имеет смысл автоматизировать процесс с помощью макроса. VBA (Visual Basic for Applications) позволяет записывать действия и запускать их одной кнопкой.
Пример кода для выборки строк, где в столбце A есть слово «ургентно» (скопируйте его в редактор VBA через Alt+F11):
Sub FilterByKeyword()
Dim ws As Worksheet
Dim rng As Range
Dim keyword As String
Set ws = ActiveSheet
keyword = "ургентно" ' Замените на нужное слово
' Применяем автофильтр
If ws.AutoFilterMode Then ws.AutoFilterMode = False
ws.Range("A1").CurrentRegion.AutoFilter Field:=1, Criteria1:="=" & keyword & "", Operator:=xlAnd
End Sub
Чтобы запустить макрос:
- Нажмите
Alt+F8, выберитеFilterByKeywordи нажмитеВыполнить. - Для удобства назначьте макросу кнопку на панели быстрого доступа (
Файл → Параметры → Панель быстрого доступа).
VBA удобен для:
- 🔄 Регулярных задач (например, ежемесячных отчётов).
- 📁 Обработки нескольких файлов одновременно.
- 🛠 Сложной логики (например, выборка по слову + дополнительные условия по дате или сумме).
⚠️ Внимание: Перед записью макросов сохраните файл в формате.xlsm(с поддержкой макросов), иначе код не сохранится. Также проверьте настройки безопасности макросов вФайл → Параметры → Центр управления безопасностью.
Сравнение методов: какой выбрать?
Каждый из рассмотренных способов имеет свои плюсы и минусы. Выбор зависит от задачи, версии Excel и вашего уровня подготовки. Ниже — сравнительная таблица:
| Метод | Сложность | Динамичность | Подходит для больших данных | Требует знания формул/VBA |
|---|---|---|---|---|
| Стандартный фильтр | ⭐ | ❌ (статический) | ✅ | ❌ |
| Функция ПОИСК + ЕСЛИ | ⭐⭐ | ❌ (нужно обновлять фильтр) | ✅ | ✅ (базовые формулы) |
| Power Query | ⭐⭐⭐ | ✅ (обновляется по кнопке) | ✅✅ | ✅ (интерфейс без кода) |
| Функция ФИЛЬТР | ⭐⭐ | ✅ (автоматически) | ✅✅ | ✅ (только Excel 365/2021) |
| VBA | ⭐⭐⭐⭐ | ✅ (по кнопке) | ✅✅✅ | ✅ (знание кода) |
Для одноразовых задач подойдёт стандартный фильтр или ПОИСК+ЕСЛИ. Если нужно обрабатывать большие объёмы данных регулярно — освойте Power Query или VBA. Для пользователей Excel 365 лучший выбор — ФИЛЬТР.
Частые ошибки и как их избежать
При работе с выборкой по слову пользователи часто сталкиваются с типичными проблемами. Вот самые распространённые и способы их решения:
- 🔍 Фильтр не находит слово: проверьте регистр (например, «Москва» ≠ «москва»). Используйте
ПОИСКБилиНАЙТИдля регистронезависимого поиска. - 📊 Формула возвращает #ЗНАЧ!: скорее всего, в ячейке нет текста (она пустая или содержит ошибку). Добавьте проверку на пустоту:
ЕСЛИОШИБКА(ПОИСК(...); 0). - 🔄 Power Query не обновляет данные: после изменения исходной таблицы нажмите правой кнопкой на результат Power Query →
Обновить. - 🛠 Макрос не работает: убедитесь, что файл сохранён как
.xlsm, а не.xlsx, и включены макросы в настройках безопасности.
Ещё одна частая ошибка — поиск по части словам. Например, если вы ищете «монитор», фильтр может вернуть и «мониторинг». Чтобы найти только точное слово, используйте формулу:
=ЕСЛИ(ИЛИ(A2="монитор"; A2=" ноутбук "; A2=" ноутбук."); "Да"; "")
(Обратите внимание на пробелы и знаки препинания вокруг слова.)
FAQ: Ответы на популярные вопросы
Можно ли сделать выборку по нескольким словам одновременно?
Да, для этого используйте:
- В стандартном фильтре: примените фильтр несколько раз (по каждому слову через «ИЛИ»).
- В формулах: комбинируйте условия с
ИЛИ:=ЕСЛИ(ИЛИ(ЕЧИСЛО(ПОИСК("слово1";A2)); ЕЧИСЛО(ПОИСК("слово2";A2))); "Да"; "") - В Power Query: добавьте несколько шагов фильтрации или используйте
Text.Containsс операторомor.
Как сделать выборку по слову в любом столбце таблицы?
Если слово может быть в любом из столбцов, используйте:
- Вспомогательный столбец с формулой, проверяющей все столбцы:
=ЕСЛИ(ИЛИ(ЕЧИСЛО(ПОИСК("слово";A2)); ЕЧИСЛО(ПОИСК("слово";B2)); ЕЧИСЛО(ПОИСК("слово";C2))); "Да"; "") - Функцию
ФИЛЬТР(в Excel 365):=ФИЛЬТР(A2:C10; (ПОИСК("слово";A2:A10)>0)+(ПОИСК("слово";B2:B10)>0)+(ПОИСК("слово";C2:C10)>0))
Почему функция ПОИСК не находит слово, которое точно есть в ячейке?
Вероятные причины:
- В ячейке есть непечатаемые символы (пробелы, переносы строк). Используйте
=ЧИСТ(А2)для очистки. - Слово содержит спецсимволы (например, «#», «%»). Экранируйте их с помощью
ПОДСТАВИТЬ. - Вы используете
НАЙТИвместоПОИСК(первая функция чувствительна к регистру).
Как сохранить отфильтрованные данные как отдельную таблицу?
Способы:
- В Power Query: после фильтрации нажмите
Закрыть и загрузить в...→ выберитеНовый лист. - В Excel 365: используйте функцию
ФИЛЬТР, результат будет динамическим. - В любой версии:
- Примените фильтр.
- Скопируйте видимые строки (
Alt+;→Ctrl+C). - Вставьте на новый лист (
Ctrl+V).
Можно ли сделать выборку по слову в защищённом файле Excel?
Да, но с ограничениями:
- Стандартный фильтр и сводные таблицы работают в защищённых файлах, если не заблокированы ячейки с данными.
- Формулы (включая
ФИЛЬТР) и Power Query также работают, если не защищены листы. - VBA не будет выполняться, если файл защищён паролем на макросы.
Чтобы разблокировать возможности, снимите защиту листа (Рецензирование → Снять защиту листа).