Tenho uma coluna no Excel que mostra a data mas não no formato de data, está em formato de texto e os valores das datas que possuem um caractere para o mês ou dia não contêm zero antes delas.
Por exemplo, temos 2017/01/3 ou 2017/11/4, mas quero alterá-los para 2017/01/03 // 2017/11/04.
Como posso fazer isso de maneira simples, sem usar o formato de data? Aqui está o que eu tentei que é muito longo e complicado:
- dividir data em ano, mês e dias
- se duração do mês <2, adicione 0 antes do mês
- se duração do dia <2, adicione 0 antes do dia
- construiu nova data
Responder1
Todas as datas que você usa como exemplos são perfeitamente reconhecíveis pelo Excel como datas. Então, se você quiser datas "reais" que possam formatar como desejar e que o Excel possa usar diretamente em matemática:
1) Se você deseja que os dados originais permaneçam e tenha os dados de data formatáveis disponíveis, basta usar a fórmula =A1*1 (se sua data estiver na célula A1) onde quer que você queira fazer o trabalho (talvez várias colunas acima, ou em outra página... o que se adequar ao seu esquema). E formate como desejar ("aaaa/mm/dd" ou "aaaa/dd/mm" - seus exemplos não desambiguam qual, md ou dm, você tem).
[Eu poderia acrescentar que, embora não pareça do seu interesse para este problema, se você tiver datas de texto e simplesmente quiser usá-las em outras fórmulas, normalmente funcionaria simplesmente referenciá-las (como em ...A1 +7... para conseguir um encontro uma semana depois) em sua fórmula, talvez houvesse um caso estranho, até mesmo único, em que você faria isso e ainda assim falharia. Nesse caso, basta fazer esta multiplicação para que o exemplo acima seja ... A1*1+7...]
2) Se desejar substituir os dados originais por datas "reais", você pode reformatar o intervalo de datas de "texto" para um formato personalizado de "aaaa-mm-dd" e inserir "1" em uma célula em algum lugar, copie essa célula, selecione o intervalo de datas novamente e cole | especial | multiplique. Isso supera o fato de que quando você muda de texto para números, o Excel nunca recalcula essa ideia. Para uma única célula, pressionar F2 após a reformatação e Enter (imediatamente, sem fazer alterações) fará a mesma coisa sem ser pesado, mas se você tiver 14.293 dessas datas...
3) Você também pode obter o resultado 2) com o recurso "Texto para Colunas". Basta selecionar os dados e clicar em "Texto para colunas", escolher "Largura fixa" e colocar o marcador da linha de largura em "10" e, por fim, clicar em "Data" como formato de dados da coluna. Pressione “Concluir” e você terá uma coluna de datas reais pronta para aplicar o formato desejado.
Honestamente, para um uso único, 3) parece mais simples que 2) e acontece "no lugar" para não atrapalhar sua estrutura. Mas você não gostaria de fazer isso toda vez que alguém adiciona uma data, dia após dia, ao longo dos anos. Lembre-se de que o "uso único" pode ocorrer repetidamente: digamos que você esvazie seus dados e carregue um novo conjunto a cada semana. Então 3) não seria um peru. E sua abordagem seria mais fácil para fazer uma pequena macro gravada para usar a cada vez.
Bem, uma pequena resposta demorou um pouco, então...
Responder2
Como suas datas estão no formato TEXTO, gostaria de sugerir um método mais fácil para convertê-las em datas do Excel.
Faça o seguinte:
- Digite
0
uma célula e copie, ou você também pode copiar qualquer célula em branco. - Selecione Intervalo de datas.
- Clique com o botão direito& no menu pop-up, clique noColar especialentão doOperaçãoopções clique Adicionar& terminar com OK.
- Agora as datas serão parecidas com números, ou seja
43322
. - Como as datas já estão selecionadas, bastaClique com o botão direito& no menu cliqueFormatar célulacomando.
- Por fim, aplique
yyyy/mm/dd
o formato e finalize comOK.