Menu

Contare i valori univoci in Excel: UNICI e CONTA.SE

=CONTA.VALORI(UNICI(A2:A9)) conta quanti valori diversi ci sono in A2:A9. Per le versioni meno recenti di Excel usa =MATR.SOMMA.PRODOTTO(1/CONTA.SE(A2:A9;A2:A9)). Conta i valori che compaiono una volta, con una condizione e saltando le celle vuote.

Ogni foglio di questa pagina è interattivo: cambia un numero o una formula e si ricalcola.

=CONTA.VALORI(UNICI(A2:A9)) conta quanti valori diversi ci sono in A2:A9. UNICI (in inglese UNIQUE) restituisce ogni valore una volta, e CONTA.VALORI (in inglese COUNTA) conta quell'elenco. Richiede Excel 2021 o Microsoft 365; le versioni meno recenti sono trattate più avanti. La tabella mostra le formule in inglese, ma puoi scriverle anche in italiano, con il punto e virgola: =CONTA.VALORI(UNICI(A2:A9)).

Clienti diversi
D2
ABCD
1CustomerUnique listCount
2AnaAna5
3BenBen
4AnaCara
5CaraDan
6BenEva
7Dan
8Ana
9Eva
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =CONTA.VALORI(UNICI(A2:A9))

Otto ordini sono arrivati da cinque clienti. C2 espande l'elenco dei nomi di UNICI così vedi cosa viene contato, e D2 lo conta senza bisogno dell'elenco nel foglio. Cambia A9 in Ana e il conteggio scende a 4; scrivi un nome nuovo e sale.

UNICI ignora le maiuscole, quindi Ana e ana contano come un solo cliente.

Contare i valori univoci nelle versioni meno recenti di Excel

Excel 2019 e precedenti non hanno UNICI. La formula classica è:

=SUMPRODUCT(1/COUNTIF(A2:A9,A2:A9))

In Excel italiano: =MATR.SOMMA.PRODOTTO(1/CONTA.SE(A2:A9;A2:A9)).

CONTA.SE (in inglese COUNTIF) con l'intero intervallo come criterio restituisce, per ogni riga, quante volte compare il valore di quella riga. Un nome che compare 3 volte ottiene 3 su ciascuna delle sue righe, quindi 1/3 viene sommato tre volte e il nome vale esattamente 1. La colonna B mostra il conteggio di ogni riga e la colonna C la frazione.

Come funziona 1/CONTA.SE
E2
ABCDE
1CustomerTimes1/TimesCount
2Ana30.335
3Ben20.505.00
4Ana30.33
5Cara11.00
6Ben20.50
7Dan11.00
8Ana30.33
9Eva11.00
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =MATR.SOMMA.PRODOTTO(1/CONTA.SE(A2:A9;A2:A9))

Le tre righe di Ana aggiungono 0,33 ciascuna, le due di Ben 0,50 ciascuna, e i tre nomi singoli 1 ciascuno: 5 in totale, come la SOMMA della colonna di appoggio. Su decine di migliaia di righe questa formula è lenta, perché CONTA.SE scorre l'intero intervallo una volta per riga; UNICI non ha questo costo.

Distinti o univoci: i valori che compaiono una sola volta

"Univoci" si usa per due conteggi diversi. Quello sopra conta i valori distinti: ogni nome una volta. L'altro conta i valori che compaiono esattamente una volta, come i clienti che hanno ordinato una volta sola. UNICI lo fa con il terzo argomento, exactly_once, impostato su VERO.

Distinti ed esattamente una volta
D3
ABCD
1CustomerCountResult
2AnaDistinct5
3BenExactly once3
4AnaExactly once, older Excel3
5Cara
6Ben
7Dan
8Ana
9Eva
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =CONTA.VALORI(UNICI(A2:A9;;VERO))

Cinque clienti distinti, ma solo tre, Cara, Dan ed Eva, hanno ordinato una volta. La versione per le versioni meno recenti conta le righe il cui CONTA.SE è esattamente 1. Se ogni valore si ripete, UNICI con exactly_once restituisce #CALC! e CONTA.VALORI conta quell'errore come 1; la versione con MATR.SOMMA.PRODOTTO (in inglese SUMPRODUCT) dà 0.

Contare i valori univoci con una condizione

Per contare i clienti diversi di una regione, filtra prima le righe e poi conta ciò che resta. FILTRO tiene le righe North e UNICI toglie le ripetizioni.

Clienti diversi per regione
E2
ABCDE
1CustomerRegionRegionCustomers
2AnaNorthNorth3
3BenSouthSouth3
4AnaNorthNorth, older Excel3
5CaraNorth
6BenNorth
7DanSouth
8AnaNorth
9EvaSouth
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =CONTA.VALORI(UNICI(FILTRO(A2:A9;B2:B9=D2)))

North ha cinque ordini da tre clienti: Ana, Cara e Ben. E3 conta South allo stesso modo. E4 è la versione per Excel 2019 e precedenti: CONTA.PIÙ.SE conta ogni coppia di cliente e regione, e la condizione tiene solo le frazioni North.

Se nessuna riga corrisponde, FILTRO restituisce #CALC! (lo stesso nome in Excel italiano), e CONTA.VALORI conta quell'errore come un valore: scrivi West in D2 ed E2 mostra 1, non 0. Racchiudere la formula in SE.ERRORE (in inglese IFERROR) non aiuta, perché CONTA.VALORI non restituisce errori. Conta invece le righe del risultato, che l'errore lo propaga: =SE.ERRORE(RIGHE(UNICI(FILTRO(A2:A9;B2:B9="West")));0) restituisce 0.

Contare i valori univoci ignorando le celle vuote

Una cella vuota nell'intervallo diventa un "valore" in più. UNICI la restituisce come 0 e CONTA.VALORI conta quello 0, quindi per Ana, una cella vuota, Ben, Ana, una cella vuota, Cara e Ben, Excel dà:

=COUNTA(UNIQUE(A2:A8))    4   three names plus the 0 for the empty cells

In Excel italiano: =CONTA.VALORI(UNICI(A2:A8)).

Nella formula meno recente una riga vuota fa restituire 0 a CONTA.SE, quindi 1/0 dà #DIV/0!. Togli prima le celle vuote:

Un intervallo con dei buchi
D2
ABCD
1CustomerFormulaCount
2AnaSkip blanks3
3Older Excel3
4Ben
5Ana
6
7Cara
8Ben
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =CONTA.VALORI(UNICI(FILTRO(A2:A8;A2:A8<>"")))

Entrambe le formule contano i tre clienti. FILTRO con A2:A8<>"" elimina le celle vuote prima che UNICI le veda. Nella formula meno recente, A2:A8&"" trasforma ogni cella vuota in una stringa vuota, così CONTA.SE non restituisce mai 0, e (A2:A8<>"") dà a quelle righe un peso di 0.

Esercizio: contare i prodotti

Tocca a te: quanti prodotti?
E2
ABCDE
1OrderProductCountResult
21001AppleProducts
31002Pear
41003Apple
51004Plum
61005Pear
71006Apple
81007Plum
91008Fig
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.

Tocca a te: Conta quanti prodotti diversi compaiono in B2:B9. Scrivi la formula in E2.

Quale formula per il tuo Excel

ConteggioExcel 365 / 2021Excel 2019 e precedenti
Valori distinti=CONTA.VALORI(UNICI(A2:A9))=MATR.SOMMA.PRODOTTO(1/CONTA.SE(A2:A9;A2:A9))
Valori che compaiono una volta=CONTA.VALORI(UNICI(A2:A9;;VERO))=MATR.SOMMA.PRODOTTO(--(CONTA.SE(A2:A9;A2:A9)=1))
Distinti, con una condizione=CONTA.VALORI(UNICI(FILTRO(A2:A9;B2:B9="North")))=MATR.SOMMA.PRODOTTO((B2:B9="North")/CONTA.PIÙ.SE(A2:A9;A2:A9;B2:B9;B2:B9))
Distinti, saltando le celle vuote=CONTA.VALORI(UNICI(FILTRO(A2:A9;A2:A9<>"")))=MATR.SOMMA.PRODOTTO((A2:A9<>"")/CONTA.SE(A2:A9;A2:A9&""))

In una tabella pivot, il riepilogo Conteggio distinto fa lo stesso lavoro senza formule, ma solo quando la tabella pivot viene creata con l'opzione "Aggiungi questi dati al modello di dati" selezionata. Per eliminare le ripetizioni invece di contarle, vedi rimuovere i duplicati.

Domande frequenti

Come si contano i valori univoci in Excel?

In Excel 365 o 2021, usa =CONTA.VALORI(UNICI(A2:A9)): UNICI elenca ogni valore una volta e CONTA.VALORI conta l'elenco. Nelle versioni meno recenti usa =MATR.SOMMA.PRODOTTO(1/CONTA.SE(A2:A9;A2:A9)).

Come si contano i valori che compaiono una sola volta?

Imposta su VERO il terzo argomento di UNICI, exactly_once: =CONTA.VALORI(UNICI(A2:A9;;VERO)). Per Ana, Ana, Ben dà 1, perché solo Ben compare una volta. In Excel 2019 e precedenti usa =MATR.SOMMA.PRODOTTO(--(CONTA.SE(A2:A9;A2:A9)=1)).

Come si contano i valori univoci con una condizione?

Prima filtra, poi conta: =CONTA.VALORI(UNICI(FILTRO(A2:A9;B2:B9="North"))) conta i clienti diversi nelle righe North. Se nessuna riga corrisponde, CONTA.VALORI conta come 1 l'errore #CALC! di FILTRO, quindi quando può succedere usa =SE.ERRORE(RIGHE(UNICI(FILTRO(A2:A9;B2:B9="North")));0).

Come si contano i valori univoci ignorando le celle vuote?

Togli le celle vuote prima di UNICI: =CONTA.VALORI(UNICI(FILTRO(A2:A9;A2:A9<>""))). Nelle versioni meno recenti di Excel, =MATR.SOMMA.PRODOTTO((A2:A9<>"")/CONTA.SE(A2:A9;A2:A9&"")) le salta.

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA