Come nascondere gli elementi precedentemente utilizzati in un elenco a discesa?
In Excel, creare un elenco a discesa standard è una tecnica comune per l'inserimento dei dati, ma cosa fare se si vuole che l'elenco a discesa diventi più corto ogni volta che si effettua una selezione—rimuovendo gli elementi precedentemente scelti in modo che ogni opzione possa essere selezionata solo una volta? Ad esempio, immagina di avere un elenco a discesa con 100 nomi univoci: dopo aver selezionato un nome, questo viene rimosso dalle scelte dell'elenco a discesa, lasciando 99 opzioni. Man mano che continui a fare selezioni, l'elenco si riduce automaticamente fino a quando non rimangono più opzioni. Questo livello di interattività può essere piuttosto pratico in scenari come l'assegnazione di compiti senza duplicazioni, la disposizione dei posti o le estrazioni a sorte dove ogni scelta deve essere unica. Tuttavia, Excel non offre questa funzionalità direttamente, quindi è necessario utilizzare specifiche soluzioni alternative. Nelle sezioni seguenti, troverai istruzioni dettagliate su come ottenere ciò.
Nascondere gli elementi precedentemente utilizzati in un elenco a discesa con colonne di supporto
Nascondere gli elementi precedentemente utilizzati in un elenco a discesa con colonne di supporto
Supponiamo di avere un elenco di nomi nella Colonna A, come mostrato nello screenshot qui sotto. Per configurare un elenco a discesa che nasconde gli elementi precedentemente utilizzati, procedi passo dopo passo come descritto. Questo approccio utilizza colonne di supporto aggiuntive per tenere traccia degli elementi già selezionati e per costruire l'elenco dinamico della fonte dell'elenco a discesa. Sebbene questo metodo possa sembrare elaborato, è semplice e non richiede competenze di programmazione.
Gli scenari applicabili includono la pianificazione, l'assegnazione delle risorse o qualsiasi caso in cui un elemento debba essere scelto solo una volta fino all'esaurimento dell'elenco. Il vantaggio è la chiarezza attraverso formule visibili e logica tracciabile; tuttavia, richiede il mantenimento di colonne aggiuntive sul tuo foglio di lavoro.
1. Accanto al tuo elenco di nomi, nella cella B1, inserisci la seguente formula per verificare se un nome è già stato selezionato nell'intervallo dell'elenco a discesa di destinazione:
=IF(COUNTIF($F$1:$F$11,A1)>=1,"",ROW())
Questa formula confronta ogni nome con le selezioni effettuate nell'elenco a discesa (intervallo F1:F11). Se il nome è già stato scelto, restituisce una cella vuota; altrimenti, restituisce il numero di riga come valore di supporto. Assicurati di regolare l'intervallo F1:F11 per corrispondere alla posizione in cui intendi inserire i tuoi elenchi a discesa e il riferimento A1 alla posizione del tuo elenco di nomi.
Nota: Verifica attentamente che l'intervallo 'F1:F11' comprenda tutte le celle dell'elenco a discesa. 'A1' dovrebbe puntare alla riga corrente nel tuo elenco di nomi.
2. Trascina la maniglia di riempimento verso il basso per applicare questa formula a tutte le righe del tuo elenco di nomi. Questo creerà una serie di risultati di supporto che identificano i nomi non utilizzati.
3. Nella Colonna C, imposta un'altra formula di supporto nella cella C1 per creare dinamicamente un elenco pulito solo dei nomi non utilizzati:
=IF(ROW(A1)-ROW(A$1)+1>COUNT(B$1:B$11),"",INDEX(A:A,SMALL(B$1:B$11,1+ROW(A1)-ROW(A$1))))
Questa formula raccoglie tutti i nomi non utilizzati estraendo gli elementi appropriati dalla Colonna A in base ai valori di supporto nella Colonna B. Man mano che i nomi vengono scelti e rimossi da B, questo elenco nella Colonna C si aggiorna automaticamente. Se il tuo elenco è più lungo di 11 nomi, assicurati di regolare tutti gli intervalli di conseguenza.
4. Copia questa formula verso il basso per abbinare la lunghezza del tuo elenco originale di nomi. L'intervallo che riempi dovrebbe essere lungo quanto il tuo elenco nella Colonna A.
5. Per rendere utilizzabile per il tuo elenco a discesa questo elenco aggiornato dinamicamente, definisci un intervallo denominato. Seleziona l'elenco appena creato nella Colonna C (ad esempio, C1:C11), quindi fai clic su Formule > Definisci Nome.
6. Nella finestra di dialogo Nuovo Nome, inserisci un nome (ad esempio, namecheck) e utilizza questa formula di riferimento dinamico per mantenere l'intervallo denominato correttamente dimensionato man mano che i nomi vengono selezionati:
=OFFSET(Sheet2!$C$1,0,0,COUNTA(Sheet2!$C$1:$C$11)-COUNTBLANK(Sheet2!$C$1:$C$11),1)
Questo garantisce che solo i valori non vuoti nella Colonna C vengano utilizzati per le opzioni dell'elenco a discesa. Controlla attentamente il nome del foglio e i riferimenti delle celle—utilizzando formati di indirizzo esatti—per abbinarli al tuo foglio di lavoro.
Nota: Se modifichi l'elenco dei nomi, aggiungi o rimuovi righe, o utilizzi un foglio di lavoro diverso, assicurati di aggiornare la formula di conseguenza per prevenire errori.
7. Ora, per creare l'elenco a discesa effettivo, seleziona le celle in cui desideri che gli utenti facciano le loro selezioni (ad esempio, F1:F11). Vai su Dati > Convalida Dati > Convalida Dati.
8. Nella finestra di dialogo Convalida Dati, sotto la scheda Impostazioni, scegli Elenco e digita =namecheck nel campo Fonte, facendo riferimento all'intervallo denominato dinamico che hai definito.
Fai clic su OK per terminare. Ogni volta che un nome viene selezionato nell'elenco a discesa, viene omesso dall'elenco per gli altri menu a discesa, garantendo che tutte le scelte siano uniche. Se tenti di selezionare lo stesso nome in un'altra cella, scoprirai che non è più disponibile come opzione.
Suggerimento: Non eliminare o sovrascrivere nessuna delle colonne di supporto (Colonne B e C), poiché sono essenziali affinché l'elenco a discesa si aggiorni correttamente. Considera di nascondere queste colonne se desideri mantenere il tuo foglio di lavoro ordinato senza comprometterne la funzionalità. Se incontri problemi con gli aggiornamenti dell'elenco, controlla le formule per eventuali discrepanze negli intervalli, o assicurati che tutti i collegamenti di convalida dei dati siano corretti e facciano riferimento all'intervallo denominato previsto.
Una limitazione di questo approccio è che se molti utenti faranno selezioni contemporaneamente (ad esempio, su un foglio di lavoro condiviso), possono comunque sorgere conflitti. Per soluzioni più avanzate, scalabili o per automatizzare questo compito con meno disordine visibile sul foglio di lavoro, considera l'uso di VBA—la sezione successiva dimostra questa alternativa.
Articoli correlati:
Come inserire un elenco a discesa in Excel?
Come creare un elenco a discesa con immagini in Excel?
I migliori strumenti per la produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e farti risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta le schede su Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra invece che in nuove finestre.
- Aumenta la produttività del50% e riduce centinaia di clic del mouse ogni giorno!
Tutti gli add-in Kutools. Un solo programma di installazione
La suite Kutools for Office include add-in per Excel, Word, Outlook & PowerPoint più Office Tab Pro, ideale per i team che lavorano su più app di Office.





- Suite tutto-in-uno — Add-in per Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Un solo programma di installazione, una sola licenza — configurazione in pochi minuti (pronto per MSI)
- Funzionano meglio insieme — produttività ottimizzata su tutte le app Office
- Prova completa30 giorni — nessuna registrazione, nessuna carta di credito
- Massimo risparmio — costa meno rispetto all’acquisto singolo degli add-in