Vai al contenuto principale

La guida definitiva all'elenco a discesa ricercabile in Excel

La creazione di elenchi a discesa in Excel semplifica l'immissione dei dati e riduce al minimo gli errori. Ma con set di dati più grandi, scorrere elenchi lunghi diventa complicato. Non sarebbe più semplice digitare e individuare rapidamente il tuo articolo? UN "elenco a discesa ricercabile" offre questa comodità. Questa guida ti guiderà attraverso quattro metodi per impostare un elenco di questo tipo in Excel.


Video


Elenco a discesa ricercabile in Excel 365

Excel 365 ha introdotto una funzionalità molto attesa nei suoi elenchi a discesa di convalida dei dati: la possibilità di effettuare ricerche all'interno dell'elenco. Grazie alla funzionalità di ricerca, gli utenti possono individuare e selezionare rapidamente gli elementi in modo più efficiente. Dopo aver inserito l'elenco a discesa come al solito, basta fare clic su una cella con un elenco a discesa e iniziare a digitare. L'elenco verrà immediatamente filtrato per corrispondere al testo digitato.

In questo caso scrivo San nella cella e l'elenco a discesa filtra le città che iniziano con il termine di ricerca San, come San Francisco ed San Diego. Quindi puoi selezionare un risultato con il mouse o utilizzare i tasti freccia e premere Invio.

Note:
  • I la ricerca viene avviata dalla prima lettera di ogni parola nell'elenco a discesa. Se inserisci un carattere che non corrisponde al carattere iniziale di alcuna parola, l'elenco non mostrerà gli elementi corrispondenti.
  • Questa funzionalità è disponibile solo nell'ultima versione di Excel 365.
  • Se la tua versione di Excel non supporta questa funzionalità, qui ti consigliamo il Elenco a discesa ricercabile caratteristica di Kutools for Excel. Non ci sono limiti alla versione di Excel e, una volta abilitato, puoi facilmente cercare l'elemento desiderato nell'elenco a discesa semplicemente digitando il testo pertinente. Visualizza i passaggi dettagliati.

Crea un elenco a discesa ricercabile (per Excel 2019 e versioni successive)

Se si utilizza Excel 2019 o versioni successive, il metodo descritto in questa sezione può essere utilizzato anche per rendere ricercabile un elenco a discesa in Excel.

Supponendo di aver creato un elenco a discesa nella cella A2 del Foglio2 (immagine a destra) utilizzando i dati nell'intervallo A2:A8 del Foglio1 (immagine a sinistra), attenersi alla seguente procedura per rendere l'elenco ricercabile.

Passaggio 1. Crea una colonna helper che elenca gli elementi di ricerca

Qui abbiamo bisogno di una colonna di supporto per elencare gli elementi che corrispondono ai tuoi dati di origine. In questo caso, creerò la colonna helper in colonna D of Sheet1.

  1. Seleziona la prima cella D1 nella colonna D e inserisci l'intestazione della colonna, ad esempio "Risultati di ricerca" in questo caso.
  2. Inserisci la seguente formula nella cella D2 e ​​premi entrare.
    =FILTER(A2:A8,ISNUMBER(SEARCH(Sheet2!A2,A2:A8)),"Not Found")
Note:
  • In questa formula, A2: A8 è l'intervallo di dati di origine. Foglio2!A2 è la posizione dell'elenco a discesa, il che significa che l'elenco a discesa si trova in A2 del Foglio2. Si prega di modificarli in base ai propri dati.
  • Se non viene selezionato alcun elemento dall'elenco a discesa in A2 del Foglio2, la formula visualizzerà tutti gli elementi dei dati di origine, come illustrato nell'immagine sopra. Al contrario, se viene selezionato un elemento, D2 visualizzerà quell'elemento come risultato della formula.
Passaggio 2: riconfigurare l'elenco a discesa
  1. Seleziona la cella dell'elenco a discesa (in questo caso seleziono la cella A2 del Foglio2), quindi vai a seleziona Dati > Convalida dati > Convalida dati.
  2. Nel Convalida dati finestra di dialogo, è necessario configurare come segue.
    1. Sotto il Impostazioni profilo scheda, fare clic su nel pulsante Fonte scatola.
    2. I Convalida dati la finestra di dialogo reindirizzerà al Foglio1, seleziona la cella (ad esempio D2) con la formula del passaggio 1, aggiungi a # e fare clic sul simbolo Chiudi pulsante.
    3. Vai Avviso di errore scheda, deselezionare il Mostra avviso di errore dopo aver immesso dati non validi casella di controllo e infine fare clic su OK pulsante per salvare le modifiche.
Risultato

L'elenco a discesa nella cella A2 del Foglio2 è ora ricercabile. Digita il testo nella cella, fai clic sulla freccia a discesa per espandere l'elenco a discesa e vedrai l'elenco immediatamente filtrato per corrispondere al testo digitato.

