Перейти к основному содержанию

Полное руководство по раскрывающемуся списку с возможностью поиска в Excel

Создание раскрывающихся списков в Excel упрощает ввод данных и сводит к минимуму ошибки. Но при работе с большими наборами данных прокрутка длинных списков становится затруднительной. Не проще ли было бы просто набрать текст и быстро найти нужный предмет? А "раскрывающийся список с возможностью поиска» предлагает такое удобство. В этом руководстве вы познакомитесь с четырьмя способами создания такого списка в Excel.


Видео


Раскрывающийся список с возможностью поиска в Excel 365

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

В этом случае я печатаю Сан - в ячейке, а раскрывающийся список отфильтровывает города, названия которых начинаются с поискового запроса. Сан -, Такие, как Сан-Франциско и Сан Диего. Затем вы можете выбрать результат с помощью мыши или использовать клавиши со стрелками и нажать Enter.

Заметки:
  • Ассоциация поиск начинается с первой буквы каждого слова в раскрывающемся списке. Если вы введете символ, который не соответствует начальному символу какого-либо слова, в списке не будут отображаться соответствующие элементы.
  • Эта функция доступна только в последней версии Excel 365.
  • Если ваша версия Excel не поддерживает эту функцию, мы рекомендуем Раскрывающийся список с возможностью поиска особенность Kutools for Excel. Ограничений по версии Excel нет, и после включения вы сможете легко искать нужный элемент в раскрывающемся списке, просто набрав соответствующий текст. Посмотреть подробные инструкции.

Создание раскрывающегося списка с возможностью поиска (для Excel 2019 и более поздних версий)

Если вы используете Excel 2019 или более поздние версии, метод, описанный в этом разделе, также можно использовать, чтобы сделать раскрывающийся список доступным для поиска в Excel.

Предполагая, что вы создали раскрывающийся список в ячейке A2 листа 2 (изображение справа) с использованием данных в диапазоне A2:A8 листа 1 (изображение слева), выполните следующие действия, чтобы сделать список доступным для поиска.

Шаг 1. Создайте вспомогательный столбец, в котором будут перечислены элементы поиска.

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

  1. Выберите первую ячейку D1 в столбце D и введите заголовок столбца, например "Результаты поиска" в этом случае.
  2. Введите следующую формулу в ячейку D2 и нажмите Enter.
    =FILTER(A2:A8,ISNUMBER(SEARCH(Sheet2!A2,A2:A8)),"Not Found")
Заметки:
  • В этой формуле, A2: A8 — диапазон исходных данных. Лист2!A2 — расположение раскрывающегося списка, что означает, что раскрывающийся список расположен в A2 на Листе2. Пожалуйста, измените их в соответствии с вашими данными.
  • Если в раскрывающемся списке A2 листа 2 не выбран ни один элемент, формула отобразит все элементы из исходных данных, как показано на изображении выше. И наоборот, если элемент выбран, D2 отобразит этот элемент как результат формулы.
Шаг 2. Настройте раскрывающийся список заново.
  1. Выберите ячейку раскрывающегося списка (в данном случае я выбираю ячейку A2 на Листе2), затем перейдите к выбору Данные > проверка достоверности данных > проверка достоверности данных.
  2. В проверка достоверности данных диалоговое окно, вам необходимо настроить следующим образом.
    1. Под Настройки , нажмите в Источник пунктом.
    2. Ассоциация проверка достоверности данных диалоговое окно будет перенаправлено на Лист1, выберите ячейку (например, D2) с формулой из шага 1, добавьте # символ и щелкните Закрыть .
    3. Перейдите в Предупреждение об ошибке , снимите флажок Показывать предупреждение об ошибке после ввода неверных данных флажок и, наконец, нажмите кнопку OK чтобы сохранить изменения.
Результат

Раскрывающийся список в ячейке A2 листа Sheet2 теперь доступен для поиска. Введите текст в ячейку, щелкните стрелку раскрывающегося списка, чтобы развернуть раскрывающийся список, и вы увидите список, мгновенно отфильтрованный в соответствии с введенным текстом.

Заметки:
  • Этот метод доступен только для Excel 2019 и более поздних версий.
  • Этот метод работает только с одной ячейкой раскрывающегося списка одновременно. Чтобы сделать раскрывающиеся списки доступными для поиска в ячейках от A3 до A8 на Листе 2, вышеупомянутые шаги необходимо повторить для каждой ячейки.
  • Когда вы вводите текст в ячейку раскрывающегося списка, раскрывающийся список не расширяется автоматически, вам нужно щелкнуть стрелку раскрывающегося списка, чтобы развернуть его вручную.

