=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)).
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Customer | Unique list | Count | |
| 2 | Ana | Ana | 5 | |
| 3 | Ben | Ben | ||
| 4 | Ana | Cara | ||
| 5 | Cara | Dan | ||
| 6 | Ben | Eva | ||
| 7 | Dan | |||
| 8 | Ana | |||
| 9 | Eva |
=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.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Customer | Times | 1/Times | Count | |
| 2 | Ana | 3 | 0.33 | 5 | |
| 3 | Ben | 2 | 0.50 | 5.00 | |
| 4 | Ana | 3 | 0.33 | ||
| 5 | Cara | 1 | 1.00 | ||
| 6 | Ben | 2 | 0.50 | ||
| 7 | Dan | 1 | 1.00 | ||
| 8 | Ana | 3 | 0.33 | ||
| 9 | Eva | 1 | 1.00 |
=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.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Customer | Count | Result | |
| 2 | Ana | Distinct | 5 | |
| 3 | Ben | Exactly once | 3 | |
| 4 | Ana | Exactly once, older Excel | 3 | |
| 5 | Cara | |||
| 6 | Ben | |||
| 7 | Dan | |||
| 8 | Ana | |||
| 9 | Eva |
=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.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Customer | Region | Region | Customers | |
| 2 | Ana | North | North | 3 | |
| 3 | Ben | South | South | 3 | |
| 4 | Ana | North | North, older Excel | 3 | |
| 5 | Cara | North | |||
| 6 | Ben | North | |||
| 7 | Dan | South | |||
| 8 | Ana | North | |||
| 9 | Eva | South |
=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:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Customer | Formula | Count | |
| 2 | Ana | Skip blanks | 3 | |
| 3 | Older Excel | 3 | ||
| 4 | Ben | |||
| 5 | Ana | |||
| 6 | ||||
| 7 | Cara | |||
| 8 | Ben |
=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
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Order | Product | Count | Result | |
| 2 | 1001 | Apple | Products | ||
| 3 | 1002 | Pear | |||
| 4 | 1003 | Apple | |||
| 5 | 1004 | Plum | |||
| 6 | 1005 | Pear | |||
| 7 | 1006 | Apple | |||
| 8 | 1007 | Plum | |||
| 9 | 1008 | Fig |
Tocca a te: Conta quanti prodotti diversi compaiono in B2:B9. Scrivi la formula in E2.
Quale formula per il tuo Excel
| Conteggio | Excel 365 / 2021 | Excel 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.