Cálculos com data no Excel

Nesta postagem apresentamos algumas soluções alternativas para tratar com datas no Excel. Baixe a planilha gratuita para usuários cadastrados.

Planilha protegida sem senha. Funciona na maioria dos programas de planilhas. Use-a protegida para evitar apagamento acidental de fórmulas e dados. O cadastro gratuito é no site Saber sem filtro.

Identificar o dia da semana de uma data

Veja como identificar o dia da semana associado a uma data no Excel usando um caminho alternativo que dispensa a função DIA .DA.SEMANA. Para entender melhor baixe a planilha:

Usando uma data de referência

Para associar uma data ao seu dia respectivo dia da semana precisamos de uma referência. Vamos adotar 04-03-1900 que é o primeiro domingo em que o Excel faz a associação correta entre data e dia da semana.

A sequência de cálculo é a seguinte:

  1. Tire a diferença entre a data procurada e a data de referência (04-03-1900). O resultado é o número de dias transcorridos no intervalo.
  2. Use a função MOD que retorna o resto de uma divisão. Os argumentos são o número de dias do intervalo e a divisão é por sete. Isso nos fornece o número de dias avulsos que sobram além das semanas completas do intervalo.
  3. Some os dias avulsos com 1 que corresponde ao domingo da data de referência.
  4. Use uma função PROCV para associar o dia de semana em forma numérica com o nome do dia da semana.

Você pode resolver tudo em uma única fórmula como esta:

=PROCV(MOD(B3-B6;7)+B7;E4:F10;2;0)

Cálculo de dia da semana no Excel

Evite janeiro e fevereiro de 1900

O Excel considera erroneamente 1900 como ano bissexto. Em função disso, os dias da semana de janeiro e fevereiro de 1900 não são consistentes no Excel. Usando a função DIA.DA.SEMANA ou tirando a diferença entre datas desse período ocorrem erros, pois para o Excel 29-02-1900 é uma data válida.

Conversão de datas para número serial

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.

Jan31
Fev28/29
Mar31
Abr30
Mai31
Jun30
Jul31
Ago31
Set30
Out31
Nov30
Dez31

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.

DataSerial ExcelSerial estendido
15-10-1582-115859
29-12-1899-2
30-12-1899-1
31-12-18991
01/01/190012
02/01/190023
03/01/190034
04/01/190045
05/01/190056
06/01/190067
07/01/190078
08/01/190089
09/01/1900910
10/01/19001011
11/01/19001112
12/01/19001213
13/01/19001314
14/01/19001415
15/01/19001516
16/01/19001617
17/01/19001718
18/01/19001819
19/01/19001920
20/01/19002021
21/01/19002122
22/01/19002223
23/01/19002324
24/01/19002425
25/01/19002526
26/01/19002627
27/01/19002728
28/01/19002829
29/01/19002930
30/01/19003031
31/01/19003132
01/02/19003233
02/02/19003334
03/02/19003435
04/02/19003536
05/02/19003637
06/02/19003738
07/02/19003839
08/02/19003940
09/02/19004041
10/02/19004142
11/02/19004243
12/02/19004344
13/02/19004445
14/02/19004546
15/02/19004647
16/02/19004748
17/02/19004849
18/02/19004950
19/02/19005051
20/02/19005152
21/02/19005253
22/02/19005354
23/02/19005455
24/02/19005556
25/02/19005657
26/02/19005758
27/02/19005859
28/02/19005960
01/03/19006161
02/03/19006262
03/03/19006363
31/12/20003689136891
31/12/999929584652958465

Identificar o século de um ano

Uma maneira simples de definir o século de um ano é pensar no ano imediatamente superior múltiplo de 100 e retirar os dois zeros finais. Exemplo: 1789. O múltiplo de 100 imediatamente acima é 1800, logo 1789 pertence ao século 18 (XVIII) Para resolver o problema no Excel a regra é simples:

  1. Divida o ano por 100.
  2. Se a divisão der exata o resultado da divisão é o século procurado. Exemplo: 1600 dividido por 100 resulta exatamente em 16, logo 1600 pertence ao século XVI.
  3. Se a divisão tiver resto considere apenas a parte inteira e adicione 1. Exemplo: 1985 dividido por 100 resulta em 19 inteiros e 85 de resto. Logo o século é 19 + 1 = 20. Século XX.

A determinação do século a partir do ano pode ser resolvida no Excel com uma única fórmula:

=ROMANO(SE(MOD(C4;100)=0;C4/100;INT(C4/100) +1);0)&” “&D4

onde C4 é a célula que contém o ano pesquisado e D4 informa se a data é a.C. ou d.C.

A fórmula utiliza as funções:

  • MOD: fornece o resto de uma divisão.
  • INT: fornece a parte inteira de um número decimal.
  • ROMANO: converte um número em notação arábica para romana.
Cálculo com séculos no Excel

Assista no YouTube:

Como identificar anos bissextos no Excel

As regras que usamos hoje em dia para definir os anos bissextos, aqueles com 366 dias, foram adotadas em 1582, ano em que entrou em vigor o novo calendário ocidental a mando do papa Gregório XIII. No calendário anterior (Juliano) os anos bissextos já existiam, mas o modelo usado na Antiguidade não assegurava sincronia perfeita entre os dias do ano e o movimento da terra ao redor do sol. O calendário gregoriano utiliza duas regras para os anos bissextos:

  1. São bissextos os anos múltiplos de 4 como 2012, 2016 e 2020.
  2. São exceção à primeira regra anos que também sejam múltiplos de 100, mas não sejam múltiplos de 400.

Na prática, a maioria dos anos terminados em 00 não são bissextos, embora sejam múltiplos de 4. Somente a cada 400 anos é que o ano que finaliza o século é bissexto. Veja a imagem:

anos bissextos com final 00

Calculadora de anos bissextos

Na planilha disponível para download você encontra a calculadora de anos bissextos e entende como é realizado o cálculo.

calculadora de anos bissextos

Para uma consulta rápida segue uma lista de anos bissextos recentes:

  • 1980
  • 1984
  • 1988
  • 1992
  • 1996
  • 2000
  • 2004
  • 2008
  • 2012
  • 2016
  • 2020
  • 2024
  • 2028
  • 2032
  • 2034
  • 2036
  • 2040
  • 2044
  • 2048
  • 2052

Fica a dica: as olimpíadas acontecem em anos bissextos.

Autor: Radamés

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

Um comentário em “Cálculos com data 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