Como calcular a idade antes de 1/1/1900 no Excel?
No Excel, as datas anteriores a 1/1/1900 não podem ser introduzidas nem calculadas corretamente. Se pretender calcular a idade de uma pessoa que nasceu e faleceu antes de 1/1/1900, normalmente não obterá um resultado exato no Excel. Contudo, neste artigo, apresentamos uma solução alternativa que o pode ajudar a calcular idades anteriores a 1/1/1900 no Excel.
Calcular a idade antes de 1/1/1900 com VBA
Calcular a idade pela data de nascimento com Kutools para Excel ![]()
Calcular a idade antes de 1/1/1900 com VBA
Segue-se um código VBA que o ajuda a calcular rapidamente a idade antes de 1/1/1900.
1. Selecione uma célula vazia e introduza a data de nascimento da pessoa; depois, escolha outra célula para inserir a data atual ou a data do falecimento, conforme necessário. Veja a imagem:
2. Em seguida, prima as teclas Alt + F11 para abrir a janela do Microsoft Visual Basic for Applications.
3. Clique em Inserir > Módulo e cole o seguinte código VBA na nova janela do Módulo.
VBA: Calcular a idade antes de 1/1/1900
Public Function AgeFunc(SDate As Variant, EDate As Variant) As Long
'UpdatebyExtendOffice20160429
Dim xSMonth As Integer
Dim xSDay As Integer
Dim xSYear As Integer
Dim xEMonth As Integer
Dim xEDay As Integer
Dim xEYear As Integer
Dim xAge As Integer
If Not GetDate(SDate, xSYear, xSMonth, xSDay) Then
AgeFunc = "Invalid Date"
Exit Function
End If
If Not GetDate(EDate, xEYear, xEMonth, xEDay) Then
AgeFunc = "Invalid Date"
Exit Function
End If
xAge = xEYear - xSYear
If xSMonth > xEMonth Then
xAge = xAge - 1
ElseIf xSMonth = xEMonth Then
If xSDay > xEDay Then xAge = xAge - 1
End If
If xAge < 0 Then
AgeFunc = "Invalid Date"
Else
AgeFunc = xAge
End If
End Function
Private Function GetDate(ByVal DateStr As String, Y As Integer, M As Integer, D As Integer) As Boolean
Dim I As Long
Dim K As Long
Y = 0
M = 0
D = 0
GetDate = True
On Error Resume Next
I = InStr(1, DateStr, "/")
M = CLng(Left(DateStr, I - 1))
D = CLng(Mid(DateStr, I + 1, InStr(I + 1, DateStr, "/") - I - 1))
Y = CLng(Right(DateStr, Len(DateStr) - InStrRev(DateStr, "/")))
If M < 1 Or M > 12 Or D < 1 Or D > 31 Or Y < 1 Then
GetDate = False
End If
End Function 4. Selecione uma célula vazia — neste caso, a C2 — e introduza esta fórmula: =AgeFunc(A2,B2) (em que A2 é a data de nascimento e B2 é a data de término). Prima a tecla Enter para obter a idade e arraste a alça de preenchimento automático até às células necessárias. Veja a imagem:
Nota: Este código VBA só pode calcular idades com datas no formato mm/dd/aaaa, como, por exemplo, 6/23/1845.
Calcular a idade pela data de nascimento com Kutools para Excel
Se as datas de nascimento forem geralmente posteriores a 1/1/1900, pode utilizar o Kutools para Excel e o seu Assistente de Data e Hora, que lhe permite calcular rapidamente a idade com base nas datas de nascimento fornecidas.
Após instalar gratuitamenteKutools para Excel, proceda da seguinte forma:
1. Selecione uma célula vazia onde pretende apresentar a idade e clique em Kutools > Assistente de Fórmulas > Assistente de Data e Hora. Veja a imagem:
2. Na caixa de diálogo Assistente de Data e Hora, marque a opção Idade, selecione a data de nascimento com base na qual pretende calcular a idade na caixa de texto Data de Nascimento. Por predefinição, a célula será selecionada como referência absoluta; pode alterá-la para referência relativa. Em seguida, marque a opção Hoje e escolha o tipo de resultado que pretende apresentar na lista suspensa Tipo de resultado de saída. Veja a imagem:
3. Clique em Ok para aplicar esta fórmula e verá imediatamente a idade apresentada. Caso necessário, pode arrastar a alça de preenchimento automático até às células onde pretende aplicar a fórmula. Veja a imagem:
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