Excel - Como comparar colunas para valores iguais [duplicado]

0

Eu tenho uma planilha do Excel que tem duas colunas. Ambas as colunas têm números. A primeira coluna contém mais números que a segunda coluna. Eu quero encontrar quais todos os números na segunda coluna estão lá na primeira coluna e quais não são.

Por exemplo, considere o seguinte como um exemplo:

Col A | Col B
1     |2
2     |5
3     |7
4     |10
5     |15
6     |
7     |
8     |
9     |
10    |
11    |
12    |
13    |
14    |
15    |
    
por anoop.george 16.07.2014 / 07:43

2 respostas

0

Eu usaria uma combinação de IF e VLOOKUP. Supondo que seus dados estão em Col A e Col B, coloque a seguinte fórmula em Col C

=IF(VLOOKUP(B2,A:A,1,FALSE), "Found", "Not Found")

Arraste a fórmula para baixo e os resultados para o seu exemplo seriam os seguintes.

    
por 16.07.2014 / 20:37
0

Tenho certeza de que há uma maneira melhor de fazer isso, mas meu método envolve um pouco de hack com NOT , ISERROR e VLOOKUP .

Para verificar o valor em B2 em uma lista na coluna A, use o seguinte:

=NOT(ISERROR(VLOOKUP(B2,A:A,1,FALSE)))

Passo-a-passo:

  • VLOOKUP verifica um valor em relação a uma coluna de dados e retorna dados de uma célula escolhida na mesma linha em que o valor de pesquisa foi encontrado.
    • B2 é o valor de pesquisa que estamos dando para o VLOOKUP.
    • A: A é o intervalo que queremos que o VLOOKUP procure. Você pode usar intervalos de várias colunas se quiser extrair dados de uma coluna diferente, mas o VLOOKUP pesquisará apenas o valor de pesquisa na primeira coluna. coluna (mais à esquerda) do intervalo.
    • 1 é a coluna que estamos dizendo ao VLOOKUP para extrair dados. Isso é requerido pelo VLOOKUP, mas é realmente irrelevante para nós, já que não estamos realmente usando os dados. Isso pode ser usado para extrair dados de outras colunas na linha correspondente, desde que estejam dentro do intervalo especificado no argumento anterior. VLOOKUP conta as colunas que começam com 1 como a coluna mais à esquerda no intervalo.
    • FALSE especifica uma opção para o VLOOKUP que diz que queremos uma correspondência exata . Caso contrário, pode retornar resultados imprecisos para nossas necessidades aqui.
  • ISERROR retorna um TRUE ou FALSE booleano para dizer se o processamento da fórmula aninhada resultou em erro. Então, não estamos realmente usando o VLOOKUP para obter qualquer dado aqui - ele está sendo usado apenas para ver se ele pode ser executado sem um erro com os valores fornecidos.
  • NOT inverte o valor booleano fornecido pela fórmula aninhada.

O VLOOKUP tentará encontrar o valor de B2 na coluna A. Se houver algum problema (se a sua fórmula e os dados estiverem corretos, isso só deve acontecer quando B2 não existir em A: A), isso causará um erro . Isso fará com que o resultado de IFERROR seja TRUE. No entanto, uma vez que nossa pergunta é "o valor está lá?" em vez de "O valor não está lá?", usamos NÃO para alterná-lo para FALSE. Simlarly, se não houver não um erro processando VLOOKUP, ISERROR retornará FALSE que será alterado para TRUE (ex: "No error, the value found.") Por NOT.

Observe que a fórmula acima retornará um valor booleano VERDADEIRO / FALSO - não o "Encontrado" / "Não encontrado" que você pediu. Eu faço isso porque a saída booleana é mais fácil de trabalhar se for necessário processamento adicional na informação. Para um exemplo simples, compare =IF(B2,"I found it!","No luck, Chuck!") a =IF(B2="Found","I found it!","No luck, Chuck!") . Se você realmente quiser que a saída seja "Found" / "Not Found", use esta variante:

=IF(ISERROR(VLOOKUP(B2,A:A,1,FALSE)),"Not Found","Found")

Como estamos especificando nossos próprios termos de saída, não precisamos usar NOT para mexer com a saída de ISERROR, mas precisamos ter em mente que TRUE em um ISERROR significa que o valor não foi encontrado - então, nós coloque "Not Found" para value_if_true e "Found" para value_if_false.

Aqui está uma captura de tela dos dois métodos em ação. A primeira fórmula nesta resposta foi usada para a coluna C, a segunda é na coluna D.

    
por 16.07.2014 / 21:19