Convalida in cascata
Info
Esempi
Linguaggio
Librerie
Formule
Ultimi Inseriti

 Login

 Password

Un esempio di come sia possibile rendere dinamiche alcune celle di convalida in base ad una tabella in cui sono evidenziate le voci che devono essere riportate nei singoli elenchi.
E' una caso molto simile all'altro che si può utilizzare, quello in cui le possibili scelte sono basate su una griglia

Nel nostro esempio vogliamo rendere "a cascata" la scelta di una provincia come nel'immagine a destra, scegliendo in sequenza:
  1. un'area
  2. una regione
  3. una provincia

Tabelle dati
Come dati di base useremo due tabelle:
  1. la prima con le regioni e la corrispondente area
  2. la seconda le provincie e la corripondente regione

Elenco voci selezionabili
La tabella a lato è un esempio delle celle selezionabili per ogni livello; nella prima colonna metteremo le scelte per la prima voce che vengono utilizzte nella convalida della cella C4.
Per far variare l'elenco delle possibili scelte della regione (una volta selezionata l'area) utilizzaeremo una formula come quella spiegata nell'esempio della selezione delle righe corrispondenti ad un criterio da un elenco, nel nostro esempio :
{=SE.ERRORE(SCARTO(J$1;AGGREGA(15;6;RIF.RIGA($J$3:$J$22)/($I$3:$I$22=$C$4)-1;RIF.RIGA(A1));0);"")}

In modo molto simile dobbiamo far variare l'elenco delle provincie una volta scelta la regione in C6, la formula sarà:
{=SE.ERRORE(SCARTO(M$1;AGGREGA(15;6;RIF.RIGA($M$3:$M$112)/($L$3:$L$112=$C$6)-1;RIF.RIGA(A1));0);"")}

Entrambe devono essere ricopiate in basso per tutte le possibili scelte.

Numero voci selezionabili
Per poter rendere dinamico l'elenco di convalida e visualizzare le sole vocie realmente presenti nell'elenco possiamo usare una riga che riporti questi valori. La funzione in questo caso, per la prina colonna sarà un semplice Conta.valori:
=CONTA.VALORI(E3:E14)
Per le altre due, per pter eslcudere le celle bianche, una semplice combinazione di funzioni conta:
=CONTA.VALORI(F3:F14)-CONTA.VUOTE(F3:F14)

Cella di convalida
Possiamo a questo punto impostare la cella di convalida, nel nostro esempio quella per il primo elenco delle aree ma sarà simile per le altre due.
Come origine imposteremo un elenco ma attraverso una funzione:
=SCARTO($E$3;0;0;$E$16)
La funzione scarto ci permette di definire l'intervallo in modo dinamico, partendo dalla prima riga e estendendolo solo fino al numero di righe necessario; in questo modo la cella di convalida conterrà solo i valori realmente selezionabili senza celle vuote a tutto vantaggio della leggibilità.


L'esempio completo é scaricabile da questo link: Es417.xlsx

Gli esempi contenuti nel sito sono per uso personale, non é consentito l'uso professionale, commerciale o la riproduzione senza autorizzazione.
Per dubbi o domande potete scriverci a domande@macrofacili.it, sulla nostra pagina FB MacroFacili.it o sul gruppo FB Excel, macro e formule.
 

data4idea srls - PIva 01881000937 - info@data4idea.it