Formatos de data / hora de análise no Excel

3

Eu tenho um grande banco de dados que copio e colo de um site em um documento do Excel 2007. Uma coluna em particular sempre me causa problemas. A coluna é formatada como dd mmm hhmm para o dia, mês e 24 horas:

18 NOV 2300

O problema é que o Excel interpreta isso como dd mmm aaaa se o número de quatro dígitos for 1900 ou maior, então o acima é considerado como sendo o 18 de novembro no ano 2300, em vez de 23:00 no dia 11 de novembro do ano em curso. Em seguida, formata esse valor como dd-mmm-aa (dia, mês e ano de dois dígitos) para exibição. Eu posso entrar e alterá-los, mas sempre lê o tempo como um ano em que ele é 1900 ou mais e autoformatação apropriada. Você pode alterar o formato do bloco para texto e tentar copiar e colar, mas o Excel ainda formatará automaticamente a data e a hora em que você copia e cola o banco de dados no Excel. Você pode testar isso simplesmente copiando e colando qualquer coisa nesse formato com um tempo maior que 1900. 10 de fevereiro de 2030, por exemplo. Eu preciso que o Excel pare de formatar automaticamente dessa maneira.

Eu realmente não preciso de 18 NOV 2300 para ser traduzido como 11:00 PM em 11 de novembro do ano atual; Eu só preciso que ele seja exibido como 18 NOV 2300 .

    
por HBF 18.11.2013 / 15:29

3 respostas

2

Você está disposto a usar uma "coluna auxiliar"? Se você estiver colando os dados "dd mmm hhmm" na coluna P (suponha que comece em P2 e vá para baixo), coloque

=TEXT(P2,"dd mmm yyyy")

na célula Q2 e arraste / preencha. Isso basicamente inverte a interpretação que o Excel fez na string de entrada, reconstituindo o que foi analisado como o dia, mês e ano. Strings que não foram interpretadas como datas (porque o número de quatro dígitos é menor que 1900) são simplesmente passados inalterados.

Isso fará com que as células em branco na Coluna P sejam traduzidas em 00 Jan 1900 . Se você não gosta disso, use

=IF(P2<>"", TEXT(P2,"dd mmm yyyy"), "")

em vez disso.

Isso representará meses com o capital inicial típico (Mmm, por exemplo, "Nov"). Se você quiser tudo em maiúsculas, use

=IF(P2<>"", UPPER(TEXT(P2,"dd mmm yyyy")), "")
    
por 18.11.2013 / 20:40
0

Você não pode copiar / colar diretamente no Excel. Isso permite que o Excel formate o resultado como achar melhor. Em vez disso, cole em algo como NotePad e salve o resultado como um arquivo de texto. Você pode usar o Assistente de Importação do Excel para ler o arquivo de texto. Você pode dizer ao Assistente exatamente como o campo deve ser interpretado.

    
por 18.11.2013 / 15:42
0

Você deve conseguir substituir o Excel tentando ser "inteligente" com as datas, colando apenas os valores e sem informações de formatação. Ou, se isso não funcionar, cole usando a formatação original.

    
por 18.11.2013 / 17:42