Como comparar duas listas no Excel (CONT.SE, PROCV e CORRESP)

Foto de William Oliveira
William OliveiraEngenheiro mecânico e especialista em Excel e VBA
Atualizado em 13/11/202610 min de leitura

Você tem duas listas no Excel e precisa saber o que está nas duas, o que está só numa delas e o que mudou. Pode ser a lista de clientes de um mês contra a do outro, o cadastro do sistema contra o inventário, ou a tabela de preços antiga contra a nova. Olhar linha por linha funciona com dez nomes; com quinhentos, alguém vai errar.

Neste artigo você vai aprender a comparar duas listas no Excel com CONT.SE, PROCV e CORRESP, a destacar as diferenças com cores, a separar só o que falta (Excel 365) e a comparar valores entre duas tabelas. No fim tem uma planilha pronta para baixar, com todos os exemplos.

Neste artigo (13 seções)
  1. Resumo rápido
  2. O exemplo usado no artigo
  3. Método 1: comparar duas listas com CONT.SE
  4. Método 2: comparar com PROCV
  5. Método 3: comparar com CORRESP (e saber a posição)
  6. Método 4: destacar as diferenças com cores
  7. Método 5: listar só o que falta (Excel 365 e 2021)
  8. Método 6: comparar valores entre duas tabelas
  9. Comparar duas colunas linha a linha
  10. Qual método usar
  11. Erros comuns ao comparar listas
  12. Planilha para baixar
  13. Perguntas frequentes

Resumo rápido

Para saber se cada item da lista 1 aparece na lista 2, use esta fórmula ao lado da lista 1 e arraste para baixo:

=SE(CONT.SE($F$4:$F$12;A4)>0;"Está nas duas";"Só em outubro")
  • $F$4:$F$12 é a lista 2 (com cifrão, para não andar quando você arrastar).
  • A4 é o item da lista 1 que você está conferindo.
  • O CONT.SE conta quantas vezes o item aparece na lista 2. Se for maior que zero, ele existe lá.

Para fazer o caminho inverso (o que está na lista 2 e não está na 1), repita a fórmula ao lado da lista 2, trocando os intervalos.

Publicidade

O exemplo usado no artigo

Uma distribuidora quer saber quais clientes compraram em outubro e voltaram em novembro, quais sumiram e quais são novos. As duas listas estão na mesma aba:

LinhaA — Clientes outubroF — Clientes novembro
4Padaria Pão QuenteMercado Bom Preço
5Mercado Bom PreçoFarmácia Vida
6Auto Peças SilvaConstrutora Alfa
7Farmácia VidaPadaria Pão Quente
8Loja Bela ModaAcademia Corpo Ativo
9Pet Shop Amigo FielÓtica Visão
10Ótica VisãoDistribuidora Norte
11Construtora AlfaPet Shop Amigo Fiel
12Restaurante Sabor CaseiroFloricultura Jardim
13Papelaria Central—

As listas não estão na mesma ordem e não têm o mesmo tamanho. Isso é o normal, e é por isso que comparar linha a linha (=A4=F4) não serve aqui. Essa comparação direta só funciona quando as duas colunas deveriam ser iguais na mesma linha, como no tópico mais abaixo.

Método 1: comparar duas listas com CONT.SE

É o jeito mais simples e funciona em qualquer versão do Excel e no Google Planilhas.

  1. Clique em B4, ao lado do primeiro cliente de outubro.
  2. Digite =SE(CONT.SE($F$4:$F$12;A4)>0;"Está nas duas";"Só em outubro") e tecle Enter.
  3. Dê dois cliques na alça de preenchimento (o quadradinho no canto da célula) para copiar até B13.

Resultado: seis clientes aparecem como “Está nas duas” e quatro como “Só em outubro”: Auto Peças Silva, Loja Bela Moda, Restaurante Sabor Caseiro e Papelaria Central. Esses são os clientes que deixaram de comprar.

Se você quer só um número (sem os textos), use apenas =CONT.SE($F$4:$F$12;A4). O resultado 0 indica que o item não está na outra lista; 2 ou mais indica que ele aparece repetido lá.

Método 2: comparar com PROCV

Muita gente aprende primeiro o PROCV, e ele também resolve. Quando não encontra o valor, o PROCV devolve #N/D. A função ÉNÃODISP transforma esse erro em VERDADEIRO, e o SE escreve o texto:

=SE(ÉNÃODISP(PROCV(A4;$F$4:$F$12;1;FALSO));"Não encontrado";"Encontrado")
  • 1 é o número da coluna devolvida. Como a lista 2 tem uma coluna só, é a própria coluna.
  • FALSO pede correspondência exata. Sem ele, o PROCV pode “achar” um nome parecido e a comparação fica errada.

O resultado é o mesmo do método 1. A vantagem do PROCV aparece quando a lista 2 tem mais colunas e você quer trazer uma informação junto (veja o método 6). Se aparecer #N/D em itens que você sabe que existem, leia PROCV não funciona? 9 causas comuns.

Método 3: comparar com CORRESP (e saber a posição)

O CORRESP devolve em que linha da lista 2 o item está. Isso ajuda quando você precisa encontrar o registro na outra lista para conferir:

=SEERRO(CORRESP(A4;$F$4:$F$12;0);"Não está")

Para a Padaria Pão Quente o resultado é 4, porque ela é o quarto nome da lista de novembro. Para a Auto Peças Silva, “Não está”. O 0 no fim pede correspondência exata, e o SEERRO troca o #N/D por um texto.

Se você prefere SIM e NÃO, combine com ÉNÚM:

=SE(ÉNÚM(CORRESP(F4;$A$4:$A$13;0));"Sim";"Não")

Essa versão está do lado da lista 2, conferindo se cada cliente de novembro já comprava em outubro. Academia Corpo Ativo, Distribuidora Norte e Floricultura Jardim aparecem como “Não”: são os clientes novos.

Método 4: destacar as diferenças com cores

Se você não quer uma coluna a mais, a formatação condicional pinta os itens que só existem numa das listas.

  1. Selecione A4:A13 (a lista 1), começando pela A4.
  2. Vá em Página Inicial > Formatação Condicional > Nova Regra.
  3. Escolha Usar uma fórmula para determinar quais células devem ser formatadas.
  4. Digite =CONT.SE($F$4:$F$12;A4)=0.
  5. Clique em Formatar, escolha um preenchimento (vermelho claro, por exemplo) e confirme.
  6. Repita na lista 2 (F4:F12) com =CONT.SE($A$4:$A$13;F4)=0.

Os quatro clientes que sumiram e os três novos ficam coloridos. Para pintar os que estão nas duas listas, troque =0 por >0. Tem mais exemplos desse recurso no artigo de formatação condicional com fórmula.

Dica: o atalho Formatação Condicional > Realçar Regras das Células > Valores Duplicados também funciona se você selecionar as duas listas juntas (com Ctrl). Ele pinta o que aparece nas duas, mas também pinta itens repetidos dentro da mesma lista, o que pode confundir.

Método 5: listar só o que falta (Excel 365 e 2021)

No Excel 365, 2021 e 2024, a função FILTRO monta a lista de diferenças sozinha, numa célula só:

=FILTRO(A4:A13;CONT.SE(F4:F12;A4:A13)=0;"Nenhuma diferença")

Ela devolve os quatro clientes de outubro que não estão em novembro, um embaixo do outro. Para os clientes novos, inverta:

=FILTRO(F4:F12;CONT.SE(A4:A13;F4:F12)=0;"Nenhum cliente novo")

E para listar quem está nas duas, troque =0 por >0. Deixe espaço livre abaixo da célula, porque a FILTRO precisa de várias linhas para “derramar” o resultado. Se aparecer #DESPEJAR!, tem alguma coisa ocupando esse espaço. Veja outros usos no guia da função FILTRO.

Contar as diferenças em qualquer versão

Se você só precisa dos totais, SOMARPRODUTO com CONT.SE funciona até no Excel 2010:

=SOMARPRODUTO(--(CONT.SE($F$4:$F$12;$A$4:$A$13)>0))

No exemplo, o resultado é 6 (clientes nas duas listas). Com =0 no lugar de >0, dá 4 (só em outubro). Invertendo os intervalos, =SOMARPRODUTO(--(CONT.SE($A$4:$A$13;$F$4:$F$12)=0)) dá 3 (clientes novos). Os dois sinais de menos transformam VERDADEIRO e FALSO em 1 e 0 para a soma.

