
Fórmula genérica
=COUNTA(UNIQUE(data))
Resumo
Para contar valores únicos em um conjunto de dados, você pode usar a função UNIQUE junto com a função CONT.valores. No exemplo mostrado, a fórmula em F5 é:
=COUNTA(UNIQUE(B5:B16))
que retorna 7, já que há sete cores exclusivas em B5: B16.
Explicação
Este exemplo usa a função UNIQUE para extrair valores exclusivos. Quando UNIQUE é fornecido com o intervalo B5: B16, que contém 12 valores, ele retorna os 7 valores exclusivos vistos em D5: D11. Eles são retornados diretamente para a função CONT.valores como uma matriz como esta:
=COUNTA(("red";"amber";"green";"blue";"purple";"pink";"gray"))
Ao contrário da função COUNT, que conta apenas números, COUNTA conta texto e números. Como há sete itens na matriz, CONT.valores retorna 7. Essa fórmula é dinâmica e será recalculada imediatamente quando os dados de origem forem alterados.
Com uma referência de célula
Você também pode consultar uma lista de valores exclusivos já extraídos para a planilha com a função UNIQUE usando um tipo especial de referência de célula. A fórmula em D5 é:
=UNIQUE(B5:B16)
que retorna os sete valores vistos em D5: D11. Para contar esses valores com uma referência dinâmica, você pode usar uma fórmula como esta:
=COUNTA(D5#)
O caractere hash (#) informa ao Excel para se referir ao intervalo de derramamento criado por UNIQUE. Como a fórmula multifuncional acima, esta fórmula é dinâmica e se adaptará quando os dados forem adicionados ou removidos do intervalo original.
Contar espaços em branco exclusivos para ignorar
Para contar valores únicos enquanto ignora células em branco, você pode adicionar a função FILTER desta forma:
=COUNTA(UNIQUE(FILTER(data,data"")))
Essa abordagem é explicada com mais detalhes aqui. Você também pode filtrar valores exclusivos com critérios.
Sem dados
Uma limitação dessa fórmula é que retornará incorretamente 1 se não houver nenhum valor no intervalo de dados. Esta alternativa contará todos os valores retornados por UNIQUE que tenham um comprimento maior que zero. Em outras palavras, ele contará todos os valores com pelo menos um caractere:
=SUM(--(LEN(UNIQUE(B5:B16))>0))
Aqui, a função LEN é usada para verificar o comprimento dos resultados de UNIQUE. Os comprimentos são então verificados para ver se são maiores que zero e os resultados são contados com a função SUM. Este é um exemplo de lógica booleana. Esta fórmula também excluirá células vazias dos resultados.
Faixa de fonte dinâmica
UNIQUE não mudará automaticamente o intervalo de origem se os dados forem adicionados ou excluídos. Para fornecer ao UNIQUE um intervalo dinâmico que será redimensionado automaticamente conforme necessário, você pode usar uma Tabela do Excel ou criar um intervalo denominado dinâmico com uma fórmula.
Sem matrizes dinâmicas
Se você estiver usando uma versão mais antiga do Excel sem suporte a matriz dinâmica, aqui estão algumas alternativas.