Notifications
Clear all

Sugestões de fórmulas para o mesmo resultado.

6 Posts
3 Usuários
0 Reactions
1,534 Visualizações
vic7or
(@vic7or)
Posts: 94
Trusted Member
Topic starter
 

Prezados,

passei um bom tempo sem mexer no Excel e voltei recentemente... enfim.. um pouquinho enferrujado.

Me deparei com uma situação de simples resolução e conclui com uma fórmula que acabou por ficar muito grande.
Daí gostaria de saber com vocês se há uma outra forma de executar a mesma situação de forma mais "inteligente" ou simplificada.

Vamos ao exemplo e problema:

Tenho um protocolo que deveria ser no seguinte formato: Nº/ANO.
Mas acabam por inverter e em algum momento chega a ser um empecilho.

Neste formato, o "Nº" pode ter vários dígitos. E "ANO", por sua vez, sempre 4 dígitos.
Enfim...
123/2016
12345/2016
12121212/2016

O que acontece algumas vezes é de chegar como:
2016/123
2016/12345
12121212/2016

Julgando que estes valores estariam inseridos na Coluna A e Linha 1, fiz a seguinte fórmula que atende a minha necessidade:

=SE(E(VALOR(ESQUERDA(A1;PESQUISAR("/";A1)-1))>=1995;VALOR(ESQUERDA(A1;PESQUISAR("/";A1)-1))<=2016);CONCATENAR(VALOR(DIREITA(A1;NÚM.CARACT(A1)-PESQUISAR("/";A1;1)));"/";VALOR(ESQUERDA(A1;PESQUISAR("/";A1)-1)));CONCATENAR(VALOR(ESQUERDA(A1;PESQUISAR("/";A1)-1));"/";VALOR(DIREITA(A1;NÚM.CARACT(A1)-PESQUISAR("/";A1;1)))))

onde

VALOR(ESQUERDA(A1;PESQUISAR("/";A1)-1)

trás os caracteres - em formato de número - que estão antes da barra, e

VALOR(DIREITA(A1;NÚM.CARACT(A1)-PESQUISAR("/";A1;1))

trás os caracteres - em formato de número - depois da barra.

E eu faço um calculo que SE o valor antes da barra está entre 1995 e 2016 (menor ano possível e ano atual), organiza da forma desejada para ficar como Nº/ANO.

Sei que esta formula não é perfeita pois existe a falha de que, se um dia aparecer um Nº entre 1995 e 2016, dará conflito. Mas aí eu me viro com isso depois.
Gostaria de saber se há um jeito mais simples de executar essa funcionalidade........

Alguém tem uma dica? Agradeço o/

Em anexo vai o exemplo que fiz.

 
Postado : 24/11/2016 12:09 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

uma dúvida:

1999/2005

Qual o ano ?

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 24/11/2016 12:16 pm
vic7or
(@vic7or)
Posts: 94
Trusted Member
Topic starter
 

É exatamente como falei acima... é o conflito que eu vou ter de arcar.
Não tenho como evitar isso. Na teoria, deveria ser o que está depois da barra.
Mas se a pessoa que faz o cadastro inverter, vou ter que bater o olho manualmente quando chegar em situações parecidas.

 
Postado : 24/11/2016 12:18 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

eu fiz essa ficou um pouco menor:

=SE(NÚM.CARACT(B2)-PROCURAR("/";B2)=4;B2;SUBSTITUIR(B2;ESQUERDA(B2;4)&"/";"")&"/"&ESQUERDA(B2;4))

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 24/11/2016 12:37 pm
vic7or
(@vic7or)
Posts: 94
Trusted Member
Topic starter
 

Fernando, obrigado pela resposta e tempo investido nessa formula. E modéstia em dizer que ela é um pouco menor hehe

Porém ela, infelizmente, dá conflito quando há Nº de 4 dígitos. Mas somente se o ANO vier antes do .

Eu deveria ter colocado mais números para exemplificar e evitar que você passasse por isso. Segue em anexo o modelo V2. Peço desculpas.

Mas vou dar uma olhada em sua formula com calma e ver se consigo incrementar a condição dos valores entre 1995 e 2016 para sempre serem interpretados como ANO.

 
Postado : 24/11/2016 1:12 pm
DJunqueira
(@djunqueira)
Posts: 772
Prominent Member
 

Duas soluções propostas.
Uma menor e outra com menor número de etapas p/ solução da maioria dos casos.

Se sua dúvida foi respondida marque o tópico como RESOLVIDO usando o botão com marca verde.

 
Postado : 24/11/2016 10:29 pm