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

Как фильтровать данные в Excel на основе выбора из раскрывающегося списка?

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

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

снимок экрана использования раскрывающегося списка для фильтрации данных

Фильтрация данных по выбору в раскрывающемся списке на одном листе с помощью вспомогательных формул

Фильтрация данных по выбору в раскрывающемся списке на двух листах с помощью кода VBA

Использовать условное форматирование – Выделенный диапазон строк, соответствующие выбору в раскрывающемся списке


Фильтрация данных по выбору в раскрывающемся списке на одном листе с помощью вспомогательных формул

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

1. Сначала вставьте раскрывающийся список. Выберите ячейку, в которой он должен находиться, перейдите на вкладку ДанныеПроверка данныхПроверка данных. Этот шаг создаёт ячейку, из которой пользователь сможет выбирать значение для фильтрации.

снимок экрана включения функции проверки данных

2. В диалоговом окне Проверка данных на вкладке Параметры выберите Список в поле Разрешить и нажмите кнопку снимок экрана кнопки выбора, чтобы выделить диапазон значений для вашего раскрывающегося списка. Использование именованного диапазона или таблицы в качестве источника списка позволит автоматически обновлять его в будущем.

снимок экрана настройки диалогового окна проверки данных

3. После настройки раскрывающегося списка выберите любой элемент для фильтрации. В ячейку D2 введите следующую формулу (предполагая, что выбор в раскрывающемся списке находится в столбце H):

=ROWS($A$2:A2)

Здесь A2 — первая ячейка в столбце с данными для сопоставления. Протяните маркер заполнения вниз, чтобы применить формулу ко всем нужным строкам. Этот вспомогательный столбец генерирует номера строк, упрощая последующую ссылку на них.

снимок экрана использования функции СТРОКИ для создания вспомогательного столбца с порядковыми номерами

4. Затем введите в ячейку E2:

=IF(A2=$H$2,D2,"")

Эта формула проверяет, совпадает ли значение в ячейке A2 с выбранным элементом раскрывающегося списка в ячейке H2. Если совпадение найдено, формула выводит номер строки из ячейки D2; в противном случае ячейка остаётся пустой. Это ключевой этап фильтрации — убедитесь, что ссылка на ячейку с раскрывающимся списком (в данном случае)H2) не изменяется случайным образом.

снимок экрана использования формулы для создания второго вспомогательного столбца

5. Введите в ячейку F2:

=IFERROR(SMALL($E$2:$E$17,D2),"")

Эта формула извлекает заданное количество строк отфильтрованных данных, позволяя в дальнейшем вернуть соответствующие записи. Убедитесь, что диапазон E2:E17 охватывает все ваши ячейки с формулами фильтра. При необходимости протяните маркер заполнения вниз.

снимок экрана использования формулы для создания третьего вспомогательного столбца

6. Чтобы отобразить результаты фильтрации, введите следующую формулу в ячейку J2:

=IFERROR(INDEX($A$2:$C$17,$F2,COLUMNS($J$2:J2)),"")

Скопируйте эту формулу из J2 в L2, чтобы отобразить первую совпадающую запись. На этом этапе результаты вспомогательных столбцов используются для получения фактических строк данных на основе выбора в раскрывающемся списке. При необходимости скорректируйте столбцы, если исходные данные находятся в другом диапазоне.

снимок экрана использования формулы для получения первой отфильтрованной строки на основе выбора в раскрывающемся списке

Примечание: A2:C17 — это исходная таблица, F2 — вспомогательный столбец с отфильтрованными данными, J2 — ячейка, в которой должен появиться результат.

7. Протяните маркер заполнения вниз по всем столбцам с результатами, чтобы отобразить все совпадающие записи.

снимок экрана со всеми отфильтрованными результатами

8. Теперь при выборе любого элемента в раскрывающемся списке таблица ниже будет автоматически обновляться, отображая только строки, соответствующие выбранному значению.

снимок экрана с различными отфильтрованными результатами в зависимости от выбора в раскрывающемся списке

снимок экрана коллекции раскрывающихся списков Kutools