Método 6: comparar valores entre duas tabelas

Às vezes o código existe nas duas listas, mas o valor mudou. Exemplo: o fornecedor mandou a tabela de preços nova e você quer saber o que aumentou. A tabela antiga está em A:C (código, produto, preço antigo) e a nova em H:I (código, preço novo).

CódigoProdutoPreço antigoPreço novoDiferençaSituação
P-101Caneta azul (cx 50)R$ 42,90R$ 44,90R$ 2,00Aumentou
P-102Papel A4 (resma)R$ 27,50R$ 27,50R$ 0,00Igual
P-103GrampeadorR$ 18,00R$ 19,50R$ 1,50Aumentou
P-104Clips (cx 100)R$ 6,40R$ 6,90R$ 0,50Aumentou
P-105Pasta catálogoR$ 15,90R$ 14,90-R$ 1,00Baixou
P-106Marca-texto (kit 4)R$ 12,80R$ 12,80R$ 0,00Igual
P-107Envelope pardo (100)R$ 39,00Saiu da tabelaVerificar
P-108Fita adesivaR$ 4,50R$ 4,90R$ 0,40Aumentou

As fórmulas da linha 4, que você arrasta para baixo:

  • Preço novo (D4): =SEERRO(PROCV(A4;$H$4:$I$11;2;FALSO);"Saiu da tabela")
  • Diferença (E4): =SE(ÉNÚM(D4);D4-C4;"")
  • Situação (F4): =SE(NÃO(ÉNÚM(D4));"Verificar";SE(D4>C4;"Aumentou";SE(D4<C4;"Baixou";"Igual")))

Cinco produtos mudaram de preço, um saiu da tabela (P-107) e um entrou (P-109, que aparece só na tabela nova). Para encontrar os que entraram, use o CONT.SE do método 1 ao lado da tabela nova. Se você tem o Excel 365, o PROCX faz o mesmo que o PROCV com o texto de “não encontrado” dentro da própria função: =PROCX(A4;$H$4:$H$11;$I$4:$I$11;"Saiu da tabela").

Comparar duas colunas linha a linha

Quando as duas colunas deveriam ser iguais na mesma linha (por exemplo, o valor lançado e o valor conferido de cada nota), a comparação é direta:

  • =A2=B2 devolve VERDADEIRO ou FALSO.
  • =SE(A2=B2;"OK";"Diferente") escreve um texto.
  • =EXATO(A2;B2) também diferencia maiúsculas de minúsculas (“Ótica Visão” e “ótica visão” dão FALSO).

Sem fórmula: selecione as duas colunas e vá em Página Inicial > Localizar e Selecionar > Ir para Especial > Diferenças entre linhas. O Excel seleciona as células da segunda coluna que são diferentes da primeira na mesma linha, e você pode pintá-las de uma vez. Em muitos teclados o atalho é Ctrl + \. Outros atalhos estão na lista de atalhos de teclado do Excel.

Qual método usar

SituaçãoMelhor opção
Saber se cada item existe na outra listaCONT.SE (método 1)
Saber onde o item está na outra listaCORRESP (método 3)
Ver as diferenças sem criar colunaFormatação condicional (método 4)
Gerar a lista do que falta, sem arrastarFILTRO, Excel 365/2021 (método 5)
Comparar preços, quantidades ou datasPROCV ou PROCX (método 6)
Colunas que deveriam ser iguais linha a linha=A2=B2 ou EXATO

Erros comuns ao comparar listas

1. Espaço sobrando no nome

“Farmácia Vida ” (com espaço no fim) não é igual a “Farmácia Vida”. O CORRESP e o PROCV dizem que não acharam, e a gente jura que o nome está lá. Limpe a lista com =ARRUMAR(A4) numa coluna auxiliar, copie e cole como valores por cima da original. O ARRUMAR também tira espaços duplos no meio do texto.

2. Número guardado como texto

Códigos como 1050 às vezes chegam do sistema como texto (alinhados à esquerda, com um triângulo verde no canto). Aí o PROCV e o CORRESP não encontram o número 1050 da outra lista. Converta a coluna com Dados > Texto para Colunas > Concluir, ou procure com VALOR(A4) no lugar de A4.

