Conversão de data em número serial no Excel

Converta qualquer data em um número de série no Excel com um método que alcança datas anteriores ao ano de 1900. Baixe a planilha para mais detalhes.

Assista ao vídeo para entender a lógica usada para a conversão.

Como o Excel armazena datas

O Excel guarda datas na memória na forma de números seriais. O número 36891, por exemplo, representa a data 31-12-2000. Para o Excel 01-01-1900 é a data 1. Essa forma de tratar datas como números seriais permite fazer cálculos com datas facilmente. Um exemplo: basta tirar a diferença entre dois números seriais para saber quantos dias transcorreram entre as duas datas correspondentes.

Para fazer a conversão de um número serial em data e vice-versa é preciso conhecer as regras do calendário gregoriano. Primeiramente temos que considerar o número de dias de cada mês.

Jan 31
Fev 28/29
Mar 31
Abr 30
Mai 31
Jun 30
Jul 31
Ago 31
Set 30
Out 31
Nov 30
Dez 31

O segundo problema é determinar quando ocorrem os anos bissextos, aqueles em que temos o dia 29 de fevereiro. São bissextos os anos múltiplos de 4 como 2012 e 2016. Fogem à regra os anos que também são múltiplos de 100 e não são múltiplos de 400. Exemplos: 1900 e 2100.

Conversão de data em serial

Método estendido

Adotamos um método de conversão que gera números seriais iguais ao do Excel na maioria dos casos. Só ocorre uma diferenciação em datas anteriores a 01-03-1900.  Isso ocorre por dois motivos: o Excel não trabalha com seriais negativos para datas e tem uma inconsistência ao tratar o ano de 1900 como bissexto.

Pelo método que propomos em datas anteriores a 01-03-1900 o número serial não bate com o Excel, mas tem a vantagem de desconsiderar 29-02-1900 que é aceito pelo Excel. Além disso, dá resultado para datas anteriores a 01-01-1900. O método pode ser usado até 15-10-1582, quando foi inaugurado o calendário gregoriano. Para datas mais antigas é preciso usar um método que considere as regras do calendário Juliano que é o calendário da Antiguidade.

Data Serial Excel Serial estendido
15-10-1582 -115859
29-12-1899 -2
30-12-1899 -1
31-12-1899 1
01/01/1900 1 2
02/01/1900 2 3
03/01/1900 3 4
04/01/1900 4 5
05/01/1900 5 6
06/01/1900 6 7
07/01/1900 7 8
08/01/1900 8 9
09/01/1900 9 10
10/01/1900 10 11
11/01/1900 11 12
12/01/1900 12 13
13/01/1900 13 14
14/01/1900 14 15
15/01/1900 15 16
16/01/1900 16 17
17/01/1900 17 18
18/01/1900 18 19
19/01/1900 19 20
20/01/1900 20 21
21/01/1900 21 22
22/01/1900 22 23
23/01/1900 23 24
24/01/1900 24 25
25/01/1900 25 26
26/01/1900 26 27
27/01/1900 27 28
28/01/1900 28 29
29/01/1900 29 30
30/01/1900 30 31
31/01/1900 31 32
01/02/1900 32 33
02/02/1900 33 34
03/02/1900 34 35
04/02/1900 35 36
05/02/1900 36 37
06/02/1900 37 38
07/02/1900 38 39
08/02/1900 39 40
09/02/1900 40 41
10/02/1900 41 42
11/02/1900 42 43
12/02/1900 43 44
13/02/1900 44 45
14/02/1900 45 46
15/02/1900 46 47
16/02/1900 47 48
17/02/1900 48 49
18/02/1900 49 50
19/02/1900 50 51
20/02/1900 51 52
21/02/1900 52 53
22/02/1900 53 54
23/02/1900 54 55
24/02/1900 55 56
25/02/1900 56 57
26/02/1900 57 58
27/02/1900 58 59
28/02/1900 59 60
01/03/1900 61 61
02/03/1900 62 62
03/03/1900 63 63
31/12/2000 36891 36891
31/12/9999 2958465 2958465

Autor: Radamés

Engenheiro curitibano pela UFPR, professor e produtor de conteúdos e ferramentas educacionais para a Internet.

Um comentário em “Conversão de data em número serial no Excel”

  1. Boa tarde!
    Por favor, é possível fazer também a conversão do serial em data?
    Fazia tempo que procurava entender sobre esse assunto.
    Muito obrigada pela aula.

Sua opinião me interessa