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 tenho duas colunas no Excel que eu quero comparar e encontrar as diferenças entre elas.
Suponha:
Respostas:
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)
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.
$B:$B
para se referir a toda a coluna B
nã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 .
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 .. ..
Aqui está a fórmula que você está procurando:
=IF(ISERROR(NOT(MATCH(A1,$B$1:$B$11,0))),A1,"")
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.
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".
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
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 ...
A comparação pode ser feita com o código VBA do Excel. O processo de comparação pode ser feito com a Worksheet.Countif
funçã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
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