
Formula generica
=COUNTA(UNIQUE(data))
Sommario
Per contare valori univoci in un set di dati, è possibile utilizzare la funzione UNIQUE insieme alla funzione COUNTA. Nell'esempio mostrato, la formula in F5 è:
=COUNTA(UNIQUE(B5:B16))
che restituisce 7, poiché ci sono sette colori unici in B5: B16.
Spiegazione
In questo esempio viene utilizzata la funzione UNIQUE per estrarre valori univoci. Quando UNIQUE viene fornito con l'intervallo B5: B16, che contiene 12 valori, restituisce i 7 valori univoci visti in D5: D11. Questi vengono restituiti direttamente alla funzione COUNTA come un array come questo:
=COUNTA(("red";"amber";"green";"blue";"purple";"pink";"gray"))
A differenza della funzione COUNT, che conta solo numeri, COUNTA conta sia il testo che i numeri. Poiché nella matrice sono presenti sette elementi, CONTA.VALORI restituisce 7. Questa formula è dinamica e verrà ricalcolata immediatamente quando i dati di origine vengono modificati.
Con un riferimento di cella
È inoltre possibile fare riferimento a un elenco di valori univoci già estratti nel foglio di lavoro con la funzione UNIQUE utilizzando un tipo speciale di riferimento di cella. La formula in D5 è:
=UNIQUE(B5:B16)
che restituisce i sette valori visti in D5: D11. Per contare questi valori con un riferimento dinamico, puoi utilizzare una formula come questa:
=COUNTA(D5#)
Il carattere cancelletto (#) indica a Excel di fare riferimento all'intervallo di fuoriuscita creato da UNIQUE. Come la formula all-in-one sopra, questa formula è dinamica e si adatterà quando i dati vengono aggiunti o rimossi dall'intervallo originale.
Conta univoco ignora gli spazi vuoti
Per contare valori univoci ignorando le celle vuote, puoi aggiungere la funzione FILTRO in questo modo:
=COUNTA(UNIQUE(FILTER(data,data"")))
Questo approccio è spiegato più dettagliatamente qui. Puoi anche filtrare valori univoci con criteri.
Nessun dato
Una limitazione di questa formula è che restituirà erroneamente 1 se non sono presenti valori nell'intervallo di dati. Questa alternativa conterà tutti i valori restituiti da UNIQUE che hanno una lunghezza maggiore di zero. In altre parole, conterà tutti i valori con almeno un carattere:
=SUM(--(LEN(UNIQUE(B5:B16))>0))
Qui, la funzione LEN viene utilizzata per controllare la lunghezza dei risultati da UNIQUE. Le lunghezze vengono quindi controllate per vedere se sono maggiori di zero e i risultati vengono contati con la funzione SUM. Questo è un esempio di logica booleana. Questa formula escluderà anche le celle vuote dai risultati.
Gamma dinamica della sorgente
UNIQUE non cambierà automaticamente l'intervallo di origine se i dati vengono aggiunti o eliminati. Per fornire UNIQUE un intervallo dinamico che verrà ridimensionato automaticamente in base alle esigenze, puoi utilizzare una tabella Excel o creare un intervallo denominato dinamico con una formula.
Nessun array dinamico
Se stai utilizzando una versione precedente di Excel senza supporto per array dinamici, ecco alcune alternative.