Przejdź do głównej zawartości

Kompletny przewodnik po listach rozwijanych z możliwością przeszukiwania w programie Excel

Tworzenie list rozwijanych w programie Excel usprawnia wprowadzanie danych i minimalizuje błędy. Jednak w przypadku większych zbiorów danych przewijanie długich list staje się kłopotliwe. Czy nie byłoby łatwiej po prostu wpisać i szybko zlokalizować swój przedmiot? A "lista rozwijana z możliwością przeszukiwania” oferuje tę wygodę. Ten przewodnik przeprowadzi Cię przez cztery metody konfiguracji takiej listy w programie Excel.


Wideo


Lista rozwijana z możliwością przeszukiwania w programie Excel 365

W programie Excel 365 do list rozwijanych sprawdzania poprawności danych wprowadzono długo oczekiwaną funkcję: możliwość wyszukiwania na liście. Dzięki funkcji wyszukiwania użytkownicy mogą szybko lokalizować i wybierać elementy w bardziej efektywny sposób. Po wstawieniu listy rozwijanej w zwykły sposób wystarczy kliknąć komórkę z listą rozwijaną i zacząć pisać. Lista zostanie natychmiast przefiltrowana w celu dopasowania do wpisanego tekstu.

W tym przypadku piszę San w komórce, a lista rozwijana odfiltruje miasta zaczynające się od wyszukiwanego hasła San, Takie jak San Francisco i San Diego. Następnie możesz wybrać wynik za pomocą myszki lub użyć klawiszy strzałek i nacisnąć Enter.

Uwagi:
  • Połączenia wyszukiwanie rozpoczyna się od pierwszej litery każdego słowa na liście rozwijanej. Jeśli wprowadzisz znak, który nie pasuje do znaku początkowego żadnego słowa, lista nie wyświetli pasujących elementów.
  • Ta funkcja jest dostępna tylko w najnowszej wersji programu Excel 365.
  • Jeśli Twoja wersja programu Excel nie obsługuje tej funkcji, tutaj zalecamy Przeszukiwalna lista rozwijana cechą Kutools dla programu Excel. Nie ma ograniczeń dotyczących wersji programu Excel, a po włączeniu możesz łatwo wyszukać żądany element na liście rozwijanej, po prostu wpisując odpowiedni tekst. Zobacz szczegółowe kroki.

Utwórz listę rozwijaną z możliwością wyszukiwania (dla programu Excel 2019 i nowszych wersji)

Jeśli używasz programu Excel 2019 lub nowszego, metody opisanej w tej sekcji można również użyć, aby umożliwić przeszukiwanie listy rozwijanej w programie Excel.

Zakładając, że utworzyłeś listę rozwijaną w komórce A2 Arkusza 2 (obrazek po prawej) przy użyciu danych z zakresu A2:A8 Arkusza 1 (obrazek po lewej stronie), wykonaj poniższe kroki, aby umożliwić przeszukiwanie listy.

Krok 1. Utwórz kolumnę pomocniczą zawierającą listę wyszukiwanych elementów

Tutaj potrzebujemy kolumny pomocniczej, aby wyświetlić listę elementów pasujących do danych źródłowych. W tym przypadku utworzę kolumnę pomocniczą w kolumna D of Sheet1.

  1. Wybierz pierwszą komórkę D1 w kolumnie D i wprowadź nagłówek kolumny, np. „Wyniki wyszukiwania” w tym przypadku.
  2. Wprowadź następującą formułę do komórki D2 i naciśnij Wchodzę.
    =FILTER(A2:A8,ISNUMBER(SEARCH(Sheet2!A2,A2:A8)),"Not Found")
Uwagi:
  • W tym wzorze A2: A8 to zakres danych źródłowych. Arkusz2!A2 to lokalizacja listy rozwijanej, co oznacza, że ​​lista rozwijana znajduje się w A2 Arkusza 2. Prosimy o ich zmianę według własnych danych.
  • Jeśli z listy rozwijanej w A2 Arkusza 2 nie zostanie wybrany żaden element, formuła wyświetli wszystkie elementy z danych źródłowych, jak pokazano na powyższym obrazku. I odwrotnie, jeśli element zostanie wybrany, D2 wyświetli ten element jako wynik formuły.
Krok 2: Skonfiguruj ponownie listę rozwijaną
  1. Wybierz komórkę listy rozwijanej (w tym przypadku wybieram komórkę A2 w Arkuszu 2), a następnie przejdź do opcji Wybierz Dane > Walidacja danych > Walidacja danych.
  2. W Walidacja danych oknie dialogowym, należy skonfigurować w następujący sposób.
    1. Pod Ustawienia Kliknij kartę przycisk w Źródło pudełko.
    2. Połączenia Walidacja danych okno dialogowe przekieruje do Arkusza1, wybierz komórkę (np. D2) zawierającą formułę z kroku 1, dodaj # symbol i kliknij Zamknij przycisk.
    3. Idź do Alert o błędzie kartę, odznacz pole Pokaż alert o błędzie po wprowadzeniu nieprawidłowych danych pole wyboru i na koniec kliknij przycisk OK przycisk, aby zapisać zmiany.
