Как фильтровать данные в 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. Теперь при выборе любого элемента в раскрывающемся списке таблица ниже будет автоматически обновляться, отображая только строки, соответствующие выбранному значению.


Расширенные возможности раскрывающихся списков 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 указывает столбец для фильтрации. Настройте эти параметры в соответствии с расположением ваших данных. Убедитесь, что имена листов и ячейки точно соответствуют реальной структуре вашей таблицы, чтобы избежать ошибок времени выполнения. Если возникнут непредвиденные проблемы, проверьте, не включена ли защита листа, а также наличие объединённых или скрытых ячеек, которые могут мешать работе автофильтра.

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

Обратите внимание: решения на основе VBA работают только при включённых макросах. Всегда сохраняйте книгу в формате .xlsm, чтобы код оставался в файле. Если фильтр не обновляется, проверьте настройки безопасности макросов и убедитесь, что ссылки и имя листа указаны верно. Избегайте использования конфиденциальных или критически важных данных без надёжной резервной копии — макросы способны вносить массовые изменения.
Использовать условное форматирование – Автоматическое выделение всех строк, соответствующих выбору в раскрывающемся списке
Если ваша цель — не скрывать и не извлекать строки, а просто визуально выделять те из них, которые соответствуют выбору в раскрывающемся списке, условное форматирование станет быстрым и удобным решением. Применяйте этот метод, чтобы привлечь внимание пользователей к релевантным строкам, не удаляя и не перемещая данные.
Наиболее распространённое применение — в панелях мониторинга, отчётах и больших списках: выделение мгновенно показывает, какие записи относятся к текущему выбору, значительно повышая читаемость данных.
- Выберите диапазон данных: Например, выделите A2:C100.
- Откройте инструмент «Условное форматирование»: Перейдите на вкладку Главная > Условное форматирование > Создать правило.
- Создайте правило: выберите пункт Использовать формулу для определения форматируемых ячеек и введите формулу, например:
Эта формула выделяет любую строку, в которой значение в столбце A совпадает с выбором из раскрывающегося списка в ячейке H2.=$A2=$H$2 - Задайте форматирование: Нажмите кнопку Формат, затем выберите «Цвет заливки» или «Формат текста». Нажмите «ОК», чтобы подтвердить.
Преимущества: быстрая настройка, мгновенная реакция на изменение выделения и полное сохранение структуры таблицы. Однако эта функция лишь подсвечивает строки — она не фильтрует и не извлекает их. В больших таблицах используйте цвета с высокой контрастностью, чтобы выделенные диапазоны строк были хорошо заметны. Правила условного форматирования применяются к ячейкам: если ссылки на ячейки указаны неверно, не все строки могут подсвечиваться так, как ожидается. Для обеспечения согласованности используйте абсолютные ссылки (например, $H$2) в формуле.
Чтобы убрать подсветку, перейдите в Использовать условное форматирование > Очистить правила. Чтобы настроить подсветку по нескольким условиям или столбцам, скорректируйте формулу так, чтобы она проверяла больше столбцов, или используйте функцию И.
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал 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.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек