Creazione di menu a discesa dinamici da tabelle
Scorri per mostrare il menu
Hai già imparato come collegare un menu a discesa a un intervallo fisso come la colonna Status. Questo metodo funziona, ma si interrompe non appena la tua lista cresce: la nuova voce si trova fuori dal riferimento e non appare mai nel menu a discesa.
Le Tabelle di Excel risolvono questo problema in modo efficace. Quando l'origine di un menu a discesa è una colonna di una Tabella di Excel, il riferimento si espande automaticamente man mano che aggiungi nuove righe.
Impostazione di un foglio di riferimento
Prima di creare qualsiasi tabella, è buona pratica mantenere i dati delle tue liste su un foglio dedicato — separato dall'area principale di inserimento dati. Questo mantiene il file ordinato e rende le liste facili da gestire.
Passaggio 1 — Creazione di un nuovo foglio:
- Fai semplicemente clic sull'icona
+accanto all'ultima scheda; - Fai doppio clic sulla nuova scheda e rinominala in
Lists.
Passaggio 2 — Aggiunta della tua prima lista:
- Fai clic sulla cella A1 e digita un'intestazione — ad esempio,
Status; - Inserisci ciascun valore nelle righe sottostanti, uno per cella:
- A2:
Open - A3:
Closed - A4:
Pending
- A2:
- Mantieni la colonna ordinata — nessuna riga vuota, nessuno spazio extra, nessuna cella unita.
Passaggio 3 — Conversione di un intervallo in una tabella Excel:
Prima di collegare un menu a discesa a una tabella, i dati dell'elenco devono essere formattati come tabella:
- Fare clic in un punto qualsiasi dell'intervallo dell'elenco;
- Premere
Ctrl + T(Win) ocmd + T(Mac); - Confermare l'intervallo e selezionare La tabella ha intestazioni;
- Fare clic su OK.
Excel assegna alla tabella un nome predefinito come Table1. Rinominare la tabella con un nome significativo — ad esempio, Statuses — tramite la scheda Progettazione tabella.
Riferimento a una colonna di tabella nella convalida
Non è possibile digitare un riferimento strutturato come =Statuses[Status] direttamente nel campo origine della Convalida dati — Excel non lo accetta in quel punto. Una soluzione efficace consiste nell'utilizzare la funzione INDIRECT, che converte una stringa di testo in un riferimento di intervallo valido.
Passaggi:
- Selezionare le celle della colonna
Statusnella tabella principale; - Aprire Convalida dati → Impostazioni → Elenco;
- In Origine, digitare:
=INDIRECT("Statuses"); - Fare clic su OK.
Ora, quando viene aggiunto un nuovo valore a Statuses, il menu a discesa lo riflette immediatamente — non è necessario utilizzare Gestione nomi.
INDIRECT è una funzione volatile, il che significa che Excel la ricalcola ogni volta che il file viene ricalcolato. Per un elenco di riferimento piccolo come questo, non è un problema. Tuttavia, in file molto grandi con molte celle convalidate, può rallentare le prestazioni — in tal caso, è preferibile l'approccio con Intervallo denominato. Approfondirai questo aspetto nel prossimo capitolo.
Attività
File: continua a lavorare con lo stesso file della sezione precedente.
- Vai al foglio Lists e aggiungi un nuovo valore sotto
Pendingnella tabella Statuses:- A5:
Cancelled
- A5:
- Torna al foglio principale e fai clic sul menu a discesa in una qualsiasi cella Status.
- Verifica che
Cancelledora compaia nell'elenco insieme aOpen,ClosedePending.
Questo conferma che il riferimento INDIRECT è attivo — il menu a discesa si aggiorna senza alcuna modifica alla regola di convalida stessa.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione