Existem alguns passos para alcançar isso. Essa é uma maneira de fazer isso usando fórmulas e células auxiliares. Se você precisa fazer isso sem células auxiliares (ou seja, você não quer colunas extras), então você deve mencionar isso e eu provavelmente poderia trabalhar em algum VBA para fazer a tarefa.
A primeira tarefa é dividir sua data em três partes: o ano, o mês, o dia. Uma vez que você tenha os três, é fácil juntá-los novamente.
Isto, é claro, presumindo que suas datas sempre sigam o Formato de Data Americana Bastante Idiota © de MMM-dd-aaaa.
Isso foi feito usando a página da Microsoft Divida o texto entre as colunas usando as funções como um exemplo.
-
Dividindo o mês:
Isso é obtido usando a funçãosearchpara encontrar o primeiro-e a ferramenta de divisãoLeftpara desativá-lo.=LEFT(A1, SEARCH("-",A1,1)-1)que retorna
Maydo seu exemplo. -
Separando o dia:
É semelhante, mas é necessário um uso muito mais complicado da funçãoMID. Precisamos encontrar o primeiro e segundo-, em seguida, subtrair a localização do primeiro do segundo para obter o comprimento do texto necessário, pois esses resultados são uma função bastante longa:=MID(A1,SEARCH("-",A1,1)+1,SEARCH("-",A1,SEARCH("-",A1,1)+1)-SEARCH("-",A1,1)-1)o
SEARCH("-",A1,SEARCH("-",A1,1)+1)-SEARCH("-",A1,1)-1)retorna o comprimento enquanto oSEARCH("-",A1,1)+1está simplesmente obtendo o primeiro local. a ferramentaMIDos corta e retorna23do seu exemplo. -
Dividindo o ano:
A última ferramenta que precisamos é a ferramentaRIGHT.=RIGHT(A1,LEN(A1)-SEARCH("-",A1,SEARCH("-",A1,1)+1))Isso simplesmente obtém o comprimento da string e, em seguida, pesquisa duas vezes e retorna tudo o que resta (ou à direita).
O problema agora é que você ainda tem o mês em um formato de texto inutilizável. Para fazer é utilizável, precisamos usar a ferramenta DATEVALUE para convertê-lo. Essa ferramenta não aceitará um mês sozinha, mas aceitará uma string MMM YY . O que podemos fazer é então analisar o texto do mês em um número depois de concatenarmos um ano.
-
Obtendo o mês como um valor numérico:
Por uma questão de argumento digamos que armazenamos a primeira função na célula B1.
DATEVALUE(B1 &" 01")retornará a cadeia de valor de data que o excel usa internamente, então podemos agrupar isso em uma funçãoMONTHpara retornar o valor numérico para o mês:MONTH(DATEVALUE(B1 &" 01")) -
Podemos, então, mesclar todos eles em uma função
DATE(year,month,day)e, assim, convertê-los em uma data real que o Excel possa usar. O mês está na célula B1, o dia na célula C1 e o ano em D1 seguindo o Stupid American Date Format ™:DATE(D1, B1, C1)retornará
23/05/2014na célula. -
Se você quiser ficar realmente chique, pode ir em frente e combinar todas as fórmulas acima em uma só.
=DATE(RIGHT(A1,LEN(A1)-SEARCH("-",A1,SEARCH("-",A1,1)+1)),MONTH(DATEVALUE(LEFT(A1, SEARCH("-",A1,1)-1)&" 1")),MID(A1,SEARCH("-",A1,1)+1,SEARCH("-",A1,SEARCH("-",A1,1)+1)-SEARCH("-",A1,1)-1))