Como comparar duas colunas e encontrar diferenças em Excel?
Tenho duas colunas em Excel que 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
Tenho duas colunas em Excel que quero comparar e encontrar as diferenças entre elas.
Suponha:
Coluna de destaque A. Clique * Formatação Condicional** > Criar Nova Regra > Utilize esta fórmula para determinar quais as células a formatar > Introduza a fórmula ff.:
=countif($B:$B, $A1)
Clique no botão Format e mude a cor da fonte para algo que goste.
Repita o mesmo para a coluna B , excepto use esta fórmula e tente outra cor de fonte.
=countif($A:$A, $B1)
Na coluna C , introduza a fórmula ff. na primeira célula e depois copie-a para baixo.
=if(countif($B:$B, $A1)<>0, "-", "Not in B")
Na coluna D , introduza a fórmula ff. na primeira célula e depois copie-a para baixo.
=if(countif($A:$A, $B1)<>0, "-", "Not in A")
Ambos devem ajudá-lo a visualizar quais os itens que faltam na outra coluna.
A Microsoft tem um artigo que detalha como encontrar duplicados em duas colunas. Pode ser alterado facilmente para encontrar itens únicos em cada coluna.
Por exemplo, se quiser que o Coronel C mostre entradas únicas para o Coronel A, e o Coronel D mostre entradas únicas para o Coronel 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 .. ..
Aqui está a fórmula que procura:
=IF(ISERROR(NOT(MATCH(A1,$B$1:$B$11,0))),A1,"")
Digamos que quer encontrar os que estão no col. B sem correspondência em col. A. Colocar em C2:
=COUNTIF($A$2:$A$26;B2)
Isto dar-lhe-á 1 (ou mais) se houver correspondência, 0 caso contrário.
Também pode ordenar ambas as colunas individualmente, depois seleccionar ambas, Ir para Especial, seleccionar Diferenças de linha. Mas isso deixará de funcionar após o primeiro novo item, e terá de inserir uma célula e começar de novo.
Depende do formato das suas células e dos seus requisitos funcionais. Com um “0” principal, podem ser formatadas como texto.
Depois pode usar a função IF para comparar células no Excel:
=IF ( logical_test, value_if_true, value_if_false )
Exemplo:
=IF ( A1<>A2, "not equal", "equal" )
Se forem formatadas como números, pode subtrair a primeira coluna da outra para obter a diferença:
=A1-A2
Estou a utilizar Excel 2010 e apenas a destacar as duas colunas que têm os dois conjuntos de valores que estou a comparar, e depois clicar na opção Formatação condicional na página inicial do Excel, escolher as regras das Células de Destaque, e depois as diferenças. Em seguida, pede para realçar as diferenças ou semelhanças e pergunta que cor de realce pretende utilizar…
A combinação de funções NÃO MATCH* funciona bem. As seguintes funções também funcionam:
= IF* ( ISERROR ( VLOOKUP* (<<item na lista maior>>, 1 , FALSE* )),<item na lista maior>>,“)
LEMBRE-SE: a lista mais pequena DEVE ser LEVANTADA - um requisito de vlookup
Isto é utilizar outra ferramenta, mas acabei de achar isto muito fácil de fazer. Usando o Notepad++:
No Excel certifique-se de que as suas 2 colunas estão ordenadas na mesma ordem, depois copie e cole as suas colunas em 2 novos ficheiros de texto e depois execute uma comparação (a partir do menu plugins).
A comparação pode ser feita com o código Excel VBA. O processo de comparação pode ser feito com a função Excel VBA Worksheet.Countif
.
Duas colunas em folhas de trabalho diferentes foram comparadas neste modelo. Encontraram-se resultados diferentes, pois uma linha inteira foi copiada para a segunda folha de trabalho.
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