Oggi torniamo sugli elenchi a tendina in un foglio Excel: vogliamo fare in modo che siano dinamici, ossia che se si sceglie un valore dal primo elenco, dal secondo sia possibile scegliere solo i valori relativi al primo valore scelto.
Facciamo un esempio per chiarire meglio
Immaginiamo di voler scegliere da un elenco a discesa la città da visitare e da un altro una possibile attrazione turistica di quella città.
La prima cosa da fari è preparare un foglio di “appoggio” con i dati che si serviranno per comporre gli elenchi a tendina, qualcosa come quello che vedete nella figura sotto.

In pratica, i valori della Riga 1 andranno a costituire i valori mostrati dal primo elenco a tendina, mentre quelli delle tre colonne saranno mostrati dal secondo elenco a discesa, i valori mostrati dipendono da quanto scelto nella prima tendina. Se, ad esempio, dal primo elenco si sceglie Roma, nel secondo si potrà scegliere una delle voci Colosseo, San Pietro, Piazza Navona, Piazza di Spagna. Mentre, se dal primo elenco si sceglie Firenze, nel secondo si vedranno i valori Duomo, Battistero, Santa Maria Novella e così via.
La prima cosa da farsi è assegnare un nome alle celle della prima riga ossia quelle che forniscono i valori per la prima tendina. Nel nostro caso assegneremo il nome Città all’intervallo A1:C1.
Dobbiamo poi creare i tre intervalli che corrispondono ai monumenti delle tre città. Il nome di ciascun intervallo deve essere quello della relativa città, ossia uno dei possibili valori della prima tendina. Noi creeremo gli intervalli in modo statico, nulla vieta di farlo in modo dinamico come abbiamo spiegato in un post precedente, l’unico vincolo è che i nomi degli intervalli siano gli stessi valori mostrati nel primo elenco a discesa.
Noi avremo i seguenti intervalli:
Fatto questo siamo pronti per creare i nostri elenchi a tendina, nello stesso foglio o in un altro foglio.
Selezionate le celle in cui deve essere presente il primo elenco a discesa e, se usate Excel 2003, scegliete Dati > Convalida, mentre se usate Excel 2007 o 2010 portatevi alla scheda Dati e, nel gruppo, Strumenti dati, scegliete Convalida dati. In entrambi i casi, vedrete la finestra Convalida dati.

Dall’elenco Consenti, scegliete Elenco, quindi nella casella origine scrivete =Città che è il nome dell’intervallo che contiene i nomi delle città. Premete Ok per confermare.
A questo punto selezionate l’intervallo che deve contenere il secondo elenco a discesa e avviate la convalida dei dati. Questa volta l’origine dell’elenco sarà =Indiretto(A2) dove A2 è il nome della prima cella dell’intervallo in cui è presente il primo elenco a discesa.

La funzione INDIRETTO permette di trasformare il valore della cella mostrata come argomento in un riferimento di intervallo. In partica, se nella cella A2, ci sceglie Firenze, =Indiretto(A2) restituisce il riferimento all’intervallo Firenze che è quello che contiene i monumenti della città di Firenze. Quando si chiude la finestra Convalida dati con la funzione Indiretto, si ottiene un messaggio di errore. Non preoccupatevi. È dovuto al fatto che la cella A2 è vuota e quindi non è possibile creare un riferimento ad un intervallo dal contenuto della cella.
Si otterrà qualcosa di simile alla figura che segue.
