Como obtenho os valores distintos / exclusivos em uma coluna no Excel?

281

Se eu tenho uma coluna com valores e quero descobrir quais valores distintos existem (não quantos - mas os valores distintos reais), como posso fazer isso?

No SQL Server, eu faria algo como

SELECT Distinct(MyColumn) FROM MyTable
Kjensen
fonte
Relacionados: stackoverflow.com/questions/13307927/...
alexanderbird

Respostas:

297

Mais simples do que você imagina:

  • Clique no menu Faixa de dados
  • Selecione o avançado botão no classificar e filtrar secção
  • Preencha a caixa de diálogo, copiando os resultados para outro local e certificando-se de marcar somente registros exclusivos

insira a descrição da imagem aqui

Um anão
fonte
30
Para aqueles de nós que ainda vivem sem fita, são Dados-> Filtro-> Avançado.
JT Grimes
10
+1 Este método é superior a Remover duplicatas, se você deseja manter os dados originais intactos.
Excellll
17
Se estiver copiando dados para outra planilha, inicie a caixa de diálogo Avançado a partir da planilha para a qual deseja copiar , caso contrário, você receberá um You can only copy filtered data to the active sheeterro.
Dave Zych
5
Isso não é atualizado quando os valores do intervalo de origem são alterados. Existe alguma maneira de torná-lo dinâmico?
Hughes
129

Excel 2007 e 2010:
use a Remove Duplicatesopção de menu no cabeçalho Dados .

Excel 2003:
Maneira fácil:

  1. Verifique se seus dados têm um cabeçalho
  2. Dados -> Filtro -> Filtro Avançado
  3. Verificar somente registros exclusivos
  4. Selecione Copiar para outro local
  5. Clique OK

Jeito difícil:

Escreva uma macro com o seguinte código:

'Remove duplicates from sorted list
Sub getDistinct()
    Do While ActiveCell.Value <> ""
        If ActiveCell.Value = ActiveCell.Offset(1, 0).Value Then
            ActiveCell.Select
            Selection.Delete Shift:=xlUp
        Else
            ActiveCell.Offset(1, 0).Activate
        End If
    Loop
End Sub

Isso lhe dá sua lista distinta. Você pode copiar sua lista para outra planilha primeiro.

Nathan DeWitt
fonte
20
Obrigado! Essa é uma prova de que o Stack Exchange é muito melhor do que qualquer outra fonte de informações técnicas. Todos os outros resultados do google são inúteis e sem classificação. Também eu me pergunto como especialistas de troca de sobreviver
Eran Medan
21

Eu uso dois métodos principais para obter valores distintos - o primeiro é a Remove Duplicatesferramenta inestimável , conforme sugerido por Nathan DeWitt .

A desvantagem Remove Duplicatesé que você perde dados. Apesar do poder do Ctrl+, zvocê pode não querer fazer isso por vários motivos - por exemplo, você pode ter atualmente filtros selecionados que tornam bastante desagradável remover duplicatas para obter sua lista distinta de valores.

O outro método, não mencionado acima, é usar uma tabela dinâmica.

Digamos que esta seja sua tabela e você deseja obter a lista distinta de plataformas. mesa fictícia

Insira a Pivot Tablecom a tabela como sua fonte de dados.

Agora selecione a coluna Plataforma (s) como sua Row Labels.

Voila! Uma lista de valores distintos.

tabela dinâmica como lista de valores distintos

Se você deseja arrumar isso, pode desligar Field Headerse configurar Grand Totalscomo está Off for Rows and Columns.

Andi Mohr
fonte
1
A técnica de tabela dinâmica é brilhante! Obrigado por isso.
precisa saber é o seguinte
20

Ou (de uma maneira simples e bruta):

Em B1,

=IF(COUNTIF(A$1:A1,A1)=1,A1,"") 

e copie. Ele apenas copia a primeira ocorrência de cada valor (na linha em que ocorre).

Tapgas
fonte
1
Como em todas as fórmulas do Excel, pode ser necessário usar ponto-e-vírgula ( ;) em vez de vírgulas ( ,) com base nas configurações regionais do sistema.
Scott Scott
5

Ou você pode incluir a opção de filtro em uma macro

    Columns("A:A").AdvancedFilter Action:=xlFilterInPlace, Unique:=True
cjcottell
fonte
3

Para mim, a maneira mais simples de classificar é usar a opção "Filtro".

O primeiro passo é encontrar os valores duplicados em Formatação condicional -> Regras de células de destaque -> Valores duplicados.

Em seguida, clique na seta na coluna em que você possui as duplicatas (neste caso, "Plataformas") -> Filtrar por cor (cor das células ou cor da fonte).

Apenas eu
fonte
O resultado aqui é diferente, pois todas as instâncias de duplicatas são removidas. Por exemplo, a coluna com valores [a, a, b]deve reduzir para [a, b], não [b].
Hugo Ideler