Com Texto em A1 , em B1 digite:
=DATE(RIGHT(A1,4),LEFT(A1,FIND("/",A1)-1),TRIM(MID(SUBSTITUTE($A1,"/",REPT(" ",999)),2*999-998,999)))
e aplique o formato adequado:
Eu desejo converter a string de texto, (importada para o excel como um campo formatado 'Geral') em formato de data exibindo-a como; dd / mm / aaaa, no entanto todas as tentativas falharam até agora, incl. a opção text to columns, reformatando-a como um campo de data usando English (UK) como Locale.
Eu também tentei analisar o texto usando uma fórmula baseada nas funções: DATE, LEFT, MID e RIGHT; sem sucesso. O problema parece ser a inclusão do / na cadeia de texto e o fato de eu querer trocar o formato de dd / mm / aaaa para dd / mm / aaaa. Alguém aí experimentou esse problema?
Acabei de confirmar o palpite de Dave no meu próprio computador, que as configurações do relógio da máquina não afetam apenas o Excel, limitam <<> a capacidade do Excel de entender datas diferentes do formato do relógio do computador.
Pessoalmente, configurei meu relógio do Windows para exibir dd-mm-yy, embora esteja nos EUA. Então, quando eu digito "31/12/2017", o Excel não pode entender que essa é uma data, não importa o que eu tente. Alterar o formato numérico para Data abreviada, Data longa ou Número não faz diferença, ainda é uma string. Sujeitando-o a funções como DATEVALUE (), VALUE () ou TEXT ("31/12/2017", "dd / mm / aaaa") retorna um valor de erro #VALUE! erro.
Mas para não deixá-lo sem nada, eu juntei uma fórmula não tão bonita, mas funcional, para aplicar às suas células:
onde
A1 ="12/31/2017"
A2 =LEFT(A1,FIND("/",A1)-1) [month]
A3 =MID(A1,FIND("/",A1)+1,(FIND("/",A1,FIND("/",A1)+1))-(FIND("/",A1)+1)) [day]
A4 =RIGHT(A1,4) [year]
você iria concatenar como
=CONCATENATE(A3,"/",A2,"/",A4)
para uma fórmula total geral de
=CONCATENATE(MID(A1,FIND("/",A1)+1,(FIND("/",A1,FIND("/",A1)+1))-(FIND("/",A1)+1)),"/",LEFT(A1,FIND("/",A1)-1),"/",RIGHT(A1,4))