=CONT.VALORES(ÚNICO(A2:A9)) conta quantos valores diferentes há em A2:A9. A ÚNICO (UNIQUE em inglês) retorna cada valor uma vez, e a CONT.VALORES (COUNTA em inglês) conta essa lista. Ela precisa do Excel 2021 ou do Microsoft 365; as versões antigas estão mais abaixo. A tabela mostra as fórmulas em inglês, com vírgulas, e também aceita a forma em português, com ponto e vírgula.
| 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 |
=CONT.VALORES(ÚNICO(A2:A9))Oito pedidos vieram de cinco clientes. C2 despeja a lista de nomes da ÚNICO para você ver o que está sendo contado, e D2 a conta sem precisar da lista na planilha. Mude A9 para Ana e a contagem cai para 4; digite um nome novo e ela sobe.
A ÚNICO ignora maiúsculas, então Ana e ana contam como um cliente só.
Contar valores únicos no Excel antigo
O Excel 2019 e anteriores não têm a ÚNICO. A fórmula clássica é:
=SUMPRODUCT(1/COUNTIF(A2:A9,A2:A9))
No Excel em português: =SOMARPRODUTO(1/CONT.SE(A2:A9;A2:A9)).
O CONT.SE com o intervalo inteiro como critério retorna, para cada linha, quantas vezes o valor dessa linha aparece. Um nome que aparece 3 vezes recebe 3 em cada uma das suas linhas, então 1/3 é somado três vezes e o nome soma exatamente 1. A coluna B mostra a contagem de cada linha e a coluna C a fração.
| 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 |
=SOMARPRODUTO(1/CONT.SE(A2:A9;A2:A9))As três linhas de Ana somam 0.33 cada, as duas de Ben 0.50 cada, e os três nomes que aparecem uma vez somam 1 cada: 5 no total, o mesmo que a SOMA da coluna auxiliar. Com dezenas de milhares de linhas essa fórmula fica lenta, porque o CONT.SE percorre o intervalo inteiro uma vez por linha; a ÚNICO não tem esse custo.
Distintos ou únicos: valores que aparecem uma só vez
"Único" é usado para duas contagens diferentes. A de cima conta valores distintos: cada nome uma vez. A outra conta os valores que aparecem exatamente uma vez, como clientes que fizeram um único pedido. A ÚNICO faz isso com o terceiro argumento, exactly_once, definido como VERDADEIRO.
| 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 |
=CONT.VALORES(ÚNICO(A2:A9;;VERDADEIRO))São cinco clientes distintos, mas só três deles, Cara, Dan e Eva, fizeram um pedido. A versão para o Excel antigo conta as linhas cujo CONT.SE é exatamente 1. Se todos os valores se repetem, a ÚNICO com exactly_once retorna #CALC! e a CONT.VALORES conta esse erro como 1; a versão com SOMARPRODUTO dá 0.
Contar valores únicos com uma condição
Para contar os clientes diferentes de uma região, filtre as linhas primeiro e depois conte o que sobrou. A FILTRO (FILTER em inglês) mantém as linhas de North e a ÚNICO tira as repetições.
| 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 |
=CONT.VALORES(ÚNICO(FILTRO(A2:A9;B2:B9=D2)))North tem cinco pedidos de três clientes: Ana, Cara e Ben. E3 conta South do mesmo jeito. E4 é a versão para o Excel 2019 e anteriores: o CONT.SES conta cada par de cliente e região, e a condição mantém só as frações de North.
Se nenhuma linha bate, a FILTRO retorna #CALC!, e a CONT.VALORES conta esse erro como um valor: digite West em D2 e E2 mostra 1, não 0. Envolver a fórmula na SEERRO não resolve, porque a CONT.VALORES não retorna erro. Conte as linhas do resultado, o que repassa o erro: =SEERRO(LINS(ÚNICO(FILTRO(A2:A9;B2:B9="West")));0) retorna 0.
Contar valores únicos ignorando as células vazias
Uma célula vazia no intervalo vira mais um "valor". A ÚNICO a retorna como 0 e a CONT.VALORES conta esse 0, então para Ana, uma célula vazia, Ben, Ana, uma célula vazia, Cara e Ben, o Excel dá:
=COUNTA(UNIQUE(A2:A8)) 4 three names plus the 0 for the empty cells
Na fórmula antiga, uma linha vazia faz o CONT.SE retornar 0, então 1/0 dá #DIV/0!. Tire as células vazias antes:
| 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 |
=CONT.VALORES(ÚNICO(FILTRO(A2:A8;A2:A8<>"")))As duas fórmulas contam os três clientes. A FILTRO com A2:A8<>"" tira as células vazias antes que a ÚNICO as veja. Na fórmula antiga, A2:A8&"" transforma cada célula vazia em um texto vazio para que o CONT.SE nunca retorne 0, e (A2:A8<>"") dá peso 0 a essas linhas.
Prática: contar os produtos
| 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 |
Sua vez: Conte quantos produtos diferentes aparecem em B2:B9. Escreva a fórmula em E2.
Qual fórmula para o seu Excel
| Contagem | Excel 365 / 2021 | Excel 2019 e anteriores |
|---|---|---|
| Valores distintos | =CONT.VALORES(ÚNICO(A2:A9)) | =SOMARPRODUTO(1/CONT.SE(A2:A9;A2:A9)) |
| Valores que aparecem uma vez | =CONT.VALORES(ÚNICO(A2:A9;;VERDADEIRO)) | =SOMARPRODUTO(--(CONT.SE(A2:A9;A2:A9)=1)) |
| Distintos, com uma condição | =CONT.VALORES(ÚNICO(FILTRO(A2:A9;B2:B9="North"))) | =SOMARPRODUTO((B2:B9="North")/CONT.SES(A2:A9;A2:A9;B2:B9;B2:B9)) |
| Distintos, sem as células vazias | =CONT.VALORES(ÚNICO(FILTRO(A2:A9;A2:A9<>""))) | =SOMARPRODUTO((A2:A9<>"")/CONT.SE(A2:A9;A2:A9&"")) |
Em uma tabela dinâmica, o resumo Contagem Distinta faz o mesmo trabalho sem fórmula, mas só quando a tabela dinâmica é criada com "Adicionar estes dados ao Modelo de Dados" marcado. Para apagar as repetições em vez de contá-las, veja remover duplicados.
Perguntas frequentes
Como contar valores únicos no Excel?
No Excel 365 ou 2021, use =CONT.VALORES(ÚNICO(A2:A9)): a ÚNICO lista cada valor uma vez e a CONT.VALORES conta a lista. Nas versões mais antigas, use =SOMARPRODUTO(1/CONT.SE(A2:A9;A2:A9)).
Como contar os valores que aparecem só uma vez?
Defina o terceiro argumento da ÚNICO, exactly_once, como VERDADEIRO: =CONT.VALORES(ÚNICO(A2:A9;;VERDADEIRO)). Para Ana, Ana, Ben o resultado é 1, já que só Ben aparece uma vez. No Excel 2019 e anteriores, use =SOMARPRODUTO(--(CONT.SE(A2:A9;A2:A9)=1)).
Como contar valores únicos com uma condição?
Filtre primeiro e conte depois: =CONT.VALORES(ÚNICO(FILTRO(A2:A9;B2:B9="North"))) conta os clientes diferentes nas linhas de North. Se nenhuma linha bater, a CONT.VALORES conta o erro #CALC! da FILTRO como 1, então, quando isso pode acontecer, use =SEERRO(LINS(ÚNICO(FILTRO(A2:A9;B2:B9="North")));0).
Como contar valores únicos ignorando as células vazias?
Tire as células vazias antes da ÚNICO: =CONT.VALORES(ÚNICO(FILTRO(A2:A9;A2:A9<>""))). No Excel antigo, =SOMARPRODUTO((A2:A9<>"")/CONT.SE(A2:A9;A2:A9&"")) as ignora.