Eu tenho duas tabelas Excel diferentes. uma coluna da tabela contém o nome do funcionário e outra tabela contém vários nomes em uma célula e seus outros valores. por exemplo.
primeira mesa
João
Paulo
Pedro
Akash
Sam
Segunda Mesa
Shea, John, Akash
Akash, Peter, Paul
Peter, John, Sam
Agora quero procurar pelo primeiro nome na segunda tabela e retornar Sim ou Não.
Responder1
Não tenho certeza se entendi sua pergunta corretamente. Vou assumir que:
- A primeira tabela contém um nome por célula
- A segunda tabela sempre usa "," como separador
- Você deseja verificar se o primeiro nome de cada linha da segunda tabela está na primeira tabela (retorna TRUE) ou nem (retorna FALSE).
Se for esse o caso, isso deve bastar:=NOT(ISERROR(VLOOKUP(LEFT(B1;SEARCH(",";B1)-1);$A$1:$A$5;1;FALSE)))
Explicado de dentro para fora:
- Primeiro procuro o "," (
SEARCH
me dá a posição do primeiro ","). - Então eu pego a string que sobrou dele (
LEFT
). - Eu procuro essa string (
LOOKUP
) em uma tabela e exijo que corresponda exatamente (o últimoFALSE
argumento). - Se falhar, retornará um erro, então verificaremos isso (
ERROR
retorne TRUE se oLOOKUP
resultado for um erro). - Queremos muito saber se ao invés disso é constatado que é um erro, então vou de TRUE para FALSE e vice-versa usando
NOT
.
Com algumas "provas":