KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как автоматически фильтровать строки по значению ячейки в Excel?

АвторСяоянДата изменения

В Excel стандартная функция фильтрации обеспечивает быстрый способ отбора данных на основе критериев, выбираемых вручную. Однако в некоторых рабочих процессах может потребоваться автоматическое обновление данных сразу после ввода значения или условия в определённую ячейку. Например, если вы хотите, чтобы набор данных мгновенно фильтровался на основе ключевого слова или параметра, введённого в другую ячейку, это выходит за рамки возможностей стандартной фильтрации Excel. Такой динамический или «автофильтр» помогает оптимизировать процесс анализа данных, сократить время на ручную фильтрацию и повысить точность за счёт привязки Условия фильтрации непосредственно к значениям ячеек. Если вы стремитесь реализовать подобный механизм автофильтрации на основе ввода в ячейку, существуют несколько практических решений для достижения этого результата.

Автоматическая фильтрация строк по значению ячейки с помощью формулы Excel

Автоматическая фильтрация строк по введённому значению ячейки с помощью кода VBA


Автоматическая фильтрация строк по значению ячейки с помощью формулы Excel

Если вы предпочитаете решение без макросов или не можете использовать VBA из-за настроек безопасности или требований совместной работы, эффект «автофильтрации» можно создать с помощью комбинации формул и встроенных функций фильтрации Excel. Такой подход отлично работает в Microsoft 365, Microsoft 2019 и более поздних версиях, поддерживающих функции динамических массивов, такие как FILTER. Он идеально подходит для совместного использования с коллегами, у которых могут быть отключены макросы, а также для лёгких шаблонов, где требуется автоматизация без установки дополнительных компонентов.

1. Выберите пустую ячейку, с которой должны начинаться отфильтрованные результаты (например, установите курсор в ячейку)G2).

=FILTER(A2:C20, (A2:A20=E1) * (B2:B20=E2), "No match")

2. После ввода формулы в ячейку G2 нажмите Enter. Отфильтрованный набор данных появится в диапазоне перелива, начиная с ячейки G2. При изменении значений в E1 или E2 отфильтрованный список будет мгновенно обновляться.

В этом примере предполагается, что исходные данные находятся в диапазоне A2:C20, а условия фильтрации вводятся в ячейку E1 (соответствует столбцу A) и ячейку E2 (соответствует столбцу B). Если вы хотите фильтровать только по одному столбцу, логическое условие можно упростить соответствующим образом. Сообщение «Нет совпадений» появляется, если ни одна строка не соответствует заданным критериям.

Совет: Функция FILTER доступна в Microsoft 365 и некоторых версиях Microsoft Excel 2019 и новее. В более ранних версиях Excel динамическая фильтрация с помощью формул недоступна или работает неочевидным образом, поэтому рекомендуется использовать вспомогательные столбцы вместе со стандартным автофильтром или расширенной фильтрацией. Обязательно проверьте совместимость вашей версии Excel.

При использовании этого решения результаты размещаются в новой области на листе, что позволяет сохранить исходные данные в неизменном виде: оригинальный набор данных остаётся нетронутым — фильтрация применяется только к отображаемым результатам, а не к статусу отображения «Исходные данные».

Возможные ошибки: Если вы видите ошибку #ИМЯ? или #ПЕРЕПОЛН!, убедитесь, что используется совместимая версия Excel и что в диапазоне результатов отсутствуют объединённые ячейки. Также избегайте размещения других данных в области перелива формулы, чтобы предотвратить блокировку.


Автоматическая фильтрация строк по введённому значению ячейки с помощью кода VBA

Представьте, что вы работаете с набором данных и хотите автоматически фильтровать записи по критериям, указанным в определённых ячейках. Например, как только вы вводите нужные условия в ячейки E1 и E2, данные на листе мгновенно фильтруются, чтобы соответствовать этим значениям — как показано ниже:

снимок экрана фильтрации строк на основе введённого значения в ячейке

