A explicação curta (somente a solução):
O modo mais “simples” que encontrei para corrigir um número grande de células sem me cansar de dar click, click e ENTER foi:
- Selecione todas as células com o problema em uma dada coluna
- CTRL+C
- Abra o Bloco de Notas
- CTRL+V
- Selecione tudo que você acabou de colar (o atalho para isso no Bloco de Notas geralmente é CTRL+A)
- CTRL+C
- Selecione a primeira célula com o problema na planilha
- CTRL+V
Se não aparecer agora no formato que você quer, certifique-se de que a formatação das células é mesmo a que você deseja, pois depois de mexer muito você pode ter alterado.
A explicação longa:
O cliente apresentou o problema da seguinte forma: ele tinha uma planilha com uma coluna preenchida com datas na forma:
01/01/2018
E queria mudar tudo para o formato:
01/01/18
Eu olhei a configuração de formatação das células e já estava do jeito que ele queria. Mudei para outra formatação e isso continuou sendo ignorado pelo programa. Mas digitando uma data na célula, ao dar ENTER ela era convertida para o formato desejado.
Desconfiei de que o que estava vendo ali apesar de parecer uma data não era uma. Perguntei à funcionária que criou a planilha como ela havia digitado aquilo e ela me disse que havia sido importado de uma aplicação web, do banco (acho que era o Santander).
Na mosca. Possivelmente os caracteres estão em Unicode ou algo assim. O problema se manifesta no Excel XP e 2007. No 2007 fica ainda mais evidente que se trata de um bug, porque se eu clicar numa célula com o problema, depois clicar no campo edição e der ENTER, o formato se corrige. O que quer dizer que em uma das operações (copiar da célula para o campo de edição ou colar do campo de edição para a célula) o Excel 2007 percebe o problema e demonstra que sabe lidar com ele.
Neste ponto leia a explicação curta.
O que isso faz é usar o Bloco de Notas para “filtrar” os caracteres invisíveis. Seria útil se o Excel tivesse essa função embutida, mas eu não achei.
[EDIT] Se quiser saber mais sobre o problema leia a explicação de Claudio a seguir. A causa parece não ter nada a ver com caracteres invisíveis (é mais bizarra ainda).
Jefferson, o problema pode nem ser os caracteres da entrada. Ocorre que o conteúdo de uma célula é armazenado de uma forma se for “texto puro” e de outra forma se for uma data ou número.
Um teste simples:
– Sete a formatação de uma coluna vazia para “texto”
– Entre algumas datas nessa coluna
– Mude a formatação da coluna para um formato de data
– Note que os dados na coluna não acompanham a formatação, seguem sendo tratados como texto
– Edite algumas das células e observe que agora passam a ser tratadas como data
Um campo de texto é armazenado como uma string internamente. Uma data é um número inteiro em “epoch format” (experimente mudar o formato da coluna para “número” para ver, e números tem representações diferentes dependendo de serem inteiros ou ponto flutuante.
O motivo da simples mudança não ter efeito na planilha do seu cliente é porque no momento da importação aquela coluna foi tratada como texto.
Se você estiver importando de um arquivo CSV e tiver paciência de não clicar “next, next next” no wizard, a última etapa do importador permite escolher o tipo de dado para cada coluna do arquivo de origem; se você não escolher, os dados são importados como texto (afinal, CSV não tem informação de tipo de dado).
Para a importação da web o procedimento deve ser similar, desde que seja usado o wizard, não um mero COPY+PASTE (se bem que mesmo o COPY+PASTE pode funcionar se você tiver o cuidado de setar o tipo das colunas antes de colar).
Sim, acontece como você descreveu.
Para mim isso é contra-intuitivo. Eu não uso planilhas e por isso posso não estar a par de algum conceito que torne esse comportamento intuitivo. Do ponto de vista de um usuário que executa um comando de formatação, eu espero que haja uma mudança visual imediata se existir uma diferença visual. Em outras palavras, eu espero que as células sejam atualizadas.
Existe algum comando de “refresh” que eu deveria dar para atualizar a visualização da tabela?
Refresh que re-interprete o conteúdo da coluna até onde eu saiba não (mas poderia ser implementado como uma macro). O problema aqui é a ambiguidade: se no momento em que os dados foram importados você disse que era texto (o default se não especificar), como decidir se 4/1/18 refere-se a 4/Jan/2018, a 1/Abr/2018, ou se é uma marcação de texto (código interno, sei lá) e não uma data?
Por isso é importante sempre definir os tipos de cada coluna no momento da importação, para não ter ambiguidade. nesse momento o wizard te deixa não apenas selecionar o tipo “data” como informar a máscara (dd/mm/yyyy, mm/dd/yyyy ou outras). É o caminho mais tranquilo, mas envolve treinar os usuários para ir devagar nessa etapa, e não simplesmente clicar “próximo, próximo, finalizar” :-)
Mas, dando o braço a torcer, bem que o wizard de importação poderia se comportar de forma diferente, e resolveria esse problema:
– Em vez de o tipo de dado default de uma coluna ser “texto”, usar como default algo como “unspecified”
– Ao importar dados, se o tipo da coluna é “unspecifiedf”, usar a mesma regra da entrada manual de texto na célula: se parece uma data, fazer o parsing usando o locale do sistema (dd/mm/yyyy ou mm/dd/yyyy); se parece um número ou moeda, tratar como tal …
Algo assim geraria menos frustração.
Mas isso nunca vai ser feito porque a MS não pode quebrar a compatibilidade do wizard de importação, porque isso afetaria usuários atuais :-(
Jefferson, você indicou a solução para um problema que eu tenho há anos. Obrigado
Jefferson, sou outra pessoa que me ajudou. Passei quase 2 dias batendo cabeça para não ficar no click e enter, clique e enter, clique e enter………
OBRIGADO!!!!!
Copiar tudo pro bloco de notas e depois copiar de novo para o excel funcionou! Muito obrigado, eu tava digitando um a um, rsrs
Valeu mesmo
Vc me salvou, negocio do bloco de notas funcionou, tinha 1500 linhas pra ficar fazendo click enter, tava ficando doido ja kkk
Boa tarde,
Solução simples e perfeita!!!
O mundo precisa de pessoas assim!!!
Meu muito obrigada pelo post Jefferson! Resolveu o problema, fantástico!
Meu caro amigo boa noite, sensacional sua dica muito boa, que O ETERNO nosso Deus te abençoe ricamente meu caro.
Breno Ribeiro
Espetacular… me poupou refazer o trabalho. Muito obrigado.
Obrigado! Você resolveu um grande problema meu com o Ctrl C Ctrl V. Eram mais de 5000 entradas de data e se eu tivesse que clicar uma a uma nunca ia conseguir terminar.
Eu tinha mais de 50.000 entradas para tratar e essa ajuda me salvou. Que DEUS te abençoe e ilumine seu caminho sempre amigo. Que o mundo tenha mais pessoas como você!
Jefferson, sou um usuário do Excel de conhecimento limitado. Mas fiz o seguinte: selecionei a coluna com as datas no formato dd/mm/aaaa; usando o comando substituir, troquei “/20” por “/” (eu teria substituído também, se houvesse datas do século XX, “/19” por “/”). O Excel, então, ou passou a exibir as datas no formato desejado (dd/mm/aa), ou passou a reconhecer o conteúdo de cada célula como uma data, e não como um texto. A partir disso, o Excel passou a aceitar a alteração dos formatos de data.
Vc me deu uma ideia que me ajudou a atualizar todos os dados.
Troquei o formato da coluna para data, selecionei a coluna, fui em localizar e substituir e substituí “/” por “/” (igual mesmo, só pra fazer uma atualização em massa) e deu certo.
Boa tarde, amigo. Estava com o mesmo problema hoje, necessitando copiar um detalhado de vendas com datas de uma planilha gerada pelo Banco, para uma planilha que criei onde seleciono os dados que me convém. Após ler sua solução e ver que deu certo, consegui chegar em outra solução mais simples!
-COPIAR a tabela que o Banco gerou
-COLAR no campo que criei e que falhava, MAS COMO TEXTO! Só precisa clicar no botão COLAR ESPECIAL e utilizar a opção TEXTO.
Obrigado pela dica e espero que ajude mais pessoas!
Caso não funcione ou não haja a opção faça o seguinte procedimento:
– selecione a COLUNA ou os valores dessa COLUNA que deseja arrumar;
– vá na Aba DADOS e selecione a opção TEXTO PARA COLUNA;
– ao abrir uma janelinha de opções, não precisa configurar nada, só clique em CONCLUIR!
-PRONTO! DADOS ATUALIZADOS!
Que Ótimo, é a forma mais pratica!!
Deu certo aqui comigo, excelente alternativa. Sofria com esse problema há anos e sai daqui com 3 alternativas que testei e solucionaram meu problema. Obrigaddo a você e ao Jefferson que trouxeram esse tema
Sua solução faz muito sentido, porque o que a minha faz é justamente isso: “colar como texto”. Mas quando você está pegando os dados na fonte, o seu procedimento é mais simples porque faz a conversão na hora.
Um processo mais simples, ao meu ver, é selecionar a coluna, ir em “Dados” e escolher a opção “Dados para coluna”. Clicar em Avança>Avança>Concluir.
A coluna já deverá estar formatada.
Jefferson, muito obrigado pela ajuda. Sua solução foi simples, eficaz e eficiente. Em outras palavras, perfeita! Me ajudou de forma imensurável.
Cara, essa solução me ajudou muito.
muito obrigado meu amigo Claudio! a dica do bloco de notas foi fantástica.
o excel realmente deveria ter um recurso de refresh para corrigir esse problema de importação.
Nossa, salvou minha vida essa dica.
Que mais gente seja salva, hehe
OU simplesmente selecione a coluna, formate com texto, depois ctrl+L localize o ano, exemplo : ” Se estiver 2019, substitua para 19″ e pronto ! Aqui funcionou ! Abraços !
Eu não creio que essa solução sirva para quem vai precisar fazer a parte do “substitua para 19” centenas de vezes.
nao funcionou nem com o bloco de notas
Jefferson, MUITO, MUITO OBRIGADO por repartir a sua SABEDORIA!!
Há muito, MUITO tempo eu estou no click, corrige e enter!
A sua solução é simples e fenomenal!
Gratíssimo!
Obg!! Salvou minha pele
Muitoooo obrigada!!! Estava até com dificuldade de pesquisar isso no Google, ainda bem que achei essa resposta! Tinha umas 300 linhas para dar “enter”. =DDD
Obrigado Jefferson! Em muitos anos trabalhando com excel, a única solução que me ajudou nesse problema foi a sua.
Obrigado por compartilhar!
Manooo super funcionou hahah valeu
Funcionou!!!!
Simples e eficiente
Valeeeeu
Gratidão pela sua vida!!!!!
Deus abençõe por ter compartilhado essa dica!!!
Me salvou. Uma colega pediu ajuda com esse erro e fiquei indignada que minhas tentativas de solução mais corriqueiras falharam. Achei sua publicação e pá! Solucionado!!!
Obrigada
Crie uma coluna limpa ao lado da coluna de data.
Insira a fórmula DATA.VALOR nesta nova coluna apontando para o conteudo das células com a informação de data não reconhecida.
Copie e cole a fórmula para as demais células da nova coluna e automaticamente ela será uma coluna convertida em data.
Esta matou a pau! 👋👍
De uma forma simples, vc não imagina como ajudou…
Top demais! Me ajudou muito também!
Você me salvou…. Muito obrigada
QUE D+!!!!!!!
Estava me mantando de clicar enter aqui rs..
Muito obrigado!!
Uau, funcionou pra mim. Muitíssimo obrigado!
Estava com esta dificuldade encontrei outra solução:
Se mesmo fazendo bloco de notas e copiando texto o erro persistir, dentro ver se existe algum espaço no primeiro caractere e substitui os espaço por nada.
Ele vira texto, aí converte em data, para mim deu certo
Muito bom!!! Estava a uma semana quebrando cabeça e pesquisando formas de resolver até chegar no seu post.
Valeu!
Obrigado.
Cara, valeu pela dica do bloco de notas pra formatar uma célula com data. Minha planilha tem 700 mil linhas. Me salvou. OBRIGADO.
Sensacional!! Dica para salvar a vida!! Gratidão.
Tu és o cara!!! Resolveu!!!
O meu só resolveu quando fiz colando no Word. Era um problema que venho tentando resolver a tempos. Obrigado!