Легко создавайте раскрывающийся список с возможностью поиска (для всех версий Excel)

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

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

  1. Выберите диапазон, содержащий раскрывающиеся списки, которые необходимо настроить как раскрывающиеся списки с возможностью поиска.
  2. Нажмите OK для завершения настроек.
Результат

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

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

Создайте раскрывающийся список с возможностью поиска с помощью поля со списком и VBA (более сложный)

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

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

Вам нужно вставить поле со списком вместо раскрывающегося списка проверки данных на листе.

  1. Если же линия индикатора Застройщик вкладка не отображается на ленте, вы можете включить Застройщик вкладку следующим образом.
    1. В Excel 2010 или более поздних версиях нажмите кнопку Файл > Опции. И в Параметры Excel диалоговое окно, нажмите Настроить ленту на левой панели. Перейдите к списку «Настроить ленту», установите флажок Застройщик поле, а затем щелкните OK кнопка. Смотрите скриншот:
    2. В Excel 2007 щелкните Офис кнопка> Параметры Excel. В Параметры Excel диалоговое окно, нажмите Популярное на левой панели проверьте Показать вкладку разработчика на ленте поле и, наконец, щелкните OK .
  2. После показа Застройщик вкладку нажмите Застройщик > Вставить > Поле со списком.
  3. Нарисуйте поле со списком на листе, щелкните его правой кнопкой мыши и выберите Объекты из контекстного меню.
  4. В Объекты диалоговое окно, вам необходимо:
    1. Выберите Ложь в Автовыбор слов поле;
    2. Укажите ячейку в Связанная ячейка поле. В этом случае мы вводим A12;
    3. Выберите 2-fmMatchEntryNone в МатчВвод поле;
    4. Тип Раскрывающийся список в СписокЗаполнитьДиапазон поле;
    5. Закрой Объекты диалоговое окно. Смотрите скриншот:
  5. Теперь выключите режим разработки, нажав Застройщик > Режим проектирования.
  6. Выберите пустую ячейку, например C2, введите формулу ниже и нажмите Enter. Они перетаскивают его дескриптор автозаполнения в ячейку C9, чтобы автоматически заполнить ячейки одной и той же формулой. Смотрите скриншот:
    =--ISNUMBER(IFERROR(SEARCH($A$12,A2,1),""))
    Заметки:
    1. 12 австралийских доллара это ячейка, которую вы указали как Связанная ячейка на шаге 4;
    2. После завершения вышеуказанных шагов теперь вы можете проверить: введите букву C в поле со списком, и тогда вы увидите, что ячейки формулы, ссылающиеся на ячейки, содержащие символ C, заполнены цифрой 1.
  7. Выделите ячейку D2, введите формулу ниже и нажмите Enter. Затем перетащите его дескриптор автозаполнения вниз в ячейку D9.
    =IF(C2=1,COUNTIF($C$2:C2,1),"")
  8. Выделите ячейку E2, введите формулу ниже и нажмите Enter. Затем перетащите его дескриптор автозаполнения вниз до E9, чтобы применить ту же формулу.
    =IFERROR(INDEX($A$2:$A$9,MATCH(ROWS($D$2:D2),$D$2:$D$9,0)),"")
  9. Теперь вам нужно создать диапазон имен. Пожалуйста, нажмите Формула > Определить имя.
  10. В Новое имя диалоговое окно, введите Раскрывающийся список в Фамилия поле, введите приведенную ниже формулу в поле Относится к поле, а затем щелкните OK .
    =$E$2:INDEX($E$2:$E$9,MAX($D$2:$D$9),1)
    
  11. Теперь включите режим разработки, нажав Застройщик > Режим проектирования. Затем дважды щелкните поле со списком, чтобы открыть Microsoft Visual Basic для приложений окно.
  12. Скопируйте и вставьте приведенный ниже код VBA в редактор кода.
    Код VBA: сделать выпадающий список доступным для поиска
    Private Sub ComboBox1_GotFocus()
    	ComboBox1.ListFillRange = "DropDownList"
    	Me.ComboBox1.DropDown
    End Sub
  13. Нажмите другой + Q ключи, чтобы закрыть Microsoft Visual Basic для приложений окно.

Отныне, когда символ вводится в поле со списком, он выполняет нечеткий поиск, а затем перечисляет соответствующие значения в списке.

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

