Notifications
Clear all

Como pegar apenas o primeiro elemento de uma cédula?

5 Posts
2 Usuários
0 Reactions
1,012 Visualizações
 avk
(@avk)
Posts: 8
Active Member
Topic starter
 

Ex: Nas cédulas A de uma planilha estão a lista dos clientes:

Carlos Drummond de Andrade
Machado de Assis
etc..

Como faço para pegar apenas o primeiro elemento (primeiro nome) ou apenas o último (último nome) de uma determinada cédula?

Obrigado.

 
Postado : 25/03/2015 11:49 am
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Para pegar o primeiro nome:

=ESQUERDA(A1;LOCALIZAR(" ";A1;1)-1)

Para pegar o último nome:

=DIREITA(A1;NÚM.CARACT(A1)-PROCURAR("*";SUBSTITUIR(A1;" ";"*";NÚM.CARACT(A1)-NÚM.CARACT(SUBSTITUIR(A1;" ";"")))))

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 25/03/2015 12:02 pm
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Via fórmula matricial para o último nome ficaria (CRTL+SHIFT+ENTER):
=DIREITA(A1;NÚM.CARACT(A1)-MÁXIMO(SE(EXT.TEXTO(A1;LIN(INDIRETO("1:"&NÚM.CARACT(A1)));1)=" ";LIN(INDIRETO("1:"&NÚM.CARACT(A1)));"")))

A única vantagem da fórmula matricial é que não vai dar erro caso a célula com nome só tenha uma palavra. Nos dois primeiros casos seria necessário colocar uma condição a mais para o caso do nome estar só com uma palavra, ficando:

Primeiro nome:
=SE(ÉERROS(LOCALIZAR(" ";A1;1));A1;ESQUERDA(A1;LOCALIZAR(" ";A1;1)-1))

Último nome:
=SE(ÉERROS(LOCALIZAR(" ";A1;1));A1;DIREITA(A1;NÚM.CARACT(A1)-PROCURAR("*";SUBSTITUIR(A1;" ";"*";NÚM.CARACT(A1)-NÚM.CARACT(SUBSTITUIR(A1;" ";""))))))

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 25/03/2015 12:12 pm
 avk
(@avk)
Posts: 8
Active Member
Topic starter
 

Obrigado pela resposta,

mas testei a fórmula matricial e deu um erro. Aparece #Valor. Parece que é algum erro na condição do máximo.

Adicionalmente... pensei que houvesse alguma função do tipo elemento(cédula;numero). Porque em outra cédula eu precisaria buscar os elementos que estariam em formato de hora, assim: 8:30 10:30 12:40 17:20. Aí eu queria poder pegar essas horas também, ou seja: elemento 1, 2, 3 e/ou 4.

Obrigado!

 
Postado : 25/03/2015 1:25 pm
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Primeiramente, a fórmula matricial está funcionando, o que ocorre é que fórmulas matriciais devem ser inseridas com CRTL+SHIFT+ENTER conforme coloquei na resposta.

Outra coisa que está duro de ler é o termo cédula, pois cédula nós temos a de real, dolar, euro,.... mas se tratando de Excel, existe célula. rs

Por fim, a função que você descreveu não existe nativamente, mas é possível ser criada, ou seja, desenvolver sua própria UDF, mas isso requer conhecimentos mais sólidos em VBA.

Abraços!

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 25/03/2015 2:54 pm