Vai al contenuto principale

Come filtrare i dati dalla selezione dell'elenco a discesa in Excel?

Autore: Xiaoyang Ultima modifica: 2024-08-22

In Excel, la maggior parte di noi può filtrare 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 sue righe corrispondenti vengano filtrate come mostrato nella seguente schermata. In questo articolo, parlerò di come filtrare i dati utilizzando l'elenco a discesa in uno o due fogli di lavoro.

uno screenshot dell'utilizzo dell'elenco a discesa per filtrare i dati

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 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, è possibile creare alcune colonne formula helper, eseguire i seguenti passaggi uno per uno:

1. Innanzitutto, inserisci l'elenco a discesa. Fare clic su una cella in cui si desidera inserire l'elenco a discesa, quindi fare clic su Dati > Convalida dati > Convalida dati, vedi screenshot:

uno screenshot dell'abilitazione della funzione di convalida dei dati

2. Nel saltò fuori Convalida dati finestra di dialogo, sotto il file Impostazioni profilo scheda, selezionare Lista dal Consentire menu a discesa, quindi fare clic su uno screenshot del pulsante di selezione pulsante per scegliere l'elenco di dati su cui si desidera creare l'elenco a discesa in base a, vedere screenshot:

uno screenshot della configurazione della finestra di dialogo Convalida dati

3. E poi clicca OK pulsante, l'elenco a discesa viene inserito contemporaneamente e scegli un elemento dall'elenco a discesa, quindi inserisci questa formula: = RIGHE ($ A $ 2: A2) (A2 è la prima cella all'interno della colonna che contiene il valore dell'elenco a discesa) nella cella D2, quindi trascina il quadratino di riempimento sulle celle per applicare questa formula, vedi screenshot:

uno screenshot dell'utilizzo della funzione ROWS per creare una colonna helper con numeri di sequenza

4. Continua ad inserire questa formula: = SE (A2 = $ H $ 2, D2, "") nella cella E2, quindi trascina il quadratino di riempimento verso il basso per riempire questa formula, vedi screenshot:

Note:: Nella formula sopra :A2 è la prima cella all'interno della colonna che contiene il valore dell'elenco a discesa ,H2 è la cella in cui si trova l'elenco a discesa, D2 è la prima formula della colonna helper.

uno screenshot dell'utilizzo della formula per creare la seconda colonna helper

5. E poi digita questa formula: = SE.ERRORE (PICCOLO ($ E $ 2: $ E $ 17, D2), "") nella cella F2, quindi trascina il quadratino di riempimento sulle celle per riempire questa formula, vedi screenshot:

Note:: Nella formula sopra: E2: E17 è la seconda cella della formula helper, D2 è la prima cella nella prima colonna della formula di supporto.

uno screenshot dell'utilizzo della formula per creare la terza colonna helper

6. Dopo aver inserito le colonne della formula helper, è necessario visualizzare il risultato filtrato in un'altra posizione, applicare questa formula: =IFERROR(INDEX($A$2:$C$17,$F2,COLUMNS($J$2:J2)),"") nella cella J2, quindi trascina il quadratino di riempimento da J2 a L2 e il primo record dei dati basato sull'elenco a discesa è stato estratto, vedi screenshot:

Note:: Nella formula sopra: A2: C17 sono i dati originali che desideri filtrare, F2 è la terza colonna formula helper, J2 è la cella in cui desideri visualizzare il risultato del filtro.

uno screenshot dell'utilizzo della formula per ottenere la prima riga filtrata in base alla selezione dell'elenco a discesa

7. E poi continua a trascinare il quadratino di riempimento verso il basso sulle celle per visualizzare tutti i record filtrati corrispondenti, vedi screenshot:

uno screenshot mostra tutti i risultati filtrati

8. D'ora in poi, quando selezioni un elemento dall'elenco a discesa, tutte le righe basate su questa selezione vengono filtrate contemporaneamente, vedi screenshot:

uno screenshot di diversi risultati filtrati in base alla selezione dell'elenco a discesa

uno screenshot della raccolta di elenchi a discesa di Kutools

Potenzia gli elenchi a discesa di Excel con le funzionalità avanzate di Kutools

Aumenta la tua produttività con Kutools per le funzionalità avanzate dell'elenco a discesa di Excel. Questo set di funzionalità va oltre le funzionalità di base di Excel per semplificare il flusso di lavoro, tra cui:

  • Elenco a discesa a selezione multipla: seleziona più voci contemporaneamente per una gestione efficiente dei dati.
  • Elenco a discesa con caselle di controllo: migliora l'interazione dell'utente e la chiarezza all'interno dei tuoi fogli di calcolo.
  • Elenco a discesa dinamico: Si aggiorna automaticamente in base alle modifiche dei dati, garantendo la precisione.
  • Elenco a discesa ricercabile: Individua rapidamente le voci necessarie, risparmiando tempo e riducendo i problemi.
Scaricalo ora per una prova gratuita di 30 giorni e trasforma la tua esperienza con Excel!

Filtra i dati dalla selezione dell'elenco a discesa in due fogli di lavoro con codice VBA

Se la cella dell'elenco a discesa in Foglio1 e i dati filtrati in Foglio2, quando si sceglie un elemento dall'elenco a discesa, un altro foglio verrà filtrato. Come hai potuto finire questo lavoro in Excel?

Il seguente codice VBA potrebbe farti un favore, per favore fai come segue:

1. Fare clic con il pulsante destro del mouse sulla scheda del foglio che contiene la cella dell'elenco a discesa, quindi scegliere Visualizza codice dal menu contestuale, nel file Microsoft Visual Basic per le applicazioni finestra, 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

Note:: Nel codice sopra: A2 è la cella che contiene l'elenco a discesa e Sheet2 è il foglio di lavoro che contiene i dati che si desidera filtrare. Il numero 1 nello script: Filtro automatico 1 è il numero di colonna su cui si desidera filtrare. Puoi cambiarli secondo le tue necessità.

uno screenshot che mostra come utilizzare il codice VBA

2. D'ora in poi, quando selezioni un elemento dall'elenco a discesa in Sheet1, ei dati corrispondenti verranno filtrati in Sheet2, vedi screenshot:

uno screenshot che mostra la selezione dell'elenco a discesa e i corrispondenti risultati filtrati


I migliori strumenti per la produttività in ufficio

🤖 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 ricerca: VLookup a criteri multipli    VLookup a valori multipli  |   VLookup su più fogli   |   Ricerca fuzzy ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa   |  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 intervalli e colonne ...
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 Tools (aggiungi testo, Rimuovi personaggi, ...)   |   50+ Grafico Tipi (Diagramma di Gantt, ...)   |   40+ Pratico Formule (Calcola l'età in base al compleanno, ...)   |   19 Inserimento Tools (Inserisci il codice QR, Inserisci immagine dal percorso, ...)   |   12 Conversione Tools (Numeri in parole, Conversione di valuta, ...)   |   7 Unisci e dividi Tools (Combina righe avanzate, Celle divise, ...)   |   ... e altro ancora

Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo.  Fai clic qui per ottenere la funzionalità di cui hai più bisogno...


Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro

  • 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, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!