Note:
  • Questo metodo è disponibile solo per Excel 2019 e versioni successive.
  • Questo metodo funziona solo su una cella dell'elenco a discesa alla volta. Per rendere ricercabili gli elenchi a discesa nelle celle da A3 a A8 nel Foglio2, è necessario ripetere i passaggi sopra indicati per ciascuna cella.
  • Quando si digita il testo nella cella dell'elenco a discesa, l'elenco a discesa non si espande automaticamente, è necessario fare clic sulla freccia dell'elenco a discesa per espanderlo manualmente.

Crea facilmente un elenco a discesa ricercabile (per tutte le versioni di Excel)

Date le varie limitazioni dei metodi di cui sopra, ecco uno strumento molto efficace per te: Kutools for Excel's Rendi ricercabile l'elenco a discesa, pop-up automaticocaratteristica. Questa funzionalità è disponibile in tutte le versioni di Excel e consente di cercare facilmente l'elemento desiderato nell'elenco a discesa con una semplice configurazione.

Dopo shavasana, sedersi in silenzio; saluti; download e installazione di Kutools per Excel, selezionare Kutools > Menu `A tendina > Rendi ricercabile l'elenco a discesa, pop-up automatico per abilitare questa funzione. Nel Rendi ricercabile l'elenco a discesa finestra di dialogo, è necessario:

  1. Selezionare l'intervallo contenente gli elenchi a discesa che devono essere impostati come elenchi a discesa ricercabili.
  2. Clicchi OK per completare le impostazioni.
Risultato

Quando si fa clic su una cella dell'elenco a discesa nell'intervallo specificato, viene visualizzata una casella di riepilogo sulla destra. Digita il testo per filtrare immediatamente l'elenco, quindi seleziona un elemento o utilizza i tasti freccia e premi entrare per aggiungerlo alla cella.

Note:
  • Questa funzionalità supporta cercando da qualsiasi posizione all'interno delle parole. Ciò significa che anche se inserisci un carattere che si trova al centro o alla fine di una parola, gli elementi corrispondenti verranno comunque trovati e visualizzati, offrendo un'esperienza di ricerca più completa e intuitiva.
  • Per saperne di più su questa funzione, per favore visitare questa pagina.
  • Per applicare questa funzione, per favore scarica e installa Kutools per Excel prima.

Crea un elenco a discesa ricercabile con casella combinata e VBA (più complesso)

Se desideri semplicemente creare un elenco a discesa ricercabile senza specificare un particolare tipo di elenco a discesa. Questa sezione fornisce un approccio alternativo: utilizzare una casella combinata con codice VBA per eseguire l'attività.

Supponiamo che tu abbia un elenco di nomi di paesi nella colonna A come mostrato nello screenshot qui sotto, e ora vuoi usarli come dati di origine degli elenchi a discesa di ricerca, puoi fare come segue per farlo.

È necessario inserire una casella combinata anziché un elenco a discesa di convalida dei dati nel foglio di lavoro.

  1. Se l' Costruttori la scheda non viene visualizzata sulla barra multifunzione, è possibile abilitare il Costruttori scheda come segue.
    1. In Excel 2010 o versioni successive, fare clic su Compila il > Opzioni. E nella Opzioni di Excel finestra di dialogo, fare clic Personalizzazione barra multifunzione nel riquadro di sinistra. Vai alla casella di riepilogo Personalizza la barra multifunzione, seleziona il Costruttori casella, quindi fare clic su OK pulsante. Vedi screenshot:
    2. In Excel 2007, fare clic su Office pulsante> Opzioni di Excel. Nel Opzioni di Excel finestra di dialogo, fare clic Popolare nel riquadro di sinistra, controlla il file Mostra la scheda Sviluppatore nella barra multifunzione casella e infine fare clic su OK pulsante.
  2. Dopo aver mostrato il Costruttori scheda, fare clic Costruttori > inserire > Casella combinata.
  3. Disegna una casella combinata nel foglio di lavoro, fai clic con il pulsante destro del mouse e quindi seleziona Properties dal menu di scelta rapida.
  4. Nel Properties finestra di dialogo, è necessario:
    1. Seleziona Falso nel Selezione automatica delle parole campo;
    2. Specificare una cella nel file Cella collegata campo. In questo caso, entriamo in A12;
    3. Seleziona 2-fmMatchEntryNessuno nel Corrispondenza campo;
    4. Tipologia Menu `A tendina nella ElencoRiempimentoIntervallo campo;
    5. Chiudi il Properties la finestra di dialogo. Vedi screenshot:
  5. Ora disattiva la modalità di progettazione facendo clic Costruttori > Modalità di progettazione.
  6. Seleziona una cella vuota come C2, inserisci la formula sottostante e premi entrare. Trascinano la maniglia di riempimento automatico fino alla cella C9 per riempire automaticamente le celle con la stessa formula. Vedi screenshot:
    =--ISNUMBER(IFERROR(SEARCH($A$12,A2,1),""))
    Note:
    1. $ A $ 12 è la cella che l'hai specificata come Cella collegata nel passaggio 4;
    2. Dopo aver completato i passaggi precedenti, ora puoi testare: inserisci una lettera C nella casella combinata, quindi puoi vedere che le celle della formula che fanno riferimento alle celle contenenti il ​​carattere C sono riempite con il numero 1.
  7. Seleziona la cella D2, inserisci la formula sottostante e premi entrare. Quindi trascina la maniglia di riempimento automatico fino alla cella D9.
    =IF(C2=1,COUNTIF($C$2:C2,1),"")
  8. Seleziona la cella E2, inserisci la formula sottostante e premi entrare. Quindi trascina la maniglia di riempimento automatico verso il basso su E9 per applicare la stessa formula.
    =IFERROR(INDEX($A$2:$A$9,MATCH(ROWS($D$2:D2),$D$2:$D$9,0)),"")
  9. Ora devi creare un intervallo di nomi. Fare clic Formula > Definisci nome.
  10. Nel Nuovo nome finestra di dialogo, digitare Menu `A tendina nel  Nome casella, inserire la formula sottostante nella Si riferisce a casella, quindi fare clic su OK pulsante.
    =$E$2:INDEX($E$2:$E$9,MAX($D$2:$D$9),1)
    
  11. Ora attiva la modalità di progettazione facendo clic Costruttori > Modalità di progettazione. Quindi fare doppio clic sulla casella Combo per aprire il file Microsoft Visual Basic, Applications Edition finestra.
  12. Copia e incolla il codice VBA sottostante nell'editor del codice.
    Codice VBA: rende ricercabile l'elenco a discesa
    Private Sub ComboBox1_GotFocus()
    	ComboBox1.ListFillRange = "DropDownList"
    	Me.ComboBox1.DropDown
    End Sub
  13. Premere il tasto altro + Q i tasti per chiudere il file Microsoft Visual Basic, Applications Edition finestra.

D'ora in poi, quando un carattere viene inserito nella casella combinata, eseguirà una ricerca sfocata e quindi elencherà i valori rilevanti nell'elenco.

Note:: è necessario salvare questa cartella di lavoro come file di cartella di lavoro con abilitazione macro di Excel per conservare il codice VBA per un uso futuro.

I migliori strumenti per la produttività in ufficio

Kutools per Excel: ti aiuta a distinguerti dalla folla

🤖 Assistente AI di Kutools: Rivoluziona l'analisi dei dati basandosi su: Esecuzione intelligente   |  Genera codice  |  Crea formule personalizzate  |  Analizzare i dati e generare grafici  |  Richiama le funzioni di Kutools...
Funzioni popolari: Trova, evidenzia o identifica i duplicati  |  Elimina righe vuote  |  Combina colonne o celle senza perdere dati  |  Round senza formula ...
Super VLookup: Criteri multipli  |  Valore multiplo  |  Su più fogli  |  Ricerca fuzzy...
Avv. Menu `A tendina: Elenco a discesa facile  |  Elenco a discesa dipendente  |  Elenco a discesa a selezione multipla...
Gestore di colonna: Aggiungi un numero specifico di colonne  |  Sposta colonne  |  Attiva/disattiva lo stato di visibilità delle colonne nascoste  Confronta colonne con Seleziona Stesse celle e diverse ...
Funzionalità in primo piano: Messa a fuoco della griglia  |  Vista di progettazione  |  Grande barra delle formule  |  Gestore di cartelle di lavoro e fogli | Resource Library (Testo automatico)  |  Date picker  |  Combina fogli di lavoro  |  Crittografa/decrittografa le celle  |  Invia e-mail per elenco  |  Super filtro  |  Filtro speciale (filtro grassetto/corsivo/barrato...) ...
I 15 migliori set di strumenti12 Testo Strumenti (aggiungi testo, Rimuovi personaggi ...)  |  50+ Grafico Tipi (Diagramma di Gantt ...)  |  40+ Pratico Formule (Calcola l'età in base al compleanno ...)  |  19 Inserimento Strumenti (Inserisci il codice QR, Inserisci immagine dal percorso ...)  |  12 Conversione Strumenti (Numeri in parole, Conversione di valuta ...)  |  7 Unisci e dividi Strumenti (Combina righe avanzate, Dividi celle di Excel ...)  |  ... e altro ancora

Kutools per Excel vanta oltre 300 funzionalità, Garantirti che ciò di cui hai bisogno sia a portata di clic...

Descrizione


Scheda Office: abilita la lettura e la modifica a schede in Microsoft Office (incluso Excel)

  • Un secondo per passare da una dozzina di documenti aperti all'altra!
  • Riduci ogni giorno centinaia di clic del mouse, dì addio alla mano del mouse.
  • Aumenta la produttività del 50% durante la visualizzazione e la modifica di più documenti.
  • Porta schede efficienti in Office (incluso Excel), proprio come Chrome, Edge e 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