Como calcular a idade em anos, meses e dias com base na data de nascimento no Excel?
Em muitas situações práticas — como na gestão de recursos humanos, registos clínicos, bases de dados de estudantes ou sistemas de associados — é essencial calcular com precisão a idade exata de uma pessoa em anos, meses e dias, com base na sua data de nascimento. Se tiver uma lista de datas de nascimento no Excel, poderá precisar de determinar rapidamente a idade exata de cada indivíduo, quer num formato detalhado (anos, meses e dias), quer como um valor decimal ou inteiro. Conseguir fazê-lo melhora significativamente a precisão dos dados para tarefas como verificações de elegibilidade, aplicação de políticas e acompanhamento de marcos importantes. Neste artigo, descobrirá vários métodos eficazes para realizar estes cálculos de idade diretamente no Excel.
Índice
Calcular a idade em anos, meses e dias a partir de Data de Nascimento
Calcular a idade em número decimal a partir de Data de Nascimento
Calcular a idade em número inteiro a partir de Data de Nascimento ![]()
Código VBA – Automatize o cálculo da idade numa grande base de dados com macros personalizadas
Calcular a idade em anos, meses e dias a partir de Data de Nascimento
Uma forma prática de calcular a idade num formato detalhado — e amplamente utilizada em relatórios e decisões de elegibilidade — é através de uma fórmula que devolve os anos, meses e dias entre uma Data de Nascimento e uma data de referência específica (frequentemente a data atual). Este método é altamente adequado para cenários em que o intervalo exato de tempo é crítico, como aniversários, requisitos de inscrição ou cálculos de benefícios.
Selecione a célula onde pretende que o resultado da idade apareça e introduza esta fórmula:
=DATEDIF(A2,$F$2,«Y»)&« Anos, »&DATEDIF(A2;$F$2;«YM»)&« Meses, »&DATEDIF(A2;$F$2;«MD»)&« Dias»
Depois de introduzir a fórmula, prima Enter. Em seguida, pode utilizar a alça de autorreenchimento do Excel para arrastar a fórmula para baixo e preencher as linhas adicionais conforme necessário.
Nesta fórmula, A2 refere-se à célula que contém a data de nascimento e F2 deve conter a data de referência (por exemplo, a data atual). Esta estrutura fornece uma repartição exata, mas certifique-se de que ambas as células estão formatadas como datas. Se encontrar um erro #NÚM!, poderá significar que a data de nascimento é posterior à data de referência, pelo que deverá verificar novamente as suas entradas.
Calcular a idade em número decimal a partir de Data de Nascimento
Quando precisar de apresentar a idade como um número decimal — por exemplo, em relatórios estatísticos, agrupamentos rápidos por idade ou critérios de elegibilidade — uma fórmula compacta é a solução ideal. Esta abordagem devolve valores como «24,11», facilitando a análise e a filtragem dos dados.
Selecione a célula onde pretende que a idade decimal seja apresentada e introduza a seguinte fórmula:
=DATEDIF(A2,$F$2,«Y»)&"."&DATEDIF(A2;$F$2;«YM»)
Prima Enter para confirmar a fórmula e arraste a alça de preenchimento para baixo, aplicando-a automaticamente às restantes linhas.
Tal como no método anterior, A2 é a sua data de nascimento e F2 deve estar definida como a data atual ou de referência. Certifique-se de que as células de data estão corretamente formatadas. Embora este método seja simples e facilite o trabalho com dados numéricos, tenha em atenção que não considera os dias — se precisar desse nível de detalhe, utilize antes o método de repartição completa.
Calcular a idade em número inteiro a partir de Data de Nascimento
Se o seu objetivo for obter um número inteiro para a idade — algo frequentemente exigido em contextos como elegibilidades educacionais, seguros ou controlo de acesso — o resultado da idade inteira é não só suficiente como habitualmente obrigatório. O Kutools para Excel simplifica este processo ao oferecer uma função dedicada, «Calcular a idade com base na data de nascimento», poupando-o de introduzir manualmente fórmulas complexas. Esta solução revela-se especialmente útil quando trabalha com listas extensas ou precisa de realizar este cálculo repetidamente.
Após instalar gratuitamenteKutools para Excel, siga estes passos:
1. Selecione a célula onde pretende que a idade calculada apareça e clique em Kutools > Assistente de Fórmulas > Assistente de Fórmulas.
2. Na caixa de diálogo Assistente de Fórmulas, escolha Calcular a idade com base na data de nascimento na secção Selecione uma fórmula, selecione depois a célula que contém a data de nascimento na caixa de texto Data e clique em OK.
3. A idade será agora calculada como um número inteiro; arraste a alça de preenchimento para baixo, conforme necessário, para aplicar a outras células. Esta abordagem evita erros de introdução manual e simplifica tarefas recorrentes de cálculo da idade.
Dica: Se desejar que a idade seja atualizada automaticamente à medida que o tempo passa, certifique-se de que a data de referência está definida como =HOJE() no Excel.
Código VBA – Automatize o cálculo da idade numa grande base de dados com macros personalizadas
Quando precisar de processar milhares de registos e obter a idade em anos, meses e dias para cada um, arrastar fórmulas manualmente pode tornar-se extremamente moroso. Uma macro VBA permite automatizar o cálculo da idade para uma coluna inteira de uma só vez, eliminando trabalho repetitivo e garantindo consistência — mesmo que a sua lista de datas de nascimento seja atualizada frequentemente. Este método é ideal para utilizadores avançados à vontade com código ou para quem gere atualizações regulares de dados.
1. Clique em Programador > Visual Basic para abrir a janela Microsoft Visual Basic para Aplicações. Em seguida, clique em Inserir > Módulo e introduza o seguinte código no módulo:
Function AgeYMD(ByVal dob As Date, ByVal refDate As Date) As String
'Updated by Extendoffice 20250902
Dim y As Long, m As Long, d As Long
Dim t As Date
If Not IsDate(dob) Or Not IsDate(refDate) Or refDate < dob Then
AgeYMD = "Invalid date"
Exit Function
End If
' Years
y = Year(refDate) - Year(dob)
If DateSerial(Year(refDate), Month(dob), Day(dob)) > refDate Then y = y - 1
' Move dob forward by y years
t = DateAdd("yyyy", y, dob)
' Months
m = DateDiff("m", t, refDate)
If DateAdd("m", m, t) > refDate Then m = m - 1
' Move temp forward by m months
t = DateAdd("m", m, t)
' Days (now always >= 0)
d = refDate - t
AgeYMD = y & " Years, " & m & " Months, " & d & " Days"
End Function
Sub CalculateAgesAllRows()
Dim ws As Worksheet, lastRow As Long, birthCell As Range, resultCell As Range
Dim refDate As Date, xTitleId As String
xTitleId = "KutoolsforExcel"
Set ws = ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' Example prompt; default is today. Make sure you enter a valid date (e.g., 2025-09-02)
refDate = Application.InputBox("Enter reference date (e.g., 2025-09-02)", _
xTitleId, Date, Type:=1)
For Each birthCell In ws.Range("A2:A" & lastRow)
Set resultCell = ws.Cells(birthCell.Row, "B")
If IsDate(birthCell.Value) Then
resultCell.Value = AgeYMD(CDate(birthCell.Value), refDate)
Else
resultCell.Value = "Invalid date"
End If
Next birthCell
End Sub 2. Clique no botão
Executar para executar. Ser-lhe-á solicitado que introduza uma data de referência (por exemplo, a data atual). A macro escreverá então a idade calculada para cada linha na coluna B, ao lado da respetiva Data de Nascimento na coluna A.
Dicas: Certifique-se de que a coluna A contém datas válidas, com a primeira linha como cabeçalho (a partir da célula A2). Se os resultados apresentarem «Data inválida», verifique a formatação na sua coluna de origem.
Esta automação VBA oferece eficiência com conjuntos de dados grandes ou regularmente atualizados, mas exige ficheiros com macros ativadas e definições do Centro de Confiança corretamente configuradas. Se preferir evitar o uso de código, considere o Power Query como uma alternativa sem código.
Outros métodos incorporados no Excel – Utilize o Power Query para calcular a idade ao transformar dados
O Power Query oferece uma abordagem intuitiva e sem código para calcular a idade diretamente na interface moderna do Excel. Ao carregar a sua tabela de datas de nascimento no Power Query, pode adicionar uma coluna personalizada que calcula idades em anos, meses e dias — tudo sem fórmulas nem cópia manual. Este método é altamente recomendado para utilizadores que trabalham com dados importados ou que precisam de transformar e atualizar regularmente os seus cálculos.
Passos operacionais:
1. Selecione a sua tabela de datas de nascimento e vá a Dados > De Tabela/Intervalo para carregar os seus dados no Power Query.
2. No editor do Power Query, selecione Adicionar Coluna > Coluna Personalizada.
3. Na caixa de fórmula, introduza o seguinte código M para calcular a idade em anos:
Date.Year(DateTime.LocalNow()) - Date.Year([DateOfBirth]) Substitua DateOfBirth pelo cabeçalho da sua coluna, conforme necessário.

Para calcular uma repartição mais detalhada(anos, meses e dias), pode adicionar colunas separadas utilizando:
let
Today = Date.From(DateTime.LocalNow()),
Birth = Date.From([Birthday]), Years = Date.Year(Today) - Date.Year(Birth) -
(if Date.AddYears(Birth, Date.Year(Today)-Date.Year(Birth)) > Today then 1 else 0),
AnchorY = Date.AddYears(Birth, Years),
mDiff = (Date.Year(Today)-Date.Year(AnchorY))*12 + (Date.Month(Today)-Date.Month(AnchorY)),
Months = if Date.AddMonths(AnchorY, mDiff) > Today then mDiff-1 else mDiff,
AnchorM = Date.AddMonths(AnchorY, Months),
Days = Duration.Days(Today - AnchorM)
in
Text.From(Years) & " years " & Text.From(Months) & " months " & Text.From(Days) & " days"

4. Clique em OK. Esta abordagem gera uma coluna com a idade — em anos, meses e dias — consoante o código utilizado.
4. Depois, clique em Fechar e Carregar para devolver os dados transformados à sua folha de cálculo.
Notas e resolução de problemas:
- O Power Query processa grandes conjuntos de dados com eficiência e recalcula-os automaticamente ao atualizar.
- Se a sua coluna Data de Nascimento contiver entradas inválidas ou vazias, certifique-se de limpar os dados antes de criar colunas personalizadas.
- Certifique-se de rever os nomes das colunas e ajustar as fórmulas de acordo.
O Power Query é a solução ideal para quem procura uma abordagem dinâmica e reutilizável, sem precisar de escrever fórmulas ou macros no Excel. No entanto, poderá não estar disponível em versões do Excel anteriores à 2016 nem no Excel Online, dependendo do conjunto de funcionalidades.
Resolução de problemas e sugestões:
Independentemente do método de cálculo da idade que escolher, certifique-se sempre de que as células de origem estão formatadas como Data e verifique cuidadosamente a lógica caso obtenha resultados inesperados — como idades negativas ou erros. Ao utilizar fórmulas, lembre-se de que as datas de referência estáticas não são atualizadas automaticamente ao longo do tempo; por isso, use =HOJE() para manter as idades sempre atualizadas. As soluções com VBA e Power Query são ideais para relatórios avançados, em larga escala ou que exijam atualizações regulares. Avalie bem as suas necessidades para escolher a abordagem mais eficaz no seu fluxo de trabalho. Guarde sempre o seu ficheiro antes de aplicar macros ou transformações extensas e, se necessário, mantenha uma cópia de segurança para evitar perda de dados ou alterações não intencionais.
As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos