Neste artigo você aprenderá como calcular o ano bissexto no Excel e identificar isto em uma fórmula.
Conceito de ano bissexto
Ano bissexto é aquele que possui 366 dias, apresentando Fevereiro 29 dias. O que imaginamos é que a cada 4 anos temos 1 ano bissexto, ou seja: anos que são múltiplos de 4 são todos bissextos. Porém, não é bem assim. Anos que são múltiplos de 100 nem sempre são bissextos. Eles só serão bissextos se foram múltiplos de 400. Isso implica dizer que o ano 2000 foi bissexto e que 2100, 2200 e 2300 não serão bissextos. Neste caso, o próximo ano múltiplo de 100 que será bissexto será 2400.
É perfeitamente possível empregarmos o Excel para verificar se um certo ano é bissexto. Para isto, podemos ter várias estratégias. Uma delas é verificar se a data 29 de fevereiro realmente existiu para aquele ano. Outra estratégia é contar quantos dias o ano possui, a fim de verificar se esta contagem é 366 dias. Podemos ainda usar a divisibilidade conhecida e verificar se o ano é múltiplo de 4 e também de 400, caso seja também múltiplo de 100.
Este artigo objetiva fazer estes levantamentos testando várias fórmulas diferentes para o mesmo fim.
Verificando se o ano é bissexto no Excel
2.1. Testando se 29 de fevereiro está presente no ano
Alternativa 1
A primeira abordagem é verificar se o dia da data montada com o dia 29 e o mês 2 (Fevereiro) do ano respectivo resulta em 29. Quando tentamos montar uma data com a função DATA e o dia 29 não existe para o mês de Fevereiro do ano em questão, a data montada resulta em 01 de Março (dia seguinte) e a função DIA retornará 01.
A fórmula =DATA(1993;02;29), por exemplo, retorna 01/03/1993 porque não houve o dia 29 de Fevereiro em 1993. Com a função DIA extraímos o dia desta data, que resulta em 1, indicando que o ano não é bissexto. A imagem a seguir ilustra a aplicação desta fórmula com resultados para alguns anos testados.
Poderíamos também recorrer à função TEXTO para formatar a data montada com a função DATA, usando o código de formatação “dd/mm”. Caso o resultado seja “29/02” teremos um ano bissexto. A fórmula que representa este teste é =SE(TEXTO(DATA(B3;2;29);”dd/mm”)=”29/02″;”Sim”;”Não”).
Alternativa 2
Outra abordagem é verificar se o último dia do mês referente ao primeiro dia de Fevereiro do ano em questão é o dia 29. Usamos a função FIMMÊS para obter a última data de um mês com base em uma data de referência. Da mesma forma que fizemos na Alternativa 1, extraímos o dia desta data com a função DIA. Caso este dia seja 29, teremos um ano bissexto, conforme mostra a imagem a seguir.
Alternativa 3
Podemos concatenar o termo 29/02/ com um determinado ano para obter um texto que possa simular o dia 29 de Fevereiro deste ano. Caso este texto não possa representar uma data válida, teremos o erro #VALOR! ao tentar converter este texto em data com a função DATA.VALOR.
Como exposto, caso haja erro, não teremos um ano não bissexto porque a data é inválida. Caso tenhamos uma data válida, teremos um ano bissexto. Como a data é, antes de tudo um número, poderemos também empregar a fórmula =SE(ÉNÚM(DATA.VALOR(“29/02/”&B3));”Sim”;”Não”).
2.2. Verificando se o ano em questão possui 366 dias
Alternativa 1
Podemos contar os dias de um certo ano fazendo a comparação entre o último e primeiro dias do ano em questão. Na fórmula, adicionamos 1 para compensar, visto que na subtração o dia 01 de Janeiro não seria considerado. A imagem a seguir mostra esta tratativa. Note que as datas estão sendo montadas concatenando as suas partes. Elas se tornam datas válidas (e não texto) porque temos operação matemática sendo realizada com elas (soma e subtração).
Alternativa 2
Uma outra alternativa é usarmos DATADIF para contar quantos dias temos entre a primeira e última datas do ano em questão. Seu primeiro argumento, a data inicial, é formada pelo termo “1/1/” concatenado com o ano em questão. Isto resulta em texto mas se torna data válida simplesmente somando zero (poderíamos usar também DATA.VALOR). A data final é formada pelo termo “31/12/” concatenado com o ano em questão. Somamos 1 para compensar o dia faltante nesta diferença. Esta soma também converte o texto em data válida. O terceiro argumento da função DATADIF é “d”, indicando que desejamos a diferença em dias. A imagem a seguir ilustra a aplicação.
2.3. Avaliar se o ano é múltiplo de 4 (e de 400, caso seja múltiplo de 100)
Podemos fazer testes diferentes sem considerar datas, como realizados anteriormente. Vamos nos basear apenas no ano que desejamos testar, uma vez que conhecemos as regras matemáticas que expressam anos bissextos. Podemos inicialmente usar a definição de que múltiplos de 400 são bissextos. Fazemos isso com a função MOD, onde o divisor (seu segundo argumento) é 400 e, havendo resto 0, teremos um ano que é múltiplo de 400, e, portanto, bissexto. Além desta possibilidade temos também a ocasião de anos serem bissextos ao serem múltiplos de 4 caso também não sejam múltiplos de 100. Esta ocasião é testada na função E. Empregamos a função MOD para testar o resto da divisão do ano por 4 (quando múltiplo, o resto será 0). Usamos uma outra função MOD para testar se o ano não é múltiplo de 100 (quando o resto da divisão não for 0).
A imagem a seguir mostra a aplicação e os resultados.
3. A discussão sobre o ano de 1900
O ano 1900 não foi bissexto. Porém, o Excel pressupõe que o ano de 1900 foi bissexto. Isso deveu-se ao contexto da concepção do Excel. O Lotus 1-2-3 considerou o ano como bissexto para lidar melhor com anos bissextos. O Microsoft Multiplan e o Microsoft Excel decidiram herdar este posicionamento para permitir a compatibilidade com o Lotus 1-2-3. O Excel lida corretamente com todos os outros anos bissextos. Somente o ano 1900 é manipulado incorretamente.
Vale a pena lembrar que o Excel trabalha com dois sistemas de datas: o de 1900, que é o padrão, onde a data inicial para o Excel é 01/01/1900 e o sistema de 1904, não padrão, onde a data inicial para o Excel é 01/01/1904. A priori, o Excel não trabalha com datas inferiores ao ano de 1900.
A imagem a seguir mostra todas as soluções aplicadas neste artigo. Nota-se que para o ano de 1900 apenas 2 fórmulas preveem corretamente que este ano não é bissexto.
Caso tenhamos anos acima de 1900, todas as fórmulas servirão. Apenas as fórmulas com resultados em verde servirão para o ano de 1900 e apenas a última fórmula, dentre as expostas, permitira verificar se são bissextos anos anteriores a 1900.
Download Ano Bissexto Excel
Realize o download da planilha de cálculo de ano bissexto no Excel neste botão abaixo. Basta se inscrever na nossa newsletter gratuita para o download automático.