Расширенные возможности раскрывающихся списков Excel от Kutools

Повысьте продуктивность с расширенными возможностями раскрывающихся списков от Kutools для Excel! Этот мощный набор функций выходит за рамки стандартных инструментов Excel и оптимизирует ваш рабочий процесс, включая:

  • Создайте выпадающий список с множественным выбором: выбирайте сразу несколько значений для эффективной обработки данных.
  • Раскрывающийся список с флажками: Повысьте удобство взаимодействия и наглядность в ваших таблицах.
  • Создайте динамический выпадающий список…: он будет автоматически обновляться при изменении данных, гарантируя точность.
  • Сделайте выпадающий список доступным для поиска: быстро находите нужные значения, экономьте время и избегайте неудобств.

Фильтрация данных по выбору в раскрывающемся списке на двух листах с помощью кода VBA

Иногда возникает необходимость фильтровать данные на одном листе после выбора элемента в раскрывающемся списке, расположенном на другом листе. Например, на Листе1 размещён элемент выбора, а на Листе2 — таблица, подлежащая фильтрации. В таких случаях наиболее практичным решением является использование VBA, поскольку формулы не способны напрямую обновлять содержимое других листов в ответ на пользовательские действия. Такой подход идеально подходит для панелей мониторинга, отчётов или сводных книг, где исходный диапазон и пользовательские вводы разделены для повышения наглядности и удобства работы.

1. Щёлкните правой кнопкой мыши по ярлыку листа (например, Лист1), содержащего ячейку с раскрывающимся списком, и выберите команду Просмотреть код. В окне Microsoft Visual Basic для приложений скопируйте и вставьте следующий код в пустой модуль:

Код VBA: Фильтрация данных по выбору в раскрывающемся списке на двух листах:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    On Error Resume Next
    If Not Intersect(Range("A2"), Target) Is Nothing Then
        Application.EnableEvents = False
        If Range("A2").Value = "" Then
            Worksheets("Sheet2").ShowAllData
        Else
            Worksheets("Sheet2").Range("A2").AutoFilter 1, Range("A2").Value
        End If
        Application.EnableEvents = True
    End If
End Sub

Примечание: В коде A2 — это ячейка с раскрывающимся списком, Лист2 — лист, на котором выполняется фильтрация, а Автофильтр 1 указывает столбец для фильтрации. Настройте эти параметры в соответствии с расположением ваших данных. Убедитесь, что имена листов и ячейки точно соответствуют реальной структуре вашей таблицы, чтобы избежать ошибок времени выполнения. Если возникнут непредвиденные проблемы, проверьте, не включена ли защита листа, а также наличие объединённых или скрытых ячеек, которые могут мешать работе автофильтра.

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

2. Теперь при выборе любого элемента в раскрывающемся списке на Листе 1 данные на Листе 2 будут мгновенно фильтроваться, обеспечивая бесперебойный анализ между листами для отчётности и проверки.

снимок экрана, показывающий выбор в раскрывающемся списке и соответствующие отфильтрованные результаты

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


Использовать условное форматирование – Автоматическое выделение всех строк, соответствующих выбору в раскрывающемся списке

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

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

  • Выберите диапазон данных: Например, выделите A2:C100.
  • Откройте инструмент «Условное форматирование»: Перейдите на вкладку Главная > Условное форматирование > Создать правило.
  • Создайте правило: выберите пункт Использовать формулу для определения форматируемых ячеек и введите формулу, например:
    =$A2=$H$2
    Эта формула выделяет любую строку, в которой значение в столбце A совпадает с выбором из раскрывающегося списка в ячейке H2.
  • Задайте форматирование: Нажмите кнопку Формат, затем выберите «Цвет заливки» или «Формат текста». Нажмите «ОК», чтобы подтвердить.

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

Чтобы убрать подсветку, перейдите в Использовать условное форматирование > Очистить правила. Чтобы настроить подсветку по нескольким условиям или столбцам, скорректируйте формулу так, чтобы она проверяла больше столбцов, или используйте функцию И.

Лучшие инструменты повышения продуктивности в 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-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек