7
respostas

Cálculo de idade considerando anos bissextos

A fórmula sugerida para o cálculo da idade, em anos, é INT(( AGORA() - data de nascimento) / 365 ). Porém, essa expressão considera todos os anos como sendo de 365 dias. Tenho duas dúvidas:

1) Como fazer o cálculo para idades considerando-se a presença de anos bissextos?

2) Como identificar um ano bissexto por meio do Excel?

7 respostas

Oi Juliana!

Ótima pergunta!! Creio que nesse caso, essa fórmula foi apresentada mais para meios didáticos para mostrar algumas funcionalidades que o excel faz.

Embora seja necessário uma grande quantidade de anos bissextos para efetivamente afetar no número da idade nessa divisão, ainda é possível fazer o cálculo da mesma levando-os em consideração através da função DATEDIF(start_date,end_date,unit). O que ela faz é um cálculo da diferença de tempo considerando os anos bissextos pelo já presentes nas datas pelo excel. Você pode ver aqui a documentação caso queira ver mais sobre a função.

Quanto a função que faz a verificação de ano bissexto, uma abordagem interessante é a seguinte:

=MONTH(DATE(YEAR(date),2,29))=2

O que ela faz é somar 29 dias no segundo mês do ano selecionado, e verificar qual é o mês a partir desses dias adicionados. Se no ano selecionado existe a data 29 de fevereiro, que representa o dia a mais no ano bissexto, ele retorna 2, mostrando que a data está presente no mês de fevereiro e retornando TRUE. Caso o ano não seja bissexto, o valor retorna 3 (pois está em março) e consequentemente retorna FALSE.

Espero ter conseguido esclarecer a sua dúvida. Sucesso e bons estudos!

Oi André! Obrigada pelas respostas. Como ficam esses comandos que você citou para o Excel 2016?

Oi Juliana!!

Quanto a primeira fórmula, dei uma olhada na documentação do Excel 2016, e o DATEDIF consta como uma função válida no mesmo. A segunda fórmula creio que seja independente de versão, pois só estamos utilizando as funções padrões de data do excel.

Depois teste essas funções no Excel 2016 e me diga se funcionaram. Caso não tenha dado certo, me avise que podemos procurar outras maneiras de resolver esse problema!

Sucesso e bons estudos!!

Olá André! Joinha?

A função para identificar anos bissextos funcionou perfeitamente. Porém, a função DATADIF não.

Existe alguma alternativa, já que preciso calcula a idade em ano, meses e dias?

Oi Juliana!!

Testei aqui no Excel 2016, e realmente os parâmetros em português no DATADIF não parecem funcionar... Porém, consegui fazer ela funcionar quando passei os parâmetros em inglês.

Tente gerar a função seguindo os seguintes passos:

  • Passe o valor da data completa para realizar os cálculos (ex: 12/08/2009)
  • Passe os valores em inglês dos seus parâmetros (ao invés de "A", passe "Y", por exemplo)

Executei a query aqui da seguinte maneira:

=DATADIF(02/06/2017; 02/06/2019; "D")

E me retornou 730 (sem ano bissexto)

E quando usei a query

=DATADIF(02/06/2019; 02/06/2021; "D")

Obtive 731, mostrando que 2020 é um ano bissexto sendo contado nesse intervalo.

Tente colocar essas queries no seu Excel, imagino que agora deva funcionar. Caso não dê certo, eu te ajudo a montar uma função pra vc pra calcular a subtração de data manualmente mesmo.

Muito sucesso e bons estudos!!

Oi André! Obrigada pela ajuda, agora deu certo!

Mais uma questão: tem jeito da query acima mostrar resultado em ano, meses e dias?

Para isso, terá que usar a informação em três células diferentes. Exemplo (observar que mudei a data final para deixar o exemplo mais claro):

=DATADIF("2/6/2019"; "5/7/2021"; "Y")

=DATADIF("2/6/2019"; "5/7/2021"; "YM")

=DATADIF("2/6/2019"; "5/7/2021"; "MD")

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software