No Excel, qual é a função apropriada a ser usada para localizar um item em uma coluna que corresponda a um item em uma coluna ao lado dele?

2

Imagine que eu tenha uma coluna do Excel

ABC
DEF
GHI
JKL
MNO

Então eu tenho a seguinte tabela

option1 | ABC, DEF
option2 | GHI, JKL, MNO
option3 | PQR, STU .... (could be hundreds of comma separated values long in the same field)

Agora quero encontrar qual opção na matriz corresponde a cada item da primeira coluna.

Por exemplo, gostaria que, como produto final, tivesse:

ABC | option1
DEF | option1
GHI | option2
JKL | option2
MNO | option2

Eu tentei o VLOOKUP, mas não estou obtendo os resultados desejados. Eu também tentei separar cada valor separado por vírgula como colunas separadas.

Alguma idéia sobre a melhor função para eu usar para isso?

    
por natab 21.04.2015 / 18:09

2 respostas

3

Com a lista na coluna A e a tabela Option nas colunas D & E , na célula B1 digite:

=INDEX(D:D,MATCH("*" & A1 & "*",E$1:E$3,0))

e copie:

Isso é possível porque MATCH () suporta curingas.

Como Engineer Toast aponta:

  • A correspondência retornará a primeira correspondência encontrada
  • A correspondência retornará # N / A se nenhuma correspondência for encontrada
  • A correspondência é não diferencia maiúsculas de minúsculas
  • A correspondência suporta curingas
por 21.04.2015 / 19:03
0

Portanto, os problemas que você provavelmente está tendo são

  1. O Vlookup só pode pesquisar da esquerda para a direita (não é possível retornar uma coluna à esquerda da sua coluna de pesquisa
  2. O Vlookup precisa de uma correspondência exata, portanto, é necessário concatenar caracteres curinga em ambos os lados (*)

Portanto, você tem duas opções: usar os dados como você os possui (opções na coluna A, dados na coluna B) e usar uma função de correspondência de índice

=INDEX($A$2:$A$4,MATCH("*" & D2 & "*",$B$2:$B$4,0))

ou inverter os dados e usar o vlookup ou a correspondência de índice ainda funcionaria

=VLOOKUP("*" & D2 & "*",$A$6:$B$8,2,FALSE)

    
por 21.04.2015 / 19:06