Contar Dados Duplicados no Excel

Na coluna A, com 10 cidades listadas (A2 a A11), algumas cidades são repetidas. Como contar o numero de cidades diferentes?

Exemplo:

Rio – São Paulo – Tubarão – São Paulo – Rio – Rio – São Paulo – Tubarão – São Paulo – Tubarão

O resultado que deverá aparecer é 3

Tenho uma aula exatamente sobre isso, depois olhe o link abaixo, mas, resumindo, crie uma função que faça isso chamada ContaQuantosDiferentes.

Sintaxe: ContaQuantosDiferentes(intervalo)

Exemplo – se de A2 a A11 estão as cidades a serem listadas, use ContaQuantosDiferentes(A2:A11)

conta quantos diferentes excel

Como fazer?

a) No EXCEL, clique no atalho ALT + F11 (deixe a tecla ALT pressionada e pressione a seguir a tecla F11) ou entre no Menu Ferramentas na opção Macro e escolha a opção Editor do Visual Basic

b) A janela que abre é o Editor do Microsoft Visual Basic do EXCEL (disponível no MS-Office para o Word, Excel, Out Look, etc.). Nesta janela, no menu Inserir, selecione a opção Módulo

inserir modulo

c) Na janela que abre, copie e cole o código abaixo:

Function ContaQuantosDiferentes(ByVal range1 As Range) As Integer

    Dim conta As Integer
    conta = 0
    Dim Aux()

    ReDim Aux(range1.Rows.Count)

    For i = 1 To range1.Rows.Count
        Aux(i) = range1.Cells(i, 1)
    Next i

    For i = 1 To range1.Rows.Count - 1
        For j = i + 1 To range1.Rows.Count
            If Aux(i) = Aux(j) Then
                Aux(j) = ""
            End If
        Next j
    Next i

    For i = 1 To range1.Rows.Count
        If Aux(i) <> "" Then
            conta = conta + 1
        End If
    Next i

    ContaQuantosDiferentes = conta

End Function

d) Agora volte ao Excel e cole em alguma célula a função ContaQuantosDiferentes(A2:A11), dê Enter e pronto!

Para maiores detalhes, consulte:

http://www.naotemnome.com.br/fapa/_lista21/valoresduplicados/valoresduplicados.html

9 thoughts on “Contar Dados Duplicados no Excel

  1. Muito obrigado pela ajuda! Já estou utilizando a fórmula! Agora, como eu faço para contar os valores diferentes que obedeçam a uma determinada condições? Como uma espécia de mescla entre esta fórmula e a CONTAR.SE()?

    • Nesse caso, ao invés de usar uma fórmula que apenas conte quantos são diferentes, talvez seja mais simples usar o recurso de “Tabela Dinâmica” do Excel que criará uma nova planilha contendo os valores não repetidos. Assim, a partir da nova tabela criada, vc poderá manipular os dados com a fórmula “se” ou outra que convier… Tem um exemplo em http://www.naotemnome.com.br/fapa/_lista26/tabeladinamica/tabeladinamica.html
      Outra opção, dependendo do seu caso, é usar as novas fórmulas somases e cont.ses que foram inseridas a partir do Excel 2007, elas permitem somar e contar a partir de diversos critérios…
      Se puder enviar detalhes do seu problema ou uma planilha de exemplo, posso tentar dar uma ajuda mais detalhada (veja meu e-mail em http://www.naotemnome.com)…

  2. Essa dica ajudou muito em um problema que estou enfrentando, mas… para ficar perfeito, ou melhor, para acabar de vez com o meu problema, seria possivel juntar esse modulo com o filtro? Por exemplo: Tenho duas colunas A (onde consta os valores repetidos) e B (onde não tem repetido), usando o filtro pelo “B” ainda sobre repetido no “A”, seria possivel contar somente os campos visiveis? Porque usando do modo que esta, ele conta tudo.

  3. Boa tarde. Estou tentando resolver o resultado de uma pesquisa, e não estou conseguindo.
    No caso desta pesquisa, temos um produto e o cliente tinha que escolher uma das alternativas numéricas. Ex: -2=muito ruim, -1 ruim, 0=nulo, 1=bom, 2=muito bom, e precisamos contabilizar quantos -2,-1,0,1,2 que foram respondidos, para sabermos que x pessoas disseram -1, x pessoas 2 etc… como faço isto?

  4. olá
    estou batendo cabeça para encontrar uma forma de contar o valor (texto) que mais se repete de uma coluna, como é feito numericamente com a função mode

  5. Gostei muito dessa dica, porem, esta demorando muito para calcular, pois a coluna tem 53.477 linhas. Teria alguma maneira de deixar o calculo mais rápido.

Comments are closed.