Notifications
Clear all

Localizar Texto

6 Posts
3 Usuários
0 Reactions
1,445 Visualizações
(@bguerra)
Posts: 50
Trusted Member
Topic starter
 

Pessoal,

Estou com um Desafio aqui... Tenho uma planilha com uma coluna chamada Texto, para cada célula que segue nessa coluna há um texto em que as palavras desejadas Não se repetem (exemplo abaixo).

Gostaria de criar uma fórmula que pudesse extrair do texto as palavras "Casa", "Telefone", "Fone", "Rádio" ou "Bicicleta".

Obs.: Em uma célula essas palavras não se repetem e existe apenas uma delas em cada célula.

Tentei usar a função: =EXT.TEXTO(H2;LOCALIZAR("Casa";H2;1);3)

E tentei juntar com a função SE mas sempre traz a informação #Valor quando o primeiro critério não pe atendido.

Exemplo da Tabela segue abaixo:

Texto breve material
Ferram. instalação MCV/mód.choke p/anm Casa
Ferram. instalação MCV Rádio/mód.choke p/umbilical
Ferram. instalação Telefone MCV/mód.choke p/manifold
Ferram. instalação MCV/ Fone mód.choke p/tubo
Anel ved. MCV anu Bicicleta lar p/ANM

Algué poderia ajudar? Eu achei um pouco complexo mas acho bem possível de fazer... Muito Obrigado!

 
Postado : 03/09/2013 11:57 am
(@pedro)
Posts: 362
Reputable Member
 

Boa tarde!

Faltou um pequeno ajuste, tente assim amigo:

=EXT.TEXTO(D3;LOCALIZAR("Casa";D3;1);LOCALIZAR("Casa";D3;1)+4)
=EXT.TEXTO(D3;LOCALIZAR("Telefone";D3;1);LOCALIZAR("Telefone";D3;1)+8)
=EXT.TEXTO(D3;LOCALIZAR("Fone";D3;1);LOCALIZAR("Fone";D3;1)+4)
=EXT.TEXTO(D3;LOCALIZAR("Rádio";D3;1);LOCALIZAR("Rádio";D3;1)+5)
=EXT.TEXTO(D3;LOCALIZAR("Bicicleta";D3;1);LOCALIZAR("Bicicleta";D3;1)+9)

Sendo que o número que soma ao final é sempre igual ao número de letras da palavra de busca...

Qualquer coisa, avise!

 
Postado : 03/09/2013 2:09 pm
(@bguerra)
Posts: 50
Trusted Member
Topic starter
 

Oi Pedro! Muito Obrigado!

Na verdade a função =EXT.TEXTO(H2;LOCALIZAR("Casa";H2;1);4) extrai do texto a palavra "Casa", porém caso a função não encontre este valor gostaria que ela procurasse pela palavra "Telefone" =EXT.TEXTO(H2;LOCALIZAR("Telefone";H2;1);8) e assim por diante até não restarem mais critérios.

Gostaria de juntar isso tudo em uma função SE :) , é possível?

 
Postado : 03/09/2013 2:16 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Talvez com uma UDF; veja se a função/exemplo lhe auxilia

Public Function Achar(ByVal Rng As Range, rl As Range)
Application.Volatile
For Each cel In Rng
tp = VBA.InStr(1, rl, cel.Value)
    If tp > 0 Then
        Achar = cel.Value
        Exit Function
     End If
Next
End Function
 
Postado : 03/09/2013 7:45 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Veja minha solução via formula.

Att

 
Postado : 04/09/2013 5:07 am
(@bguerra)
Posts: 50
Trusted Member
Topic starter
 

Bom dia!!

Veja minha solução via formula.

Att

Obrigado! mais simples do que eu esperava.

 
Postado : 10/09/2013 10:47 am