Чтобы автоматизировать фильтрацию таким образом, вы можете настроить простое решение на VBA. Оно срабатывает каждый раз при изменении значения в назначенных ячейках фильтрации и особенно полезно для панелей мониторинга, интерактивных отчётов или шаблонов, где пользователи ожидают динамической фильтрации через центральные ячейки параметров.

1. Перейдите на лист, где вы хотите автоматизировать фильтрацию строк в зависимости от значений, вводимых в ячейки.

2. Щёлкните правой кнопкой мыши по ярлыку листа внизу окна Excel и выберите в контекстном меню пункт Просмотреть код. В появившемся окне Microsoft Visual Basic for Applications вставьте следующий код VBA в большую пустую область (обычно называемую окном кода или модулем листа), как показано здесь:

Код VBA: автоматическая фильтрация данных в соответствии со введённым значением ячейки

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice 20160606
   If Target.Address = Range("E2").Address Then
       Range("A1:C20").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("E1:E2")
   End If
End Sub

снимок экрана, показывающий, как использовать код VBA

Примечание: в этом коде VBA A1:C20 обозначает ваш диапазон данных, к которому применяется фильтр. E2 — это ячейка, в которую вы вводите значение фильтра (ваш критерий), а E1:E2 — ячейки, используемые в качестве условия фильтрации. Вы можете изменить эти диапазоны по необходимости — убедитесь, что они точно соответствуют расположению ваших данных и условий фильтрации в структуре листа. Кроме того, рекомендуется избегать объединённых ячеек и убедиться, что ваш диапазон данных содержит заголовки, если они необходимы для корректной фильтрации.

3. Теперь введите или измените условия фильтрации в ячейке E1 и/или E2. Как только вы нажмёте Enter, код VBA автоматически выполнится и отфильтрует указанный диапазон данных, чтобы отобразить только строки, соответствующие вашим критериям.

Если фильтрация не запускается сразу после ввода значения, убедитесь, что макросы включены в вашей книге, и проверьте, что диапазоны в коде VBA точно соответствуют структуре текущего листа. В многопользовательских сценариях напомните другим пользователям, что для корректной работы этой функции необходимо включить макросы.

Этот метод на основе VBA особенно эффективен для динамических панелей мониторинга с параметрическим управлением, интерактивных шаблонов ввода данных или любых сценариев, где повторное ручное применение условий фильтрации было бы нецелесообразно. Однако имейте в виду: если пользователи отключат макросы, это может вызвать проблемы, а решения на основе VBA работают только в том файле, куда внедрён соответствующий код.

Если ваш сценарий предполагает частую смену критериев несколькими пользователями с разными настройками безопасности Excel или если вы планируете широко распространять файл, рассмотрите альтернативные решения — на основе формул или надстройки Excel.


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

 

Фильтруйте данные по нескольким критериям или другим конкретным условиям, например по длине текста, с учётом регистра и т.д.

Когда требуется выполнить более сложные операции фильтрации — например, комбинировать несколько условий фильтрации, фильтровать по длине текста, учитывать регистр символов или задавать фильтрацию по определённым периодам — встроенных средств Excel может оказаться недостаточно. В таких случаях Kutools для Excel's Супер фильтр предлагает практичное решение для лёгкого и эффективного выполнения даже самых сложных задач фильтрации. Эта функция позволяет:

  • Применяйте несколько критериев по нескольким столбцам; фильтруйте данные по количеству символов в ячейке;
  • Фильтруйте по верхнему или Текст в нижнем регистре; фильтруйте данные по году, месяцу, дню, неделе или кварталу

снимок экрана использования Kutools for Excel для фильтрации даты по нескольким критериям

Kutools для Excel: оснащён более чем 300 практичными надстройками для Excel, полностью функциональная бесплатная пробная версия на 30 дней.Скачайте и начните бесплатную пробную версию прямо сейчас!


Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
  • Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек