Come filtrare i dati dalla selezione dell'elenco a discesa in Excel?
In Excel, molti di noi filtrano i dati utilizzando la funzione Filtro. Ma hai mai provato a filtrare i dati dalla selezione dell'elenco a discesa? Ad esempio, quando seleziono un elemento dall'elenco a discesa, voglio che le righe corrispondenti vengano filtrate come mostrato nello screenshot seguente. In questo articolo, parlerò di come filtrare i dati utilizzando un elenco a discesa in uno o due fogli di lavoro.
Filtra i dati dalla selezione dell'elenco a discesa in un foglio di lavoro con formule di supporto
Filtra i dati dalla selezione dell'elenco a discesa in due fogli di lavoro con il codice VBA
Filtra i dati dalla selezione dell'elenco a discesa in un foglio di lavoro con formule di supporto
Per filtrare i dati dall'elenco a discesa, puoi creare alcune colonne con formule di supporto; segui i seguenti passaggi uno per uno:
1. Innanzitutto, inserisci l'elenco a discesa. Clicca su una cella dove vuoi inserire l'elenco a discesa, poi clicca su Dati > Convalida dati > Convalida dati, vedi screenshot:
2. Nella finestra Convalida dati apparsa, sotto la scheda Opzioni seleziona Tabella Unidimensionale dal menu a tendina Consenti e poi clicca sul pulsante per scegliere l'elenco di dati su cui desideri creare l'elenco a discesa, vedi screenshot:
3. Poi clicca sul pulsante OK, l'elenco a discesa viene inserito immediatamente e scegli un elemento dall'elenco a discesa, quindi inserisci questa formula: =ROWS($A$2:A2) (A2 è la prima cella all'interno della colonna che contiene il valore dell'elenco a discesa) nella cella D2, e trascina la maniglia di riempimento verso il basso per applicare questa formula alle celle, vedi screenshot:
4. Continua inserendo questa formula: =IF(A2=$H$2,D2,"") nella cella E2, e poi trascina la maniglia di riempimento verso il basso per applicare questa formula, vedi screenshot:
Nota: Nella formula sopra: A2 è la prima cella all'interno della colonna che contiene il valore dell'elenco a discesa, H2 è la cella dove è posizionato l'elenco a discesa, D2 è la prima formula della colonna di supporto.
5. Poi inserisci questa formula: =IFERROR(SMALL($E$2:$E$17,D2),"") nella cella F2, quindi trascina la maniglia di riempimento verso il basso fino alle celle per applicare questa formula, vedi screenshot:
Nota: Nella formula sopra: E2:E17 sono le celle della seconda formula di supporto, D2 è la prima cella della prima colonna della formula di supporto.
6. Dopo aver inserito le colonne delle formule di supporto, dovresti esportare il risultato filtrato in un'altra posizione, applica questa formula: =IFERROR(INDEX($A$2:$C$17,$F2,COLUMNS($J$2:J2)),"") nella cella J2, e poi trascina la maniglia di riempimento da J2 a L2, e il primo record dei dati basato sull'elenco a discesa è stato estratto, vedi screenshot:
Nota: Nella formula sopra: A2:C17 sono i dati originali che vuoi filtrare, F2 è la terza colonna della formula di supporto, J2 è la cella dove vuoi esportare il risultato del filtro.
7. Poi continua a trascinare la maniglia di riempimento verso il basso fino alle celle per visualizzare tutti i record filtrati corrispondenti, vedi screenshot:
8. Da ora in poi, quando selezioni un elemento dall'elenco a discesa, tutte le righe basate su questa selezione verranno filtrate immediatamente, vedi screenshot:

Potenzia gli elenchi a discesa di Excel con le funzionalità avanzate di Kutools
Aumenta la tua produttività con le funzionalità avanzate degli elenchi a discesa di Kutools per Excel. Questo set di funzionalità va oltre le funzionalità di base di Excel per semplificare il tuo flusso di lavoro, tra cui:
- Elenco a discesa multiselezione: Seleziona più voci simultaneamente per una gestione efficiente dei dati.
- Elenco a discesa con caselle di controllo: Migliora l'interazione e la chiarezza all'interno dei tuoi fogli di calcolo.
- Elenco a discesa dinamico: Si aggiorna automaticamente in base alle modifiche dei dati, garantendo precisione.
- Elenco a discesa ricercabile: Trova rapidamente le voci necessarie, risparmiando tempo e riducendo lo stress.
Filtra i dati dalla selezione dell'elenco a discesa in due fogli di lavoro con il codice VBA
Se la cella dell'elenco a discesa si trova nel Foglio1 e i dati filtrati nel Foglio2, quando si sceglie un elemento dall'elenco a discesa, un altro foglio verrà filtrato. Come potresti completare questa operazione in Excel?
Il seguente codice VBA potrebbe esserti utile, procedi come segue:
1. Fai clic destro sulla scheda del foglio che contiene la cella dell'elenco a discesa e scegli Visualizza Codice dal menu contestuale, nella finestra aperta Microsoft Visual Basic for Applications, copia e incolla il seguente codice nel Modulo vuoto:
Codice VBA: Filtra i dati dalla selezione dell'elenco a discesa in due fogli:
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
Nota: Nel codice sopra: A2 è la cella che contiene l'elenco a discesa, e Foglio2 è il foglio di lavoro che contiene i dati che vuoi filtrare. Il numero 1 nello script: AutoFilter 1 è il numero della colonna su cui vuoi filtrare. Puoi modificarli secondo necessità.
2. Da ora in poi, quando selezioni un elemento dall'elenco a discesa nel Foglio1, i dati corrispondenti verranno filtrati nel Foglio2, vedi screenshot:
I migliori strumenti per la produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
- Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!