Come nascondere gli elementi già utilizzati nell’elenco a discesa?
In Excel, creare un elenco a discesa standard è una tecnica comune per l’inserimento dati, ma cosa succede se si desidera che l’elenco si riduca automaticamente ogni volta che si effettua una selezione, rimuovendo le opzioni già scelte in modo che ciascuna possa essere selezionata una sola volta? Immaginate, ad esempio, di partire con un elenco a discesa contenente 100 nomi univoci: dopo averne selezionato uno, questo scompare dalle opzioni disponibili, lasciandone 99. Con ogni nuova scelta, l’elenco continua a ridursi progressivamente fino a esaurirsi. Questo livello di interattività si rivela particolarmente utile in scenari come l’assegnazione di compiti senza duplicati, la disposizione dei posti a sedere o estrazioni a sorte in cui ogni scelta deve essere univoca. Tuttavia, Excel non supporta questa funzionalità in modo nativo, richiedendo quindi soluzioni alternative mirate. Nelle sezioni seguenti troverete istruzioni dettagliate, passo dopo passo, per ottenere questo risultato.
Nascondi gli elementi usati in precedenza in Elenco a discesa con colonne di supporto
Nascondi gli elementi usati in precedenza in Elenco a discesa con colonne di supporto
Supponiamo che abbiate un elenco di nomi nella colonna A, come mostrato nello screenshot seguente. Per configurare un elenco a discesa che nasconda automaticamente gli elementi già utilizzati, seguite passo passo le istruzioni descritte. Questo approccio sfrutta colonne aggiuntive di supporto per tenere traccia degli elementi già selezionati e per generare dinamicamente l’elenco sorgente dell’elenco a discesa. Sebbene possa sembrare elaborato a prima vista, il metodo è semplice da implementare e non richiede alcuna competenza di programmazione.
Gli scenari applicabili includono la pianificazione, l’assegnazione di risorse o qualsiasi caso in cui un elemento debba essere scelto una sola volta finché l’elenco non è esaurito. Il vantaggio è la chiarezza offerta da formule visibili e una logica tracciabile; tuttavia, richiede la gestione di colonne aggiuntive nel foglio di lavoro.

1. Nella cella B1, accanto al vostro elenco nomi, inserite la seguente formula per verificare se un nome è già stato selezionato nell’intervallo previsto per l’elenco a discesa:
=IF(COUNTIF($F$1:$F$11,A1)>=1,"",ROW()) Questa formula confronta ogni nome con le opzioni selezionate nell’elenco a discesa (intervallo F1:F11): se il nome è già stato scelto, restituisce una cella vuota; in caso contrario, restituisce il numero di riga come valore di supporto. Assicuratevi di adattare l’intervallo F1:F11 alla posizione in cui inserirete gli elenchi a discesa e il riferimento A1 alla posizione del vostro elenco dei nomi.

Nota: Assicuratevi che l’intervallo «F1:F11» includa tutte le celle dell’elenco a discesa. Il riferimento «A1» deve puntare alla riga corrente del vostro elenco nomi.
2. Trascinate il quadratino di riempimento verso il basso per applicare questa formula a tutte le righe del vostro elenco nomi. Così facendo, creerete una serie di risultati di supporto che identificano i nomi non ancora utilizzati.

3. Nella colonna C, inserite un’altra formula di supporto nella cella C1 per creare dinamicamente un elenco pulito contenente solo i nomi non ancora 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 automaticamente tutti i nomi non ancora utilizzati, estraendo dalla colonna A solo gli elementi corrispondenti ai valori di supporto presenti nella colonna B. Man mano che i nomi vengono selezionati e rimossi dalla colonna B, l’elenco nella colonna C si aggiorna in tempo reale. Se il vostro elenco include più di 11 nomi, ricordatevi di adeguare di conseguenza tutti gli intervalli.

4. Trascinate questa formula in basso per copiarla sull’intera lunghezza del vostro elenco nomi originale. L’intervallo da riempire deve essere esteso quanto l’elenco nella colonna A.

5. Per rendere questo elenco dinamicamente aggiornabile nel vostro menu a discesa, definite un intervallo con nome. Selezionate l’elenco appena creato nella colonna C (ad esempio, C1:C11), quindi fate clic su Formule > Definisci nome.

6. Nella finestra di dialogo Nuovo nome, inserite un nome (ad esempio,)namecheck) e utilizzate questa formula di riferimento dinamico per mantenere l’intervallo denominato sempre correttamente dimensionato man mano che vengono aggiunti nuovi nomi:
=OFFSET(Sheet2!$C$1,0,0,COUNTA(Sheet2!$C$1:$C$11)-COUNTBLANK(Sheet2!$C$1:$C$11),1) In questo modo si garantisce che l’elenco a discesa utilizzi esclusivamente i valori non vuoti presenti nella colonna C. Verificate attentamente il nome del foglio e i riferimenti di cella, assicurandovi di utilizzare formati di indirizzo esatti che corrispondano al vostro foglio di lavoro.

Nota: Se modificate l’elenco dei nomi, aggiungete o rimuovete righe oppure utilizzate un foglio di lavoro diverso, assicuratevi di aggiornare di conseguenza la formula per evitare errori.
7. Ora, per creare l’elenco a discesa effettivo, selezionate le celle in cui desiderate che gli utenti facciano le proprie scelte (ad esempio, F1:F11). Andate su Dati > Convalida dati > Convalida dati.

8. Nella finestra di dialogo Convalida dati, nella scheda Impostazioni, scegliete Elenco e digitate =namecheck nel campo Origine, facendo riferimento all’intervallo denominato dinamico precedentemente definito.

Fate clic su OK per completare. Ogni volta che un nome viene selezionato dall’elenco a discesa, viene automaticamente rimosso dalle altre celle a discesa, garantendo scelte sempre uniche. Se provate a selezionare lo stesso nome in un’altra cella, noterete che non è più disponibile tra le opzioni.

Suggerimento: Non eliminate né sovrascrivete le colonne di supporto (colonne B e C), poiché sono essenziali per garantire che l’elenco a discesa si aggiorni correttamente. Se desiderate mantenere il foglio di lavoro ordinato senza comprometterne la funzionalità, valutate la possibilità di nascondere queste colonne. In caso di problemi con gli aggiornamenti dell’elenco, verificate le formule per eventuali discrepanze negli intervalli oppure assicuratevi che tutti i collegamenti della convalida dati siano corretti e facciano riferimento all’intervallo denominato previsto.
Un limite di questo approccio è che, se numerosi utenti effettuano selezioni contemporaneamente (ad esempio, su un foglio condiviso), possono comunque verificarsi conflitti. Per soluzioni più avanzate, scalabili o per automatizzare l’operazione riducendo il disordine visivo nel foglio, prendete in considerazione l’utilizzo di VBA: la sezione seguente illustra questa alternativa.
Articoli correlati:
Come si inserisce un elenco a discesa in Excel?
Come creare un elenco a discesa con immagini in Excel?
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 oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
- Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
- Funziona meglio insieme— produttività ottimizzata tra le app di Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi