Notifications
Clear all

Formatar a data no formato DD-MM-AAAA

25 Posts
6 Usuários
0 Reactions
3,694 Visualizações
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Colegas boa tarde,

Pesquisei no fórum mas não encontrei nada que poderia me ajudar.
Tenho algumas planilhas onde a data vem como texto desta forma
Data 1
29-Jan-16
28-Jan-16
5-fev-16
21-fev-16
10-mai-16
1-ago-16
8-set-16
7-out-16
2-dez-16

Preciso que as datas acima fique no formato DD-MM-AAAA.
Tentei usar a formula =TEXTO(A1;"DD-MM-AAAA") mas não funcionou.
Será que existe alguma fórmula ou macro que resolva isso?

Antecipadamente agradeço.

 
Postado : 14/12/2015 10:02 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Colegas boa tarde,

Tentei resolver o meu problema utilizando as dicas de todos colegas mas não deu certo.
Tentei resolver parcialmente criando uma macro com o gravador de macro.
Mas não sei por qual motivo para converter alguns meses a macro não funciona (Ex jan, mar, jun, jul, nov)

Por gentileza poderiam analizar onde esta errado?

Antecipadamente agradeço.

Abraços

Fabiosp

 
Postado : 17/12/2015 9:57 am
(@carlosrgs)
Posts: 0
New Member
 

Cara aqui o exemplo que você deu inicialmente também rodou.

Segue minha contribuição, bem complicada, mas segue.

 
Postado : 17/12/2015 1:50 pm
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa noite,
Obrigado por sua ajuda.
Vou testar lá no trabalho e depois aviso se deu certo.
Aqui em casa funcionou pois meu sistema operacional e baseado no idioma português.
No meu trabalho o sistema operacional é baseado no idioma inglês acho que isso que é o problema.
Esse negócio de data parece simples mais é muito complexo.

Abraços

Fabiosp

 
Postado : 17/12/2015 5:39 pm
(@carlosrgs)
Posts: 0
New Member
 

Boa tarde Fabio.

Substitui a fórmula, conforme o exemplo anexado.

 
Postado : 18/12/2015 11:25 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa tarde carlos,
Obrigado pela ajuda.
Agora funcionou perfeitamente!
Só uma dúvida.
Se quiser trocar a ordem do formato é só alterar os locais onde está o formato "dd-mm-aaaa"

=SE(SOMA(A2)>0;TEXTO(A2;"dd-mm-aaaa");TEXTO(VALOR(CONCATENAR(DIREITA(A2;NÚM.CARACT(A2)-PROCURAR("-";A2;PROCURAR("-";A2;1)+1));"/";TEXTO(CORRESP(EXT.TEXTO(A2;PROCURAR("-";A2;1)+1;(PROCURAR("-";A2;PROCURAR("-";A2;1)+1)-1)-PROCURAR("-";A2;1));$K$3:$K$14;0);"00");"/";TEXTO(ESQUERDA(A2;PROCURAR("-";A2;1)-1);"00")));"dd-mm-aaaa"))

Abraços

Fabiosp

 
Postado : 18/12/2015 11:50 am
(@carlosrgs)
Posts: 0
New Member
 

Boa tarde Fabio, eu acredito que mude. Não posso confirmar por causa dos conflitos entre os padrões de datas.

Eu vi no fórum todo mundo colocando as fórmula ÉVALOR ou ÉTEXTO eu particularmente não manjo dessas duas, então compliquei para ficar fácil no meu entender.

Explicando a fórmula para futuras consultas.

SE(SOMA(A4)>0;TEXTO(A4;"dd-mm-aaaa");TEXTO(VALOR(CONCATENAR(DIREITA(A4;NÚM.CARACT(A4)-PROCURAR("-";A4;PROCURAR("-";A4;1)+1));"/";TEXTO(CORRESP(EXT.TEXTO(A4;PROCURAR("-";A4;1)+1;(PROCURAR("-";A4;PROCURAR("-";A4;1)+1)-1)-PROCURAR("-";A4;1));$K$3:$K$14;0);"00");"/";TEXTO(ESQUERDA(A4;PROCURAR("-";A4;1)-1);"00")));"dd-mm-aaaa"))

1º Se:
SE(SOMA(A4)>0;TEXTO(A4;"dd-mm-aaaa") - Quando a célula estiver como data, o excel vê como número, logo a soma será maior que zero ai é fácil, só formatar como queremos.

2º Se: o complexo +/-
TEXTO(VALOR(CONCATENAR(DIREITA(A4;NÚM.CARACT(A4)-PROCURAR("-";A4;PROCURAR("-";A4;1)+1));"/";TEXTO(CORRESP(EXT.TEXTO(A4;PROCURAR("-";A4;1)+1;(PROCURAR("-";A4;PROCURAR("-";A4;1)+1)-1)-PROCURAR("-";A4;1));$K$3:$K$14;0);"00");"/";TEXTO(ESQUERDA(A4;PROCURAR("-";A4;1)-1);"00")));"dd-mm-aaaa")

Vamos eliminar primeiro a fórmula TEXTO fica:
VALOR(CONCATENAR(DIREITA(A4;NÚM.CARACT(A4)-PROCURAR("-";A4;PROCURAR("-";A4;1)+1));"/";TEXTO(CORRESP(EXT.TEXTO(A4;PROCURAR("-";A4;1)+1;(PROCURAR("-";A4;PROCURAR("-";A4;1)+1)-1)-PROCURAR("-";A4;1));$K$3:$K$14;0);"00");"/";TEXTO(ESQUERDA(A4;PROCURAR("-";A4;1)-1);"00")))

Eliminando a fórmula VALOR fica:
CONCATENAR(DIREITA(A4;NÚM.CARACT(A4)-PROCURAR("-";A4;PROCURAR("-";A4;1)+1));"/";TEXTO(CORRESP(EXT.TEXTO(A4;PROCURAR("-";A4;1)+1;(PROCURAR("-";A4;PROCURAR("-";A4;1)+1)-1)-PROCURAR("-";A4;1));$K$3:$K$14;0);"00");"/";TEXTO(ESQUERDA(A4;PROCURAR("-";A4;1)-1);"00"))

Observe que o concatenar é dividido em três partes que são separados por "/"

A célula base contem o carácter - (traço)
Primeiro dado do concatenar:
DIREITA(A4;NÚM.CARACT(A4)-PROCURAR("-";A4;PROCURAR("-";A4;1)+1))
Pega os dados a direita do segundo traço

Segundo dado do concatenar:
TEXTO(CORRESP(EXT.TEXTO(A4;PROCURAR("-";A4;1)+1;(PROCURAR("-";A4;PROCURAR("-";A4;1)+1)-1)-PROCURAR("-";A4;1));$K$3:$K$14;0);"00")
Ele pega os dados que estão entre os traços (-jan-) e verifica a linha do mês com a fórmula CORRESP.

Terceiro dado do concatenar:
TEXTO(ESQUERDA(A4;PROCURAR("-";A4;1)-1);"00")
Pega os dados a esquerda do primeiro traço

 
Postado : 18/12/2015 12:14 pm
(@carlosrgs)
Posts: 0
New Member
 

Bom dia Fabio.

Segue planilha com nova condição.

 
Postado : 21/12/2015 5:10 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa tarde carlos,
Testei e agora funciona para qualquer tipo de mês que estiver abreviado.
Notei que você incluiu uma coluna adicional para os meses (Intervalo $L$3:$L$14;0).

=SE(SOMA(A2)>0;TEXTO(A2;"dd-mm-aaaa");TEXTO(VALOR(CONCATENAR(DIREITA(A2;NÚM.CARACT(A2)-PROCURAR("-";A2;PROCURAR("-";A2;1)+1));"/";TEXTO(SE(ÉERROS(CORRESP(EXT.TEXTO(A2;PROCURAR("-";A2;1)+1;(PROCURAR("-";A2;PROCURAR("-";A2;1)+1)-1)-PROCURAR("-";A2;1));$K$3:$K$14;0));CORRESP(EXT.TEXTO(A2;PROCURAR("-";A2;1)+1;(PROCURAR("-";A2;PROCURAR("-";A2;1)+1)-1)-PROCURAR("-";A2;1));$L$3:$L$14;0);CORRESP(EXT.TEXTO(A2;PROCURAR("-";A2;1)+1;(PROCURAR("-";A2;PROCURAR("-";A2;1)+1)-1)-PROCURAR("-";A2;1));$K$3:$K$14;0));"00");"/";TEXTO(ESQUERDA(A2;PROCURAR("-";A2;1)-1);"00")));"dd-mm-aaaa"))

Ficou show de bola!!!
Muito obrigado por sua ajuda foi de grande valia.

Abraços.

 
Postado : 21/12/2015 9:18 am
(@carlosrgs)
Posts: 0
New Member
 

Isso ae.

A Função ÉERROS

Pelo que já vi aqui existem varias maneiras de trabalhar com ela.

Se é erro o primeiro corresp, ele tenta o segundo!

 
Postado : 21/12/2015 10:05 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa tarde Carlos,
Muito obrigado!
Valeu por sua ajuda ficou show de bola!!

Abraços.

Fabio Santos

 
Postado : 23/12/2015 10:43 am
Página 2 / 2