Wynik

Można teraz przeszukiwać listę rozwijaną w komórce A2 arkusza 2. Wpisz tekst w komórce, kliknij strzałkę rozwijaną, aby rozwinąć listę rozwijaną, a lista zostanie natychmiast przefiltrowana w celu dopasowania do wpisanego tekstu.

Uwagi:
  • Ta metoda jest dostępna tylko w programie Excel 2019 i nowszych wersjach.
  • Ta metoda działa tylko w przypadku jednej komórki listy rozwijanej na raz. Aby umożliwić przeszukiwanie list rozwijanych w komórkach od A3 do A8 w Arkuszu 2, powyższe kroki należy powtórzyć dla każdej komórki.
  • Po wpisaniu tekstu w komórce listy rozwijanej lista rozwijana nie rozwija się automatycznie. Aby ją rozwinąć ręcznie, należy kliknąć strzałkę rozwijaną.

Łatwe tworzenie przeszukiwalnej listy rozwijanej (dla wszystkich wersji programu Excel)

Biorąc pod uwagę różne ograniczenia powyższych metod, oto bardzo skuteczne narzędzie dla Ciebie - Kutools dla programu Excel's Umożliwia przeszukiwanie listy rozwijanej, automatyczne wyskakujące okienkofunkcja. Ta funkcja jest dostępna we wszystkich wersjach programu Excel i umożliwia łatwe wyszukiwanie żądanego elementu na liście rozwijanej za pomocą prostej konfiguracji.

Po pobieranie i instalowanie Kutools dla Excela, Wybierz Kutools > Lista rozwijana > Umożliwia przeszukiwanie listy rozwijanej, automatyczne wyskakujące okienko aby włączyć tę funkcję. w Udostępnij listę rozwijaną do przeszukiwania w oknie dialogowym, musisz:

  1. Wybierz zakres zawierający listy rozwijane, które należy ustawić jako listy rozwijane z możliwością przeszukiwania.
  2. Kliknij OK aby zakończyć ustawienia.
Wynik

Po kliknięciu komórki listy rozwijanej w określonym zakresie po prawej stronie pojawia się pole listy. Wpisz tekst, aby natychmiast przefiltrować listę, a następnie wybierz element lub użyj klawiszy strzałek i naciśnij Wchodzę aby dodać go do komórki.

Uwagi:
  • Ta funkcja obsługuje wyszukiwanie z dowolnej pozycji w słowach. Oznacza to, że nawet jeśli wprowadzisz znak znajdujący się w środku lub na końcu słowa, pasujące elementy zostaną znalezione i wyświetlone, co zapewni bardziej wszechstronne i przyjazne dla użytkownika wyszukiwanie.
  • Aby dowiedzieć się więcej o tej funkcji, proszę odwiedź tę stronę.
  • Aby zastosować tę funkcję, proszę pobierz i zainstaluj Kutools dla Excela pierwszy.

Utwórz listę rozwijaną z możliwością przeszukiwania za pomocą pola kombi i VBA (bardziej złożone)

Jeśli chcesz po prostu utworzyć listę rozwijaną z możliwością przeszukiwania, bez określania konkretnego typu listy rozwijanej. W tej sekcji przedstawiono alternatywne podejście: użycie pola kombi z kodem VBA do wykonania zadania.

Załóżmy, że masz listę nazw krajów w kolumnie A, jak pokazano na poniższym zrzucie ekranu, a teraz chcesz ich użyć jako danych źródłowych list rozwijanych wyszukiwania, możesz wykonać następujące czynności.

