Usando a correspondência de vlookup para verificar a existência do número em duas tabelas

0

Tabela a ser verificada

Cada coluna representa um item, cada linha abaixo dessa coluna representa o ID de uma unidade desse item. No exemplo abaixo, eu tenho 4 maçãs com IDS 1, 2, 4, 5 e 2 uvas com IDS 3, 8

|  Apple  |  Grape  |
|    1    |    8    |
|    5    |    3    |
|    2    |         |
|    4    |         |

Table Master

Cada linha representa uma combinação exclusiva de um item com seu ID. A tabela abaixo representa os mesmos dados acima.

|    1    |  Apple  |
|    2    |  Apple  |
|    4    |  Apple  |
|    5    |  Apple  |
|    3    |  Grape  |
|    8    |  Grape  |

Problema

Eu quero adicionar uma coluna ao Table Master, com uma fórmula tal que eu possa confirmar que tudo no Table To Check está de fato também presente no Table Master, que também irá esclarecer quaisquer itens que eu tenho no Table Master, mas que não estão na tabela para verificar e vice-versa. Eu tinha pensado em fazer isso com um simples jogo de vlookup

VLOOKUP(E8,"Entire Table To Check",MATCH(F8,"Entire 1st Row in Table To Check",0),FALSE)

Eu esperaria que a saída fosse o valor encontrado em Table To Check (ou seja, o ID do próprio item, já que é o que será encontrado). Mas, por algum motivo, a fórmula só funciona às vezes, outras vezes criando um resultado # N / A. Pergunta: qual é a fórmula certa, e por que esta é apenas parcialmente trabalhando?

Meu resultado

*New comparison column with formula above             
|    1    |    1    |  Apple  |
|    2    |    2    |  Apple  |
|  #N/A   |    4    |  Apple  |
|  #N/A   |    5    |  Apple  |
|    3    |    3    |  Grape  |
|  #N/A   |    8    |  Grape  |
    
por james 12.12.2017 / 02:46

1 resposta

0

EDIT: Para responder a pergunta reformulada.

EDIT2: Para evitar listar muitas áreas no formulário de referência do INDEX ().

Esta fórmula, preenchida de E1, usa funções aninhadas INDEX () junto com MATCH () para fornecer uma solução:

=IFERROR(INDEX(INDEX(A$2:C$5,,MATCH(G2,A$1:C$1,0)),MATCH(F2,INDEX(A$2:C$5,,MATCH(G2,A$1:C$1,0)),0)),"No ID Found")

Como funciona: O segundo INDEX () retorna uma coluna de IDs de Item da matriz A2: C5, especificamente a coluna com o título que corresponde ao nome do item na Coluna G. Essa coluna é dada por essa parte da fórmula :

INDEX(A$2:C$5,,MATCH(G2,A$1:C$1,0))

O primeiro INDEX () usa essa coluna como seu array com o row_num dado pelo segundo MATCH (). Que MATCH () procura o ID da Coluna F na mesma coluna do ID do item usado pelo primeiro INDEX () e usa a mesma parte da fórmula para especificar essa coluna.

Finalmente, a fórmula inteira é empacotada em IFERROR () para anotar todas as IDs listadas que não foram encontradas.

    
por 12.12.2017 / 17:26