VLOOKUP e IF em várias planilhas do Excel

VLOOKUP e IF em várias planilhas do Excel

Eu tenho duas planilhas do Excel, conforme abaixo, em uma pasta de trabalho

Folha 1 e 2:

insira a descrição da imagem aqui

Abaixo está a relação de campos entre as duas planilhas

  • EID é igual a EmID
  • DepID é igual a DependentID
  • DepDOB é igual a DependentDOB

Gostaria de comparar o EID com o EmID. Se corresponder, faça outra comparação no DepID com DependentID. Se DepID estiver em branco, compare DepDOB com DependentDOB. Quando tudo isso for verdade, obtenha DependentFirstName e DependentLastName da Planilha2 e copie-os para uma nova coluna na Planilha 1.

Por favor, veja a imagem abaixo para ver o resultado pretendido.

Saída:

insira a descrição da imagem aqui

Por favor, informe um método para conseguir isso. Se PROCV e SE precisarem ser combinados, informe-me a fórmula. Isso está me dando pesadelos :(

Responder1

Solução conforme solicitado

Uma maneira simples de fazer isso da maneira solicitada é com colunas auxiliares. Digamos que a planilha 1 se pareça com o seu exemplo de saída, com as colunas A:F mostradas, e a planilha 2 também mostra A:F. Digamos que usemos a coluna G para a coluna auxiliar em cada planilha.

A coluna auxiliar concatena os três valores de comparação. Portanto, em cada folha, G2 conteria:

=A2&E2&F2

Copie a fórmula na coluna de cada planilha. Em seguida, compare esses valores para encontrar o registro necessário.

VLOOKUP requer que a coluna de pesquisa seja a mais à esquerda da matriz. Você pode realizar o mesmo estilo de pesquisa usando INDEX mais MATCH, que não possui essa limitação. A folha 1, C2 conteria:

=INDEX(sheet2!B:C,MATCH(G2,sheet2!G:G,0),1)

e em D2:

=INDEX(sheet2!B:C,MATCH(G2,sheet2!G:G,0),2)

Copie-os na coluna. MATCH encontra a chave que corresponde à linha da planilha 2 e retorna os nomes correspondentes.

captura de tela

Você pode ocultar as colunas auxiliares se não quiser vê-las. Se você está curioso para saber por que as chaves associadas a um DepDOB não se parecem com uma data, é porque ele usa a representação interna que o Excel usa para armazenar a data.

Solução mais simples

Neste caso, você tem todas as informações necessárias para preencher os campos de nome e sobrenome já contidos no registro. Em vez de usar colunas auxiliares e pesquisas, você poderia simplesmente analisar o campo DepName. C2 seria:

=LEFT(B2,FIND(" ",B2)-1)

e D2 seria:

=RIGHT(B2,LEN(B2)-FIND(" ",B2))

informação relacionada