3. Esquecer o cifrão no intervalo

Sem $F$4:$F$12, o intervalo desce junto quando você arrasta a fórmula e os últimos itens são comparados com uma lista cortada. Tecle F4 depois de selecionar o intervalo para colocar os cifrões.

4. Achar que maiúsculas fazem diferença (ou não)

CONT.SE, PROCV e CORRESP tratam “ótica visão” e “Ótica Visão” como iguais. Na maioria dos casos isso é bom. Se para você são itens diferentes (senhas, códigos com letras), use EXATO: =SOMARPRODUTO(--EXATO($F$4:$F$12;A4)) conta só as ocorrências idênticas.

5. Asterisco e interrogação no texto

O CONT.SE entende * e ? como curingas. Um código como “A*10” vai contar qualquer item que comece com A e termine com 10. O PROCV e o CORRESP com correspondência exata também aceitam curingas. Nesses casos, compare com sinal de igual dentro do SOMARPRODUTO, que não usa curingas: =SOMARPRODUTO(--($F$4:$F$12=A4)).

6. Esquecer o FALSO no PROCV

Sem o último argumento, o PROCV faz busca aproximada e pode devolver um item vizinho. Para comparar listas, use sempre FALSO (ou 0).

Planilha para baixar

A planilha tem três abas: Comparar listas (métodos 1 a 4, com resumo e cores automáticas), Comparar preços (método 6) e Erros comuns (espaço extra, maiúsculas e espaço duplo, com a correção ao lado). Troque os dados de exemplo pelos seus. Download livre, sem cadastro.

Baixar a planilha de comparar duas listas (.xlsx)

Perguntas frequentes

Como comparar duas listas que estão em abas diferentes?

Do mesmo jeito, só muda a referência do intervalo. Se a lista 2 estiver na aba Novembro, use =CONT.SE(Novembro!$A$2:$A$500;A2). Clique na outra aba enquanto escreve a fórmula que o Excel monta o nome sozinho.

Como comparar duas listas e trazer só o que está nas duas?

No Excel 365, =FILTRO(A4:A13;CONT.SE(F4:F12;A4:A13)>0). Nas versões antigas, use o método 1, filtre a coluna B por “Está nas duas” e copie o resultado.

Como achar duplicados dentro da mesma lista?

Use =CONT.SE($A$4:$A$13;A4)>1, que dá VERDADEIRO para os itens repetidos. Se você precisa trazer todas as linhas de um item repetido, veja PROCV com valores repetidos.

Qual é mais rápido em listas grandes, CONT.SE ou PROCV?

Para dezenas de milhares de linhas, CORRESP e PROCV com correspondência exata costumam ser um pouco mais leves que o CONT.SE, porque param quando acham o primeiro item. Em listas de alguns milhares, a diferença não se nota.

Funciona no Google Planilhas?

Sim. CONT.SE, PROCV, CORRESP, SOMARPRODUTO e a formatação condicional com fórmula funcionam igual. A FILTRO do Google não tem o terceiro argumento; use =SEERRO(FILTER(A4:A13;CONT.SE(F4:F12;A4:A13)=0);"Nenhuma diferença").

Comparar listas é um dos exercícios mais pedidos em teste de Excel para entrevista de emprego. Se quiser deixar o PROCV à prova de colunas inseridas, veja também o PROCV com CORRESP.

Ficou com alguma dúvida? Deixe nos comentários.

QUER IR ALÉM DESTE ARTIGO?
Aprenda Excel do básico ao avançado com aulas em vídeo
O Curso de Excel da Expert Cursos vai das primeiras configurações até funções, gráficos e macros. São cerca de 30 horas de aula com certificado, planilhas prontas para baixar e acesso vitalício, com pagamento único.
Link de afiliado: se você comprar por ele, o Excel Smart pode receber uma comissão, sem custo extra para você.
Foto de William Oliveira

QUEM ESCREVEU

William Oliveira

Engenheiro mecânico, especialista em Excel e programador VBA avançado. Ensina VBA no YouTube para mais de 4,8 mil inscritos e testa cada fórmula antes de publicar.