Convalida dati: liste precompilate di opzioni

Nel caso in cui si debba inserire un valore in una cella, può risultare comodo fare in modo che le opzioni visualizzate siano già impostate. Ancora più comodo potrebbe essere il fatto di avere la lista delle opzioni che dipende da valori inseriti in altre parti del foglio, per comodità di manutenzione.

Vediamo come si può procedere per ottenere tale risultato.

Lo strumento che utilizzeremo è la “convalida dati”, presente nel tab “dati” di Excel:

Per semplicità, restiamo sullo stesso foglio. Ipotizziamo di voler inserire nella colonna “A” i valori che devono apparire nella lista delle opzioni. La prima cella (quindi la cella A1) sarà una intestazione.

Ipotizziamo inoltre che la lista delle opzioni debba essere visualizzata nella cella “C1”.

Il metodo qui illustrato fa uso della funzione “Tabella”, che migliora la gestione dei dati, ma non è necessaria. Al posto della tabella, si potrebbe banalmente indicare il range di dati da dove i valori vanno ripresi, con un semplice riferimento (assoluto o relativo, a seconda delle necessità).

Procediamo con la definizione della tabella dati. Inseriamo in A1 l’intestazione, e nelle celle sottostanti (da A2 in poi) i valori che desideriamo visualizzare come opzioni:

Ora trasformiamo la lista in una tabella (in altro articolo spiegheremo il motivo per cui una tabella è più efficiente da gestire e mantenere, e quindi altamente consigliata. Sostanzialmente la tabella si estende automaticamente ed è gestibile tramite un nome invece che tramite un riferimento a celle):

Come si vede, Excel interpreta i dati contigui come tabella e li propone in selezione. Se la tabella dati è strutturata correttamente (senza interruzioni), come nell’esempio, è sufficiente quindi che la cella attiva sia all’interno della tabella che si vuole creare:

Nel nostro caso, viene spuntata l’opzione “Tabella con intestazioni” perché la prima cella è una descrizione e non un valore da inserire.

Fatto questo, alla tabella viene dato anche un’aspetto grafico di default (si può ovviamente modificare). Il vantaggio di usare una tabella è che, qualora vengano accodati dei dati aggiuntivi, la tabella viene automaticamente “estesa”, ed i riferimenti ad essa comprenderanno i nuovi valori.

Per facilitare la manutenzione del foglio, è opportuno dare un nome specifico e rappresentativo alla tabella creata. Nell’esempio, la chiameremo “lista_colori”. Con la tabella (o parte di essa, anche una singola cella) selezionata, andare nel tab “Progettazione” degli “strumenti tabella” (a destra nell’immagine) e nel campo “Nome tabella:” inserire il nome scelto. (per noi “lista_colori”):

Il grosso del lavoro è fatto. Ora basta posizionarsi nella cella in cui si desidera visualizzare la lista (nell’esempio C1), e nel tab “dati” selezionare l’opzione “convalida dati” (la schermata iniziale di questo articolo). Nella finestra visualizzata, si deve impostare il valore “Elenco” nei criteri di convalida, alla voce “Consenti:”. Successivamente, nel box “origine”, inserire la formula indicata, che ora spieghiamo:

(In alternativa alla formula indicata si potrebbe, come già sopra detto, inserire direttamente il range di riferimento (A2:A7), ma in questo modo la lista non sarà dinamica)

La “magia” sta nella formula utilizzata per l’origine dati. La funzione =INDIRETTO() restituisce il contenuto del riferimento specificato. Indichiamo quindi (tra virgolette) il nome della tabella appena definito. Questo non è però sufficiente, va indicato anche il nome della colonna che si intende usare. Questo va indicato, dopo il nome della tabella, tra parentesi quadre. In definitiva, la formula è: =INDIRETTO(“lista_colori[Colore]”)

Ecco il risultato: