Menu

Como calcular a idade no Excel pela data de nascimento

=DATADIF(B2;HOJE();"Y") retorna a idade em anos completos de quem nasceu na data em B2. Calcule a idade em uma data específica, em anos, meses e dias, e sem a DATADIF.

Todas as planilhas desta página são ao vivo: mude um número ou uma fórmula e elas recalculam.

=DATADIF(B2;HOJE();"Y") retorna a idade em anos completos de quem nasceu na data em B2. A DATADIF (DATEDIF em inglês) conta os anos completos entre duas datas, e a HOJE() (TODAY em inglês) fornece a segunda data, então a idade sobe um a cada aniversário. A tabela mostra as fórmulas em inglês, com vírgulas, e também aceita a forma em português, com ponto e vírgula.

Idade pela data de nascimento
C2
ABC
1NameBornAge
2Ana1990-05-1436
3Ben1985-11-3040
4Chloe2001-02-2825
5Dan1978-10-1047
6Eva2010-07-0416
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =DATADIF(B2;HOJE();"Y")

As idades da coluna C são calculadas a partir da data de hoje, então mudam ao longo do ano. Mude uma data de nascimento na coluna B e a idade ao lado acompanha. A fórmula tem três argumentos: a data inicial (a data de nascimento), a data final (hoje) e a unidade, "Y" para anos completos.

Idade em uma data específica

Para ter a idade em um dia fixo, como o início do ano letivo ou a data de um contrato, coloque esse dia em uma célula e use a célula no lugar de HOJE(). O $ em $F$2 mantém a referência em F2 quando a fórmula é arrastada para baixo.

Idade em uma data
C2
ABCDEF
1NameBornAgeAs of
2Ana1990-05-14362026-10-01
3Ben1985-11-3040
4Chloe2001-02-2825
5Dan1978-10-1047
6Eva2010-07-0416
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =DATADIF(B2;$F$2;"Y")

Em 2026-10-01 Ana tem 36 anos e Dan tem 47: o aniversário dele, em 10 de outubro, ainda não chegou. Mude F2 para 2026-10-10 e Dan faz 48. Essa versão também dá o mesmo resultado toda vez que o arquivo é aberto, o que importa quando a idade vai para um relatório. Veja a página da DATADIF para as outras unidades.

Idade em anos, meses e dias

A DATADIF tem unidades para o que sobra depois dos anos completos: "YM" conta os meses depois do último ano completo, e "MD" os dias depois do último mês completo. Junte os três com & para escrever a idade como texto.

Anos, meses e dias
E2
ABCDEF
1BornYearsMonthsDaysAgeAs of
21990-05-143641736 years, 4 months, 17 days2026-10-01
31978-10-1047112147 years, 11 months, 21 days
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =B2&" years, "&C2&" months, "&D2&" days"

De 1990-05-14 a 2026-10-01 são 36 anos, 4 meses e 17 dias. A Microsoft desaconselha a unidade "MD" porque ela pode retornar um número de dias negativo ou errado em alguns casos, como uma data de nascimento no dia 31. Confira o número de dias quando a data de nascimento cai entre os dias 29 e 31.

Calcular a idade sem a DATADIF

A DATADIF funciona em todas as versões do Excel, mas não aparece na lista de funções nem no preenchimento automático de fórmulas, então algumas pessoas preferem a FRAÇÃOANO (YEARFRAC em inglês). FRAÇÃOANO(início;fim;1) retorna os anos entre duas datas como decimal, contando a duração real de cada ano (base 1). A INT descarta a fração.

DATADIF e FRAÇÃOANO lado a lado
D2
ABCD
1BornAs ofDATEDIFYEARFRAC
21990-05-142026-10-013636
31978-10-102026-10-014747
42010-07-042026-10-011616
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =INT(FRAÇÃOANO(A2;B2;1))

As duas colunas concordam: 36, 47 e 16. Sem a INT, a FRAÇÃOANO da última linha retorna cerca de 16,24, o que é útil quando você precisa da idade como decimal, por exemplo em uma planilha de estatística.

Por que não dividir por 365

Um atalho comum é =INT((F2-B2)/365): o número de dias vividos dividido pelos dias de um ano. Os anos bissextos acrescentam um dia a cada quatro anos, então depois de algumas décadas a fórmula chega à próxima idade dias antes do aniversário: 12 dias antes, no caso de um aniversário de 48 anos.

Dividir por 365 erra perto do aniversário
D2
ABCDE
1BornAs ofDays livedDivide by 365DATEDIF
21990-05-142026-10-01132893636
31978-10-102026-10-01175234847
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =INT(C2/365)

Para quem nasceu em 1978-10-10, dividir por 365 dá 48 em 2026-10-01, nove dias antes do aniversário de 48 anos. A DATADIF dá 47. Dividir por 365,25 corrige a maioria das linhas, mas ainda erra em algumas datas, então use a DATADIF ou a FRAÇÃOANO.

Prática: idade no primeiro dia de aula

Sua vez
C2
ABCDE
1NameBornAgeAs of
2Ana2012-04-172026-09-01
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.

Sua vez: Em C2, calcule a idade de Ana em anos completos na data em E2.

As verificações ocultas mudam a data em E2, então a fórmula precisa ler essa célula.

Por que a idade aparece como data

Se você digita a fórmula de idade em uma célula que já tem uma data, ou em uma coluna formatada como data, o Excel mantém o formato de data e mostra 36 como 1900-02-05 (o dia 36 do sistema de datas do Excel; com configurações do Brasil aparece 05/02/1900). O número por baixo está certo. Selecione as células e escolha Página Inicial > Formato de Número > Geral (ou pressione Ctrl+Shift+~, Control+Shift+~ no Mac) e a idade aparece.

Perguntas frequentes

Qual é a fórmula para calcular a idade no Excel?

=DATADIF(B2;HOJE();"Y"), com a data de nascimento em B2. Ela conta os anos completos da data de nascimento até hoje, então a idade sobe no próprio dia do aniversário, não antes.

Como calcular a idade em uma data específica no Excel?

Coloque a data em uma célula e use-a no lugar de HOJE(): =DATADIF(B2;$F$2;"Y") dá a idade na data em F2. Os $ mantêm F2 fixa quando você arrasta a fórmula para baixo.

Como calcular a idade no Excel sem a DATADIF?

Use =INT(FRAÇÃOANO(B2;HOJE();1)). A FRAÇÃOANO retorna os anos entre as duas datas como decimal, e a INT fica com os anos inteiros.

Por que minha fórmula de idade mostra uma data como 1900-01-30?

A célula está formatada como data, então a idade 30 aparece como o dia 30 do calendário do Excel. Selecione a célula e escolha Página Inicial > Formato de Número > Geral.

Por que dividir por 365 dá a idade errada?

Os anos bissextos acrescentam um dia a cada quatro anos, então =INT((HOJE()-B2)/365) conta o aniversário alguns dias antes: quem nasceu em 1978-10-10 tem 48 anos por essa fórmula em 2026-10-01, nove dias antes de fazer 48. A DATADIF conta anos do calendário e não tem esse erro.

Ilustração das linguagens de programação do Coddy

Aprenda a programar com o Coddy

COMEÇAR