Como comparar elementos de duas listas

O Microsoft Excel fornece dois métodos diferentes para ajudá-lo a comparar duas listas e destacar os itens ausentes em cada uma. Você pode optar por destacar itens ausentes em ambas as listas ou apenas em uma. Nós vamos te mostrar como.

EM RELAÇÃO: Como encontrar diferença percentual entre valores no Excel

A maneira rápida: realce células únicas para comparar listas

Uma maneira rápida de comparar duas listas em sua planilha é usar o recurso de destaque exclusivo do Excel. Esta função destaca itens em uma lista que não estão na outra lista. Dessa forma, você sabe exatamente quais itens estão faltando nas suas listas.

Para usar o método, primeiro selecione as listas que deseja comparar em sua planilha.

Como comparar elementos de duas listas

Enquanto suas listas estão destacadas, na faixa de opções do Excel na parte superior, clique na guia "Início".

Como comparar elementos de duas listas

Na guia "Início", na seção "Estilos", clique em Formatação Condicional > Regras de Realce de Célula > Valores Duplicados.

Como comparar elementos de duas listas

O Excel destacará itens ausentes em suas listas. Por exemplo, na sua primeira lista você terá destacado os itens que faltam na segunda lista e assim por diante.

Como comparar elementos de duas listas

E é isso.

A Fórmula: Use Formatação Condicional para Comparar Listas

O método acima destaca os itens em suas duas listas. Se você deseja apenas destacar itens ausentes em uma lista específica, use uma fórmula com formatação condicional conforme explicado abaixo.

EM RELAÇÃO: Como usar a formatação condicional para encontrar dados duplicados no Excel

Primeiro, em sua planilha, selecione todas as linhas da sua primeira lista. Em seguida, no canto superior esquerdo, clique na caixa de texto, digite FirstListe pressione Enter. Isso atribui um nome exclusivo ao seu intervalo de células, permitindo que você faça referência a todas essas células usando um único nome.

Como comparar elementos de duas listas

Dê um nome exclusivo à sua segunda lista selecionando primeiro todas as linhas da sua lista. Em seguida, no canto superior esquerdo, clique na caixa de texto, digite SecondListe pressione Enter.

Como comparar elementos de duas listas

Selecione todas as linhas em sua primeira lista clicando na caixa de texto no canto superior esquerdo e escolhendo "FirstList".

Como comparar elementos de duas listas

Na faixa de opções do Excel na parte superior, clique na guia "Início" e escolha Formatação Condicional > Nova Regra.

Como comparar elementos de duas listas

De volta à planilha, o Excel destacou os itens em sua primeira lista que estão faltando na segunda lista. Seu trabalho está feito.

Como comparar elementos de duas listas

E é assim que você faz uma comparação rápida de duas listas diferentes em suas planilhas do Excel. Muito útil!

Você também pode colocar seus dados em ordem alfabética para encontrar manualmente as diferenças entre duas listas em suas planilhas. Confira nosso guia sobre como fazer isso.

EM RELAÇÃO: Como classificar dados em ordem alfabética no Microsoft Excel

Este artigo trata da tarefa de verificar se duas listas não ordenadas contêm elementos exatamente semelhantes em posições exatamente semelhantes, ou seja, verificar se duas listas são exatamente iguais. Este é um utilitário bastante útil e pode ser usado na programação do dia-a-dia.

Método 1: Usar list.sort()e ==operador
sort() juntamente com ==operador pode realizar esta tarefa. Primeiro classificamos a lista, de modo que se ambas as listas forem idênticas, então elas terão elementos na mesma posição. Mas isso não leva em consideração a ordem dos elementos na lista.

test_list1 = [1, 2, 4, 3, 5] test_list2 = [1, 2, 4, 3, 5] print ("The first list is : " + str(test_list1)) print ("The second list is : " + str(test_list2)) test_list1.sort() test_list2.sort() if test_list1 == test_list2:     print ("The lists are identical") else :     print ("The lists are not identical")

Resultado :

A primeira lista é: [1, 2, 4, 3, 5] A segunda lista é: [1, 2, 4, 3, 5] As listas são idênticas

Método 2: Usandocollections.Counter()
Usando Counter(), normalmente conseguimos obter a frequência de cada elemento da lista, verificando, para ambas as listas podemos verificar se duas listas são idênticas ou não. Mas esse método também ignora a ordem dos elementos na lista e leva em consideração apenas a frequência dos elementos.

import collections test_list1 = [1, 2, 4, 3, 5] test_list2 = [1, 2, 4, 3, 5] print ("The first list is : " + str(test_list1)) print ("The second list is : " + str(test_list2)) if collections.Counter(test_list1) == collections.Counter(test_list2):     print ("The lists are identical") else :     print ("The lists are not identical")

Resultado :



A primeira lista é: [1, 2, 4, 3, 5] A segunda lista é: [1, 2, 4, 3, 5] As listas são idênticas

Método 3: Usandosum() + zip() + len()
Usando sum() + zip(), podemos obter a soma de um da lista como a soma de 1 se ambos os índices nas duas listas tiverem elementos iguais e, em seguida, comparar esse número com o tamanho da outra lista. Isso também exige que primeiro verifique se duas listas são iguais antes deste cálculo. Ele também verifica o pedido.

test_list1 = [1, 2, 4, 3, 5] test_list2 = [1, 2, 4, 3, 5] print ("The first list is : " + str(test_list1)) print ("The second list is : " + str(test_list2)) if len(test_list1)== len(test_list2) and len(test_list1) == sum([1 for i, j in zip(test_list1, test_list2) if i == j]):     print ("The lists are identical") else :     print ("The lists are not identical")

Resultado :

A primeira lista é: [1, 2, 4, 3, 5] A segunda lista é: [1, 2, 4, 3, 5] As listas são idênticas

Método 4: usandoreduce() + map()
cuidadosamente o acoplamento de poder de map() a valores de hash e utilidade de reduce(), podemos realizar esta tarefa de verificar a igualdade de duas listas para serem idênticas. Isso também leva em consideração a ordem da lista.

import functools test_list1 = [1, 2, 4, 3, 5] test_list2 = [1, 2, 4, 3, 5] print ("The first list is : " + str(test_list1)) print ("The second list is : " + str(test_list2)) if functools.reduce(lambda i, j : i and j, map(lambda m, k: m == k, test_list1, test_list2), True) :      print ("The lists are identical") else :     print ("The lists are not identical")

Resultado :

A primeira lista é: [1, 2, 4, 3, 5] A segunda lista é: [1, 2, 4, 3, 5] As listas são idênticas