Подробный ответ
Выпадающий список с поиском значительно удобнее стандартного при работе с длинными списками.
Excel 365 — встроенный поиск
В Excel 365 при вводе в ячейку с проверкой данных автоматически фильтруется список. Просто создайте стандартный выпадающий список (Данные → Проверка данных → Список) — поиск работает сразу.
Ранние версии — через ComboBox
- Разработчик → Вставить → Элементы ActiveX → Поле со списком (ComboBox).
- Нарисуйте поле на листе.
- ПКМ → Свойства → ListFillRange: укажите диапазон данных (например,
$E$2:$E$100). - LinkedCell: укажите ячейку для вывода значения.
- MatchEntry:
2-fmMatchEntryNoneдля отключения автодополнения. - Выйдите из режима конструктора.
Выпадающий список с фильтрацией через формулы (Excel 365)
- Создайте вспомогательный столбец с формулой ФИЛЬТР:
=ФИЛЬТР(E2:E100; ЕСНД(ПОИСК(A1;E2:E100)>0; ЛОЖЬ))
где A1 — ячейка для ввода поискового запроса. - Источник второго выпадающего списка — результат ФИЛЬТР.
Через именованный диапазон + СМЕЩ (для старых версий)
=СМЕЩ($E$1; ПОИСКПОЗ("*"&$A$1&"*"; $E$2:$E$100; 0); 0; СЧЁТЕСЛИ($E$2:$E$100;"*"&$A$1&"*"); 1)
Сложно, но работает без Excel 365.
Рекомендация
Если нужен поиск по списку, проще всего обновить Excel до версии 365, где это работает из коробки. Альтернатива — перейти на Google Таблицы, где поиск в выпадающем списке поддерживается давно.
Совет: Для динамического выпадающего списка с поиском в Excel 2019 и старше используйте надстройку ASAP Utilities или напишите VBA с обработкой события Change.