Лучшие инструменты для работы в офисе

Kutools for Excel - поможет вам выделиться из толпы

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

Kutools для Excel может похвастаться более чем 300 функциями, Гарантия того, что то, что вам нужно, находится на расстоянии одного клика...

Описание


Вкладка Office - включение чтения и редактирования с вкладками в Microsoft Office (включая Excel)

  • Одна секунда для переключения между десятками открытых документов!
  • Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
  • Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
  • Добавляет эффективные вкладки в Office (включая Excel), как в Chrome, Edge и Firefox.
Comments (67)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Perfect idea for me. But I have a problem with the "ROWS" formula.
I mean point 8.
When I use your formula (in the drop-down list I have nothing entered, as you can see in point 8) in the first cell is "INDIA".
And pick up the cells with the "spilled" error. What I need to change for the formula to work properly.

E1 - India
E2 - #SPILL!
E3 -#SPILL!
E4 - #SPILL!
E5 - #SPILL!
E6 -#SPILL!
E7 - #SPILL!
E8 - India
E9 - Brazil
E10 - Italy
E11 - Japan
E12 - United State
E13 - Francy
E14 - Germany

You also see that there are more poems appearing than yours.
This comment was minimized by the moderator on the site
Hi Przamek PL,
Sory, I cannot reproduce the problem you mentioned. Can you provide us with your data for tesing? If you don't mind, upload your sample file here.
This comment was minimized by the moderator on the site
Thank you for your message.
I was able to run your example correctly.
I have a reflection now ...
How to apply your solution to the UseForm form?

I would like to select a person from the list in the form, then I would have information about the age of this person elsewhere in the form. Such a simple example. Difficult?
This comment was minimized by the moderator on the site
Hi Przemek PF,
This method does not work in UserForm. Sorry for the inconvenience.
This comment was minimized by the moderator on the site
Somehow excel will not let me fill in the ListFillRange with ANYTHING. so also not the DropDownList. I did all the steps but am not able to get a flashing cursor and when I type no drop down list appears. any solutions?
This comment was minimized by the moderator on the site
Hi Marloes, This problem can't be solved yet. Make sure the ListFillRange is on the same sheet as your list box. 
This comment was minimized by the moderator on the site
I've just purchased kutools to use this function. Is it possible to have two or more different searchable drop down lists (i.e. referncing different lists of valid entries) on the same sheet?
This comment was minimized by the moderator on the site
Hi Marc,The feature does not support two or more different searchable drop down lists on the same sheet. Sorry for the inconvenience.
This comment was minimized by the moderator on the site
how to use this dropdown in vba form any konw please reply
This comment was minimized by the moderator on the site
Hi, I made an action list for internal use with automatic email reminders in Excel, based on macro and vba. in a cell you select which person to send the reminder to, in a next cell you select which person to CC etc. Is it a good idea to copy this dropdownlist a few 100 times to every possible entry that I supply ? And is it possible to add a rule: Per row a particular person can only be selected once?
This comment was minimized by the moderator on the site
I have around 80000 data while running excel is hang
This comment was minimized by the moderator on the site
Sir How to use this in excel userform combobox....? plz help
This comment was minimized by the moderator on the site
Hi Sourav Singha,
Can't use it in a userform combobox. Sorry for the inconvenience.
This comment was minimized by the moderator on the site
Is there a way to make it call up a hyperlink? My email is
This comment was minimized by the moderator on the site
Hi Josh,
Sorry can;t help you with that yet.
This comment was minimized by the moderator on the site
I have a problem. My list is in Armenian language, and I see ??????-s instead of the letters. how can I fix this problem? Thank you in advance
This comment was minimized by the moderator on the site
Hi Vrezh,
Sorry this kind of problem can't be solved yet. Thank you for your comment.
This comment was minimized by the moderator on the site
How can I use this? I have two problem
1st I would like use ComboBox1 for a full column, so I have D column, it should see empty.
When I click into a cell in D column example D7 or D8(etc) I should get a Combo in D7 or D8 etc cell and after select just see the result, not the combo too.

But how can I add combobox dynamically to D2, D4, D11 etc when click or before.
I need for I can search with typing too, so simple(not active-x) combo is wrong.

2nd how set padding? - my combo text when I search is not see whole because itt has padding.

3th if my source is C column, how drop empty elements from list
This comment was minimized by the moderator on the site
Hi Steve Olah,
Sorry can't help you with that. Any question about Excel, please don’t hesitate to post in our forum: https://www.extendoffice.com/forum.html.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations