Creare un elenco a discesa dinamico dipendente in Excel in modo semplice

  • Condividi Questo
Michael Brown

L'esercitazione mostra come creare un elenco a discesa di Excel in funzione di un'altra cella utilizzando le nuove funzioni di array dinamico.

Creare un semplice elenco a discesa in Excel è facile. Creare un elenco a discesa a cascata a più livelli è sempre stata una sfida. Il tutorial collegato descrive quattro approcci diversi, ognuno dei quali include un numero assurdo di passaggi, un mucchio di formule diverse e una manciata di limitazioni relative a inserimenti di più parole, celle vuote, ecc.

La buona notizia è che questi metodi erano stati progettati per le versioni di Excel precedenti a quella dinamica. L'introduzione degli array dinamici in Excel 365 ha cambiato tutto! Con le nuove funzioni degli array dinamici, la creazione di un elenco a discesa a dipendenza multipla è una questione di minuti, se non di secondi. Nessun trucco, nessun avvertimento, nessuna assurdità. Solo soluzioni rapide, dirette e facili da seguire.

    Note:

    • Questo nuovo modo di creare elenchi a discesa dinamici funziona solo in Excel 365 e Excel 2021. In Excel pre-dinamico, dovrete farlo alla vecchia maniera, come descritto in Creare un elenco a discesa dipendente in Excel 2019 - 2007.
    • Questa soluzione è per una singola riga. Se si desidera copiare gli elenchi di selezione verso il basso righe multiple , quindi seguire le istruzioni dell'elenco a discesa Dipendente per più righe.
    • Come creare un elenco a discesa dinamico in Excel

      Questo esempio mostra l'approccio generale alla creazione di un elenco a discesa a cascata in Excel utilizzando le nuove funzioni di array dinamico.

      Supponiamo di avere un elenco di frutti nella colonna A e di esportatori nella colonna B. Un'ulteriore complicazione è che i nomi dei frutti non sono raggruppati ma sparsi nella colonna. L'obiettivo è mettere i nomi unici dei frutti nel primo menu a tendina e, in base alla selezione dell'utente, mostrare gli esportatori pertinenti nel secondo menu a tendina.

      Per creare un elenco a discesa dinamico dipendente in Excel, procedete come segue:

      1. Ottenere elementi per l'elenco a discesa principale

      Per cominciare, dobbiamo estrarre tutti i diversi nomi di frutta dalla colonna A. Questo può essere fatto utilizzando la funzione UNIQUE nella sua forma più semplice - fornendo l'elenco di frutta come primo argomento ( array ) e omettere i restanti argomenti opzionali, poiché i loro valori predefiniti funzionano bene per noi:

      =UNICO(A3:A15)

      La formula va in G3 e, dopo aver premuto il tasto Invio, i risultati si riversano automaticamente nelle celle successive.

      2. Creare la tendina principale

      Per creare l'elenco a discesa principale, configurare una regola di convalida dei dati di Excel in questo modo:

      • Selezionate la cella in cui volete che appaia il menu a tendina (D3 nel nostro caso).
      • Sul Dati nella scheda Strumenti per i dati gruppo, fare clic su Convalida dei dati .
      • Nel Convalida dei dati fare quanto segue:
        • Sotto Consentire , selezionare Elenco .
        • Nel Fonte inserire il riferimento all'intervallo di spillatura generato dalla formula UNICA, digitando l'hash tag subito dopo il riferimento alla cella, come in questo caso: =$G$3#.

          Si tratta di un riferimento all'intervallo di versamento e questa sintassi si riferisce all'intero intervallo, indipendentemente da quanto si espande o si contrae.

        • Cliccare OK per chiudere la finestra di dialogo.

      L'elenco a discesa principale è pronto!

      3. Ottenere elementi per l'elenco a discesa dipendente

      Per ottenere le voci del menu a tendina secondario, filtreremo i valori della colonna B in base al valore selezionato nel primo menu a tendina. Questo può essere fatto con l'aiuto di un'altra funzione di array dinamico chiamata FILTRO:

      =FILTRO(B3:B15, A3:A15=D3)

      Dove B3:B15 sono i dati di origine per il menu a tendina dipendente, A3:A15 sono i dati di origine per il menu a tendina principale e D3 è la cella del menu a tendina principale.

      Per assicurarsi che la formula funzioni correttamente, è possibile selezionare un valore nel primo elenco a discesa e osservare i risultati restituiti da FILTRO. Perfetto!)

      4. Creare il menu a tendina dipendente

      Per creare il secondo elenco a discesa, configurare i criteri di convalida dei dati esattamente come si è fatto per il primo elenco a discesa al passo 2. Questa volta, però, si fa riferimento all'intervallo di versamento restituito dalla funzione FILTER: =$H$3#

      Il vostro elenco a discesa dipendente da Excel è pronto per essere utilizzato.

      Suggerimenti e note:

      • Per avere il nuove voci incluse nell'elenco a discesa automaticamente In alternativa, è possibile includere alcune celle vuote nelle formule, come mostrato in questo esempio.
      • Se i dati originali contengono delle lacune, è possibile filtrare gli spazi vuoti utilizzando questa soluzione.
      • A ordinamento alfabetico di un menu a tendina, avvolgete le formule nella funzione SORT, come spiegato in questo esempio.

      Come creare un elenco a discesa a dipendenza multipla in Excel

      Nell'esempio precedente, abbiamo creato un elenco a discesa che dipende da un'altra cella. Ma se aveste bisogno di una gerarchia a più livelli, cioè di un terzo elenco a discesa che dipende dal secondo, o addirittura di un quarto elenco a discesa che dipende dal terzo. È possibile? Sì, è possibile impostare un numero qualsiasi di elenchi dipendenti (un numero ragionevole, ovviamente :).

      In questo esempio, abbiamo inserito gli stati/province nella colonna C e ora vogliamo aggiungere un menu a tendina corrispondente in G3:

      Per creare un elenco a discesa a dipendenza multipla in Excel, è necessario procedere in questo modo:

      1. Impostare il primo menu a tendina

      L'elenco a discesa principale viene creato esattamente con gli stessi passaggi dell'esempio precedente (si vedano i passaggi 1 e 2). L'unica differenza è il riferimento all'intervallo di versamento che si inserisce nell'opzione Fonte scatola.

      Questa volta, la formula UNIQUE è in E8 e l'elenco a discesa principale sarà in E3. Quindi, si seleziona E3, si fa clic su Convalida dei dati e fornire questo riferimento: =$E$8#

      2. Configurare il secondo menu a tendina

      Come avrete notato, ora la colonna B contiene più occorrenze degli stessi esportatori, ma volete che nell'elenco a discesa ci siano solo nomi unici, giusto? Per escludere tutti i doppioni, avvolgete la funzione UNIQUE intorno alla formula FILTRO e inserite questa formula aggiornata in F8:

      =UNIQUE(FILTRO(B3:B15, A3:A15=E3))

      Dove B3:B15 sono i dati di origine per il secondo menu a tendina, A3:A15 sono i dati di origine per il primo menu a tendina e E3 è la cella del primo menu a tendina.

      Quindi, per i criteri di convalida dei dati, utilizzare il seguente riferimento all'intervallo di spillatura: =$F$8#

      3. Impostare il terzo menu a tendina

      Per raccogliere gli elementi per il 3° elenco a discesa, utilizzare la formula FILTRO con criteri multipli. Il primo criterio verifica l'intero elenco di frutta rispetto al valore selezionato nel 1° elenco a discesa (A3:A15=E3), mentre il secondo criterio verifica l'elenco degli esportatori rispetto alla selezione nel 2° elenco a discesa (B3:B15=F3). La formula completa va a G8:

      =FILTRO(C3:C15, (A3:A15=E3) * (B3:B15=F3))

      Se si aggiungono altre caselle dipendenti (quarta, quinta, ecc.), molto probabilmente la colonna C conterrà più occorrenze dello stesso elemento. Per evitare che i duplicati finiscano nella tabella di preparazione e, di conseguenza, nella terza cascata, annidare la formula FILTRO nella funzione UNICO come abbiamo fatto nel passaggio precedente:

      =UNIQUE(FILTRO(C3:C15, (A3:A15=E3) * (B3:B15=F3)))

      L'ultima cosa da fare è creare un'altra regola di convalida dei dati con questa regola Fonte riferimento: =$G$8#

      L'elenco a discesa a dipendenza multipla è pronto per essere utilizzato!

      Suggerimento. In modo analogo, è possibile ottenere oggetti per successivi menu a tendina Supponendo che la colonna D contenga i dati di origine del quarto elenco a discesa, è possibile inserire la seguente formula in H8 per recuperare gli elementi corrispondenti:

      =UNIVOCO(FILTRO(D3:D15, (A3:A15=E3) * (B3:B15=F3) * (C3:C15=G3))

      Come creare un elenco a discesa espandibile in Excel

      Dopo aver creato un elenco a discesa, la prima preoccupazione potrebbe essere quella di sapere cosa succede quando si aggiungono nuovi elementi ai dati di origine. L'elenco a discesa si aggiornerà automaticamente? Se i dati originali sono formattati come tabella di Excel, allora sì, un elenco a discesa dinamico discusso negli esempi precedenti si espanderà automaticamente senza alcuno sforzo da parte dell'utente, perché le tabelle di Excel sono espandibili per loro natura.

      Se per qualche motivo l'utilizzo di una tabella Excel non è possibile, è possibile rendere espandibile l'elenco a discesa in questo modo:

      • A includere nuovi dati automaticamente quando viene aggiunto all'elenco di origine, aggiungere qualche cella in più agli array a cui si fa riferimento nelle formule.
      • A escludere le celle vuote , configurare le formule in modo che ignorino le celle vuote finché non vengono riempite.

      Tenendo a mente questi due punti, mettiamo a punto le formule nella nostra tabella di preparazione dei dati. Le regole di convalida dei dati non richiedono alcuna modifica.

      Formula per il menu a tendina principale

      Con i nomi dei frutti in A3:A15, aggiungiamo 5 celle in più all'array per tenere conto di eventuali nuovi inserimenti. Inoltre, incorporiamo la funzione FILTRO in UNIQUE per estrarre i valori unici senza spazi vuoti.

      Considerato quanto sopra, la formula in G3 assume questa forma:

      =UNIQUE(FILTRO(A3:A20, A3:A20""))

      Formula per il menu a tendina dipendente

      La formula in G3 non ha bisogno di molte modifiche: basta estendere gli array con qualche altra cella:

      =FILTRO(B3:B20, A3:A20=D3)

      Il risultato è un elenco a discesa dipendente completamente dinamico ed espandibile:

      Come ordinare l'elenco a discesa in ordine alfabetico

      Se desiderate ordinare il vostro elenco a discesa in ordine alfabetico senza ricorrere ai dati di origine, il nuovo Excel dinamico ha una funzione speciale anche per questo! Nella vostra tabella di preparazione dei dati, è sufficiente avvolgere la funzione SORT intorno alle formule esistenti.

      Le regole di convalida dei dati sono configurate esattamente come descritto negli esempi precedenti.

      Per ordinare dalla A alla Z

      Poiché l'ordinamento ascendente è l'opzione predefinita, è possibile annidare le formule esistenti nell'elemento array di SORT, omettendo tutti gli altri argomenti che sono facoltativi.

      Per il menu a tendina principale (la formula in G3):

      =SORT[UNIQUE(FILTRO(A3:A20, A3:A20"")])

      Per il discesa dipendente (la formula in H3):

      =SORT(FILTER(B3:B20, A3:A20=D3))

      Entrambi gli elenchi a discesa vengono ordinati alfabeticamente dalla A alla Z.

      Per ordinare da Z ad A

      Per ordinare in ordine decrescente, è necessario impostare il terzo parametro ( ordine_di_ordine ) della funzione SORT a -1.

      Per il menu a tendina principale (la formula in G3):

      =SORT(UNIQUE(FILTRO(A3:A20, A3:A20"")), 1, -1)

      Per il discesa dipendente (la formula in H3):

      =SORT(FILTRO(B3:B20, A3:A20=D3), 1, -1)

      In questo modo, i dati della tabella di preparazione e le voci degli elenchi a discesa verranno ordinati da Z ad A:

      Ecco come creare un elenco a discesa dinamico in Excel con l'aiuto delle nuove funzioni di array dinamico. A differenza dei metodi tradizionali, questo approccio funziona perfettamente per le voci a una o più parole e si prende cura di tutte le celle vuote. Grazie per aver letto e spero di vedervi sul nostro blog la prossima settimana!

      Eserciziario da scaricare

      Elenco a discesa dipendente da Excel (file .xlsx)

    Michael Brown è un appassionato di tecnologia dedicato con una passione per la semplificazione di processi complessi utilizzando strumenti software. Con oltre un decennio di esperienza nel settore tecnologico, ha affinato le sue competenze in Microsoft Excel e Outlook, nonché in Fogli Google e Documenti. Il blog di Michael è dedicato alla condivisione delle sue conoscenze e competenze con gli altri, fornendo suggerimenti e tutorial facili da seguire per migliorare la produttività e l'efficienza. Che tu sia un professionista esperto o un principiante, il blog di Michael offre spunti preziosi e consigli pratici per ottenere il massimo da questi strumenti software essenziali.