Como comparar duas células no Excel (comparação de cadeias de caracteres)

O tutorial mostra como comparar cadeias de caracteres de texto no Excel para casos não sensíveis a maiúsculas e correspondência exata. Você aprenderá um número de fórmulas para comparar duas células por seus valores, comprimento de string, ou o número de ocorrências de um caractere específico, bem como como comparar múltiplas células.

Ao usar o Excel para análise de dados, a precisão é a preocupação mais vital. Informações incorretas levam a prazos não cumpridos, tendências mal avaliadas, decisões erradas e receitas perdidas.

Embora as fórmulas do Excel sejam sempre perfeitamente verdadeiras, seus resultados podem estar errados porque alguns dados com falhas penetraram no sistema. Neste caso, o único remédio é verificar a exatidão dos dados. Não é grande coisa comparar duas células manualmente, mas é quase impossível detectar as diferenças entre centenas e milhares de cadeias de texto.

Este tutorial irá ensiná-lo como automatizar a tediosa e propensa a erros de comparação de células e quais fórmulas são melhores para usar em cada caso em particular.

  • Como comparar 2 células no Excel
  • Como comparar múltiplas células
  • Comparar um intervalo de células com uma célula de amostra
  • Comparar células por comprimento de string
  • Comparar cadeias de caracteres por ocorrências de caráter específico

Como comparar duas células no Excel

Existem duas formas diferentes de comparar cadeias de caracteres no Excel, dependendo se você procura um casocomparação sensível ou não sensível a maiúsculas e minúsculas.

Fórmula não sensível a maiúsculas para comparar 2 células

Para comparar duas células no Excel ignorando o caso, use uma fórmula simples como esta:

=A1=B1

Onde A1 e B1 são as células que você está comparando. O resultado da fórmula são os valores Booleanos VERDADEIRO e FALSO.

Se você quiser produzir seus próprios textos para correspondências e diferenças, incorpore a afirmação acima no teste lógico da função IF. Por exemplo:

=IF(A1=B1, "Equal", "Not equal")

Como você vê na captura de tela abaixo, ambas as fórmulas comparam igualmente bem cadeias de texto, datas e números:
Fórmula não sensível a maiúsculas para comparar 2 células no Excel

Fórmula sensível a maiúsculas para comparar cadeias de caracteres no Excel

Em algumas situações, pode ser importante não só comparar texto em duas células, mas também comparar o caso do caractere. A comparação de texto sensível a maiúsculas e minúsculas pode ser feita usando a função Excel EXACT:

EXACT (text1, text2)

Onde texto1 e texto2 são as duas células que você está comparando.

Assumindo que suas strings estão nas células A2 e B2, a fórmula vai da seguinte forma:

=EXACT(A2, B2)

Como resultado, você obtém VERDADEIRO para as strings de texto combinam exatamente incluindo o caso de cada caractere, FALSO caso contrário.

Se você quiser que a função EXACTO forneça alguns outros resultados, incorpore-a em uma fórmula IF e digite seu próprio texto para value_if_true e value_if_false argumentos:

=IF(EXACT(A2 ,B2), "Exactly equal", "Not equal")

A seguinte captura de tela mostra os resultados da comparação de cadeias de caracteres sensíveis a maiúsculas e minúsculas no Excel:
Fórmula não sensível a maiúsculas para comparar cadeias de caracteres no Excel

Como comparar várias células no Excel

Para comparar mais de 2 células seguidas, use as fórmulas discutidas nos exemplos acima em combinação com o operador AND. Os detalhes completos seguem abaixo.

Fórmula não sensível a maiúsculas para comparar mais de 2 células

Dependente de como você deseja exibir os resultados, utilize uma das seguintes fórmulas:

=AND(A2=B2, A2=C2)

ou

=IF(AND(A2=B2, A2=C2), "Equal", "Not equal")

A fórmula AND retorna VERDADEIRO se todas as células contiverem o mesmo valor, FALSO se algum valor for diferente. A fórmula IF produz as etiquetas que você digita nele, “Igual” e “Não igual” neste exemplo.

Como demonstrado na captura de tela abaixo, a fórmula funciona perfeitamente com qualquer tipo de dado – texto, datas e valores numéricos:

Comparando múltiplas células ignorando o caso de caracteres

Fórmula sensível a maiúsculas e minúsculas para comparar texto em várias células

Para comparar múltiplas cadeias de caracteres umas com as outras para ver se elas correspondem exatamente, use as seguintes fórmulas:

=AND(EXACT(A2,B2), EXACT(A2, C2))

Or

=IF(AND(EXACT(A2,B2), EXACT(A2, C2)),"Exactly equal", "Not equal")

Como no exemplo anterior, a primeira fórmula fornece valores VERDADEIROS e FALSOS, enquanto que a segunda exibe seus próprios textos para correspondências e diferenças:
Comparando várias cadeias de caracteres exatamente incluindo o caso de caracteres

Compare um intervalo de células para uma célula de amostra

Os exemplos a seguir mostram como você pode verificar se todas as células em um determinado intervalo contêm o mesmo texto que em uma célula de amostra.

Fórmula insensível a maiúsculas para comparar células com um texto de amostra

Se o caso do caractere não for realmente importante, você pode usar a seguinte fórmula para comparar células com uma amostra:

ROWS(range)*COLUMNS(range)=COUNTIF(range, sample cell)

No teste lógico da função IF, você compara dois números:

  • O número total de células em um intervalo especificado (o número de linhas multiplicado pelo número de colunas), e
  • O número de células contendo o mesmo valor da célula de amostra (retornado pela função COUNTIF).

Assumindo que o texto da amostra está em C2 e as cadeias de caracteres a comparar estão no intervalo A2:B6, a fórmula vai da seguinte forma:

=ROWS(A2:B6)*COLUMNS(A2:B6)=COUNTIF(A2:B6,C2)

Para tornar os resultados mais fáceis de utilizar, ou seja produzir algo como “All match” e “Not all match” em vez de TRUE e FALSE, use a função IF como fizemos nos exemplos anteriores:

=IF(ROWS(A2:B6)*COLUMNS(A2:B6)=COUNTIF(A2:B6,C2),"All match", "Not all match")

Fórmula não sensível a maiúsculas para comparar células com um texto de amostra

Como mostrado na imagem acima, a fórmula lida perfeitamente com um intervalo de cadeias de texto, mas também pode ser usada para comparar números e datas.

Fórmula sensível ao caso para comparar cadeias de caracteres com um texto de amostra

Se o caso de caracteres fizer diferença, você pode comparar cadeias de caracteres com o texto de amostra usando as seguintes fórmulas de array.

IF(ROWS(range)*COLUMNS(range)=SUM(–EXACT(sample_cell, range)), “text_if_match”, “text_if_not match”)

Com o intervalo de origem a residir em A2:B6 e o texto de amostra em C2, a fórmula tem a seguinte forma:

=IF(ROWS(A2:B6)*COLUMNS(A2:B6)=SUM(--EXACT(C2, A2:B6)), "All match", "Not all match")

Fórmulas Excel não semelhantes, as fórmulas de array são completadas pressionando Ctrl + Shift + Enter. Se inserido corretamente, o Excel encerra a fórmula do array em {curly braces}, como mostrado na captura de tela:
Fórmula sensível a maiúsculas para comparar strings com um texto de amostra

Como comparar duas células por comprimento de string

Por vezes você pode querer verificar se as strings de texto em cada linha contêm um número igual de caracteres. A fórmula para esta tarefa é muito simples. Primeiro, você obtém o comprimento da cadeia de caracteres de duas células usando a função LEN, e depois compara os números.

Supondo que as strings a serem comparadas estão nas células A2 e B2, use uma das seguintes fórmulas:

=LEN(A2)=LEN(B2)

Or

=IF(LEN(A2)=LEN(B2), "Equal", "Not equal")

Como você já sabe, a primeira fórmula retorna os valores Booleanos VERDADEIRO ou FALSO, enquanto que a segunda fórmula produz seus próprios resultados:

Comparando duas células por comprimento de cadeia

Como demonstrado na captura de tela acima, as fórmulas funcionam tanto para cadeias de texto quanto para números.

Dica. Se duas cordas aparentemente iguais retornam comprimentos diferentes, o mais provável é que o problema esteja em espaços à esquerda ou à direita em uma ou ambas as células. Neste caso, remova espaços extras usando a função TRIM. A explicação detalhada e os exemplos de fórmula podem ser encontrados aqui: Como aparar espaços no Excel.

Comparar duas células por ocorrências de um caractere específico

Este é o último exemplo em nosso tutorial Comparar Strings do Excel, e mostra uma solução para uma tarefa bastante específica. Supondo que você tenha 2 colunas de strings de texto que contenham um caractere importante para você. Seu objetivo é verificar se duas células em cada linha contêm o mesmo número de ocorrências de um determinado caractere.

Para tornar as coisas mais claras, considere o exemplo a seguir. Digamos que você tenha duas listas de ordens enviadas (coluna B) e recebidas (coluna C). Cada linha contém pedidos para um item específico, cujo identificador único está incluído em todos os IDs de pedidos e é listado na mesma linha na coluna A (veja a captura de tela abaixo). Você quer ter certeza de que cada linha contém um número igual de itens enviados e recebidos com aquele ID específico.

Para resolver este problema, escreva uma fórmula com a seguinte lógica.

  • Primeiro, substitua o identificador único por nada usando a função SUBSTITUTO:

    SUBSTITUTE(A1, character_to_count,"")

  • Então, calcule quantas vezes o identificador único aparece em cada célula. Para isso, obtenha o comprimento da string sem o identificador único e subtraia-o do comprimento total da string. Esta parte deve ser escrita para as células 1 e 2 individualmente, por exemplo:

    LEN(cell 1) - LEN(SUBSTITUTE(cell 1, character_to_count, ""))
    e
    LEN(cell 2) - LEN(SUBSTITUTE(cell 2, character_to_count, ""))

  • Por último, você compara estes 2 números colocando o sinal de igualdade (=) entre as partes acima.
LEN(cell 1) – LEN(SUBSTITUTE(cell 1, character_to_count, “”))=
LEN(cell 2) – LEN(SUBSTITUTE(cell 2, character_to_count, “”))

No nosso exemplo, o identificador único está em A2, e as cadeias a comparar estão nas células B2 e C2. Então, a fórmula completa é a seguinte:

=LEN(B2)-LEN(SUBSTITUTE(B2,$A2,""))=LEN(C2)-LEN(SUBSTITUTE(C2,$A2,""))

A fórmula retorna VERDADEIRA se as células B2 e C2 contêm um número igual de ocorrências do caractere em A2, FALSO caso contrário. Para tornar os resultados mais significativos para seus usuários, você pode incorporar a fórmula na função IF:

=IF(LEN(B2)-LEN(SUBSTITUTE(B2, $A2,""))=LEN(C2)-LEN(SUBSTITUTE(C2, $A2,"")), "Equal", "Not equal")

Comparar as ocorrências de um caractere específico em duas células

Como você pode ver na captura de tela acima, a fórmula funciona perfeitamente apesar de um par de complicações adicionais:

  • O caractere a ser contado (identificador único) pode aparecer em qualquer lugar em uma cadeia de texto.
  • As strings contêm um número variável de caracteres e diferentes separadores como ponto-e-vírgula, vírgula ou espaço.

Esta é a forma como você compara strings no Excel. Para ter uma visão mais detalhada das fórmulas discutidas neste tutorial, você está convidado a baixar o Excel Compare Strings Worksheet. Eu agradeço a leitura e espero vê-lo em nosso blog na próxima semana.

Você também pode estar interessado em

  • Compare duas colunas no Excel para correspondências e diferenças
  • Como comparar duas planilhas do Excel para diferenças
  • Como usar o operador lógico para comparar números
  • 4 maneiras de fazer um vlookup sensível a maiúsculas e minúsculas no Excel

Deixe uma resposta

O seu endereço de email não será publicado.