Como comparar duas colunas e encontrar diferenças no Excel?


45

Eu tenho duas colunas no Excel que eu quero comparar e encontrar as diferenças entre elas.

Suponha:

  • Col A tem 50 números, ou seja, 0511234567
  • Col B tem 100 números no mesmo formato

Eu acho que isso pode ser feito com funções e fórmulas incorporadas do Excel. Parece-me fora de tópico.
Matt Handy

você pode especificar como fazer isso?

Então, você quer saber quais números estão na Col A apenas e quais estão na Col B?
Tom Shaw

Veja esta pergunta SO para sua resposta.
Patrick Honorez 27/05

Não, primeiro eu quero saber todos esses números que não estão em Col A, mas em Col B e, em seguida, eu quero saber todos os números que estão em Col A, mas não em Col B.

Respostas:


55

Usando formatação condicional

Realce coluna Um . Clique em Formatação Condicional > Criar Nova Regra > Use esta fórmula para determinar quais células serão formatadas > Digite ff. Fórmula:

=countif($B:$B, $A1)

Clique no botão Formatar e altere a cor da fonte para algo que você gosta.

Repita o mesmo para a coluna B , exceto use esta fórmula e tente outra cor da fonte.

=countif($A:$A, $B1)

Usando uma coluna separada

Na coluna C , digite ff. fórmula na primeira célula e copie-a.

=if(countif($B:$B, $A1)<>0, "-", "Not in B")

Na coluna D , digite ff. fórmula na primeira célula e copie-a.

=if(countif($A:$A, $B1)<>0, "-", "Not in A")

Ambos devem ajudar a visualizar quais itens estão faltando na outra coluna.


Em quais versões do Excel isso foi testado?
Peter Mortensen

1
Onde está a "Formatação Condicional"? Em um menu? Em um menu de contexto?
Peter Mortensen

Em uma versão mais antiga do OpenOffice, correspondente ao Excel anterior à faixa de opções (afinal, é um clone do Excel), existe o comando de menu Formatar -> Formatação Condicional .
Peter Mortensen

1
É sobre o Excel, mas no OpenOffice / LibreOffice, usar $B:$Bpara se referir a toda a coluna Bnão funciona. Em vez disso, use $B$1:$B$1048576(onde 1048576 é a linha com o número mais alto). Observe $na frente dos números (as chamadas referências absolutas ) - isso faz com que funcione conforme o esperado para operações como Preencher para baixo (referido aqui como "copiá-lo") ou Preencher .
Peter Mortensen

14

A Microsoft tem um artigo detalhando como encontrar duplicatas em duas colunas. Pode ser alterado com facilidade o suficiente para encontrar itens exclusivos em cada coluna.

Por exemplo, se você deseja que Col C mostre entradas exclusivas da Col A e Col D mostre entradas exclusivas da Col B:

A   B   C                                          D
1   3   =IF(ISERROR(MATCH(A1,$B$1:$B$5,0)),A1,"")  =IF(ISERROR(MATCH(B1,$A$1:$A$5,0)),B1,"")
2   5   (fill down)                                (fill down)
3   8   ..                                         ..
4   2   ..                                         ..
5   0   ..                                         ..


4

Digamos que você queira encontrar aqueles em col. B sem correspondência na col. A. Coloque em C2:

=COUNTIF($A$2:$A$26;B2)

Isso fornecerá 1 (ou mais) se houver uma correspondência, 0 caso contrário.

Você também pode classificar as duas colunas individualmente e, em seguida, selecionar ambas, Saltar especial, selecionar Diferenças de linha. Mas isso deixará de funcionar após o primeiro item novo e você precisará inserir uma célula e iniciar novamente.


4

Se eu entendi bem sua pergunta:

=if(Ax = Bx; True_directive ; False_directive)

Substitua diretivas True / false por uma função ou por uma string como "Igual" ou "diferente".


@pasta isso não funcionará se as duas colunas não forem classificadas da mesma forma - acho que a pergunta não é sobre isso.
SIslam

3

Depende do formato das suas células e dos seus requisitos funcionais. Com um "0" inicial, eles podem ser formatados como texto.

Em seguida, você pode usar a função SE para comparar células no Excel:

=IF ( logical_test, value_if_true, value_if_false )

Exemplo:

=IF ( A1<>A2, "not equal", "equal" )

Se eles estiverem formatados como números, você poderá subtrair a primeira coluna da outra para obter a diferença:

=A1-A2

2

Esta fórmula irá comparar diretamente duas células. Se forem iguais, será impresso True; se houver uma diferença, será impresso False. Esta fórmula não imprimirá quais são as diferenças.

=IF(A1=B1,"True","False")

1

Estou usando o Excel 2010 e apenas realce as duas colunas que têm os dois conjuntos de valores que estou comparando e clique no menu suspenso Formatação condicional na página inicial do Excel, escolha as regras Destaque células e diferenças. Em seguida, solicita o destaque das diferenças ou semelhanças e pergunta qual destaque de cor você deseja usar ...


0

A comparação pode ser feita com o código VBA do Excel. O processo de comparação pode ser feito com a Worksheet.Countiffunção VBA do Excel .

Duas colunas em diferentes planilhas foram comparadas neste modelo. Ele encontrou resultados diferentes, pois uma linha inteira foi copiada para a segunda planilha.

Código:

Dim stk, msb As Worksheet
Set stk = Sheets("Page1")
Set msb = Sheets("Page2")

Application.ScreenUpdating = False
sat = (msb.Range("A" & Rows.Count).End(xlUp).Row) + 1
For i = 2 To stk.Range("A" & Rows.Count).End(xlUp).Row
    If WorksheetFunction.CountIf(msb.Range("A2:A" & msb.Range("A" & Rows.Count).End(xlUp).Row), stk.Cells(i, "A")) = 0 Then
        msb.Range("a" & sat).EntireRow.Value = stk.Range("a" & i).EntireRow.Value
        msb.Range("a" & sat).Interior.ColorIndex = 22
        sat = sat + 1
    End If
Next
...

O vídeo do tutorial: https://www.youtube.com/watch?v=Vt4_hEPsKt8

Exemplo de arquivo pode ser baixado aqui


1
Se você deseja vincular seu blog e seu canal do YouTube, deve divulgar sua afiliação. Caso contrário, você pode ser acusado de enviar spam.
DavidPostill

0

Isso está usando outra ferramenta, mas eu achei isso muito fácil de fazer. Usando o Notepad ++:

No Excel, verifique se as 2 colunas estão classificadas na mesma ordem, copie e cole as colunas em 2 novos arquivos de texto e execute uma comparação (no menu plug-ins).


0

A combinação de funções NOT MATCH funciona bem. O seguinte também funciona:

= IF ( ISERROR ( VLOOKUP (<< item na lista maior >>, << lista menor >>, 1 , FALSE ))), << item na lista maior >>, "")

LEMBRE-SE: a lista menor DEVE SER CLASSIFICADA ASCENDENTE - um requisito do vlookup

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.