Musisz wstawić pole kombi zamiast listy rozwijanej sprawdzania poprawności danych w arkuszu.

  1. Jeśli Deweloper karta nie wyświetla się na wstążce, możesz włączyć Deweloper w następujący sposób.
    1. W programie Excel 2010 lub nowszym kliknij filet > Opcje. I w Opcje programu Excel okno dialogowe, kliknij Dostosuj Wstążkę w lewym okienku. Przejdź do pola listy Dostosuj wstążkę, zaznacz Deweloper a następnie kliknij OK przycisk. Zobacz zrzut ekranu:
    2. W programie Excel 2007 kliknij Biurowe przycisk> Opcje programu Excel, w Opcje programu Excel okno dialogowe, kliknij Popularny w lewym okienku zaznacz plik Pokaż kartę Deweloper na Wstążce i na koniec kliknij OK przycisk.
  2. Po pokazaniu Deweloper tab, kliknij Deweloper > wstawka > Pole kombi.
  3. Narysuj pole kombi w arkuszu, kliknij je prawym przyciskiem myszy, a następnie wybierz Właściwości z menu po kliknięciu prawym przyciskiem myszy.
  4. W Właściwości w oknie dialogowym, musisz:
    1. Wybierz Fałszywy Autowybór słów pole;
    2. Określ komórkę w pliku Połączona komórka pole. W tym przypadku wpisujemy A12;
    3. Wybierz 2-fmMatchEntryBrak DopasujWpis pole;
    4. Rodzaj Nieruchomości Lista rozwijana do ListaWypełnij Zakres pole;
    5. Zamknij Właściwości Okno dialogowe. Zobacz zrzut ekranu:
  5. Teraz wyłącz tryb projektowania, klikając Deweloper > Tryb projektowania.
  6. Wybierz pustą komórkę, np. C2, wprowadź poniższą formułę i naciśnij Wchodzę. Przeciągają jego uchwyt autouzupełniania do komórki C9, aby automatycznie wypełnić komórki tą samą formułą. Zobacz zrzut ekranu:
    =--ISNUMBER(IFERROR(SEARCH($A$12,A2,1),""))
    Uwagi:
    1. 12 $ A $ XNUMX to komórka, którą określiłeś jako Połączona komórka w kroku 4;
    2. Po wykonaniu powyższych kroków możesz teraz przetestować: wpisz literę C w polu kombi, a zobaczysz, że komórki formuły odwołujące się do komórek zawierających znak C są wypełnione cyfrą 1.
  7. Wybierz komórkę D2, wprowadź poniższą formułę i naciśnij Wchodzę. Następnie przeciągnij jego uchwyt autouzupełniania w dół do komórki D9.
    =IF(C2=1,COUNTIF($C$2:C2,1),"")
  8. Wybierz komórkę E2, wprowadź poniższą formułę i naciśnij Wchodzę. Następnie przeciągnij jego uchwyt autouzupełniania w dół do E9, aby zastosować tę samą formułę.
    =IFERROR(INDEX($A$2:$A$9,MATCH(ROWS($D$2:D2),$D$2:$D$9,0)),"")
  9. Teraz musisz utworzyć zakres nazw. Proszę kliknąć Formuła > Zdefiniuj nazwę.
  10. W Nowe imie okno dialogowe, wpisz Lista rozwijana  Imię wpisz poniższą formułę w polu Odnosi się do a następnie kliknij OK przycisk.
    =$E$2:INDEX($E$2:$E$9,MAX($D$2:$D$9),1)
    
  11. Teraz włącz tryb projektowania, klikając Deweloper > Tryb projektowania. Następnie kliknij dwukrotnie pole Combo, aby otworzyć Microsoft Visual Basic for Applications okno.
  12. Skopiuj i wklej poniższy kod VBA do edytora kodu.
    Kod VBA: umożliwia przeszukiwanie listy rozwijanej
    Private Sub ComboBox1_GotFocus()
    	ComboBox1.ListFillRange = "DropDownList"
    	Me.ComboBox1.DropDown
    End Sub
  13. Naciśnij inny + Q klucze do zamknięcia Microsoft Visual Basic for Applications okno.

Od tej chwili, gdy znak zostanie wprowadzony w polu kombi, wykona wyszukiwanie rozmyte, a następnie wyświetli odpowiednie wartości na liście.

Note: Musisz zapisać ten skoroszyt jako plik skoroszytu programu Excel z obsługą makr, aby zachować kod VBA do wykorzystania w przyszłości.

Najlepsze narzędzia biurowe

Kutools dla programu Excel - pomaga wyróżnić się z tłumu

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty  |  Usuń puste wiersze  |  Łącz kolumny lub komórki bez utraty danych  |  Okrągły bez wzoru ...
Super VLookup: Wiele kryteriów  |  Wiele wartości  |  W wielu arkuszach  |  Wyszukiwanie rozmyte...
Adw. Lista rozwijana: Łatwa lista rozwijana  |  Zależna lista rozwijana  |  Lista rozwijana wielokrotnego wyboru...
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  Porównaj kolumny z Wybierz Te same i różne komórki ...
Polecane funkcje: Fokus siatki  |  Widok projektu  |  Duży pasek formuły  |  Menedżer skoroszytów i arkuszy | Biblioteka zasobów (Automatyczny tekst)  |  Selektor dat  |  Połącz arkusze  |  Szyfruj/odszyfruj komórki  |  Wysyłaj e-maile według listy  |  Super filtr  |  Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki ...)  |  50 + Wykres rodzaje (Wykres Gantta ...)  |  40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin ...)  |  19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki ...)  |  12 Konwersja Tools (Liczby na słowa, Przeliczanie walut ...)  |  7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podziel komórki Excela ...)  |  ... i więcej

Kutools dla programu Excel oferuje ponad 300 funkcji, Pewność, że to, czego potrzebujesz, jest w zasięgu jednego kliknięcia...

Opis


Karta Office - Włącz czytanie i edycję na kartach w Microsoft Office (w tym Excel)

  • Jedna sekunda, aby przełączać się między dziesiątkami otwartych dokumentów!
  • Zmniejsz liczbę kliknięć myszą każdego dnia, pożegnaj się z dłonią myszy.
  • Zwiększa produktywność o 50% podczas przeglądania i edytowania wielu dokumentów.
  • Wprowadza wydajne karty do pakietu Office (w tym programu Excel), podobnie jak przeglądarki Chrome, Edge i 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