Notifications
Clear all

Localizar parte de Texto em frase inteira.

7 Posts
4 Usuários
0 Reactions
1,666 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá pessoal, blz,,,

Preciso localizar parte de um Texto em uma frase inteira.

Exemplo:
Na coluna "A" tenho uma relação de produtos com suas descrição completa:
GARRAFA AGUA SEM GÁS 500ML
GARRAFA AGUA COM GÁS 500ML
LATA REFRIGERANTE SABOR UVA 350ML
LATA REFRIGERANTE SABOR LARANJA 350ML

Numa outra planilha, tenho só uma parte da descrição destes itens, assim:
REFRIGERANTE SABOR LARANJA
REFRIGERANTE SABOR UVA
AGUA COM GÁS
AGUA SEM GÁS

Agora, preciso localizar na primeira planilha os itens da segunda, mas observem que não existe um padrão de texto. Observem que o que preciso sempre está no meio do texto mas, cada item inicia em um determinada posição.
Por PROCV não deu certo, pois ele procura referencia idêntica, também não consegui com LOCALIZAR, nem com EXT.TEXTO e nem com CORRESP.

Alguém me dá uma força.?

At;
Dann.

 
Postado : 09/09/2016 1:31 pm
(@issamu)
Posts: 0
New Member
 

Olá Danilo!
O ideal seria você postar um arquivo com o seu modelo com bastante dados, mostrando a base e os dados que você deseja procurar.
De qualquer forma, estou postando uma sugestão, com alguns recursos para buscar utilizando a busca individual de cada palavra através de fórmula matricial, é uma solução um pouco complexa e desenvolvi limitada a no máximo 5 palavras de busca.

 
Postado : 09/09/2016 2:06 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Obrigado Issamu.

Boa, segue anexo um exemplo com dados reais (porém apenas com 5 itens) pra não complicar muito. Más é exatamente isso que preciso.

Explicando o anexo:
Nas colunas A, B, C é a tabela completa de itens com (Código, Descrição e Valor), com sua Descrição completa.
Na coluna G, eu tenho só uma parte da descrição de cada item.

Preciso apenas identificar o item da coluna G na coluna B e trazer o Valor que está na coluna C.
Se a descrição estivesse completa na coluna G, o PROCV funcionaria, mas não vai pois só tenho parte da descrição.

Obs.: No exemplo, o valor procurado está sempre no final da descrição, porém, isso é uma coincidência pois, na realidade, o texto da coluna G pode estar em qualquer posição na Descrição.

*não consegui entender a questão da FORMULA MATRICIAL no seu exemplo.

 
Postado : 09/09/2016 2:28 pm
(@issamu)
Posts: 0
New Member
 

Viu como é importante o arquivo modelo... a descrição original da sua pergunta é muito mais complexa do que de fato e a necessidade real.
No seu arquivo real você só tem que buscar um texto dentro de descrições em outra lista, o que torna a solução muito mais simples do que a que você descreveu primeiramente.

A solução que estou propondo continua sendo matricial, portanto deve-se inserir a fórmula abaixo com CTRL+SHIFT+ENTER:

=MÁXIMO(SE(ÉERROS(LOCALIZAR(G2;$B$2:$B$6));"";$C$2:$C$6))

Abs!

 
Postado : 09/09/2016 2:39 pm
(@djunqueira)
Posts: 0
New Member
 

Alternativamente vc poderia utilizar a seguinte fórmula sem tem de digitar Ctrl + Shift + Enter:

=AGREGAR(14;6;ÉNÚM(LOCALIZAR(G2;TabComPreço[Descrição]))*TabComPreço[Valor];1)

Veja na planilha anexa a aplicação da fórmula.

 
Postado : 10/09/2016 2:35 am
(@djunqueira)
Posts: 0
New Member
 

Completando a mensagem anterior q não pode mais ser editada. :(

=SEERRO(AGREGAR(14;6;ÉNÚM(LOCALIZAR(G2;TabComPreço[Descrição]))*TabComPreço[Valor];1);"")
 
Postado : 10/09/2016 2:48 am
(@spanta)
Posts: 0
New Member
 

Olá danilobtos,

Esse arquivo VBA que anexei faz quase isso.

Ele te ajuda a encontrar em uma lista os elementos de outra lista, conforme abaixo:

1) Se o elemento da lista A tem um correspondente exato na lista B, ele exibe
2) Se o elemento da lista A tem um elemento na lista B onde ele está contido, ele exibe
Ex:
Lista A: Douglas Almeida
Lista B: Douglas Almeida da Silva

3) Se o elemento da Lista A não tem correspondente na lista B. Você pode fazer procuras ns lista B.
Ex:
Lista A: Douglas A. Silva
Você digita no campo texto: Douglas A
Na tela aparece:
Douglas Armando
Douglas Aparecido Coleho
Douglas Almeida da Silva
etc...

O Objetivo é equiparar os nomes das duas listas para que depois o programa possa juntá-las em uma lista só.
Mas acaba servindo também ao seu propósito.

A última aba é de instruções do programinha.

O código VBA está sem senha para quem tem interesse em estudar.

Att,

 
Postado : 10/09/2016 7:40 pm