¿Cómo se calcula la edad para fechas anteriores al 1/1/1900 en Excel?
En Excel, no es posible introducir ni calcular correctamente fechas anteriores al 1/1/1900. Si necesita calcular la edad de una persona que nació y falleció antes de esa fecha, normalmente no obtendrá un resultado preciso en Excel. Sin embargo, en este artículo le mostramos un truco que le permitirá calcular con exactitud edades anteriores al 1/1/1900 en Excel.
Calcular la edad anterior a 1/1/1900 con VBA
Calcular la edad a partir de la fecha de nacimiento con Kutools para Excel ![]()
Calcular la edad anterior a 1/1/1900 con VBA
Aquí tiene un código VBA que le permitirá calcular rápidamente edades anteriores al 1/1/1900.
1. Seleccione una celda vacía e introduzca la fecha de nacimiento de la persona; luego, elija otra celda para ingresar la fecha actual o la fecha de fallecimiento, según corresponda. Vea la captura de pantalla:
2. A continuación, pulse las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
3. Haga clic en Insertar > Módulo y pegue el siguiente código VBA en la nueva ventana del Módulo.
VBA: Calcular la edad anterior a 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. Seleccione una celda vacía, en este caso C2, e introduzca esta fórmula: =AgeFunc(A2;B2) (A2 es la fecha de nacimiento y B2 es la fecha de fin). A continuación, pulse la tecla Intro para obtener la edad. Arrastre el controlador de autorrelleno sobre las celdas que necesite. Vea la captura de pantalla:
Nota: Este código VBA solo puede calcular edades con fechas en formato mm/dd/aaaa, como 6/23/1845.
Calcular la edad a partir de la fecha de nacimiento con Kutools para Excel
Si las fechas de nacimiento son posteriores al 1/1/1900, puede utilizar la utilidad Kutools para Excel del Asistente de Fecha y Hora, que calcula rápidamente la edad a partir de las fechas de nacimiento indicadas.
Tras instalar gratuitamenteKutools para Excel, siga estos pasos:
1. Seleccione una celda vacía en la que desee mostrar la edad y haga clic en Kutools > Asistente de fórmulas > Asistente de Fecha y Hora. Vea la captura de pantalla:
2. A continuación, en el cuadro de diálogo Asistente de Fecha y Hora, active la opción Edad y seleccione en el cuadro de texto Fecha de nacimiento la fecha a partir de la cual desea calcular la edad. De forma predeterminada, la celda se seleccionará como referencia absoluta; puede cambiarla a referencia relativa. Luego, active la opción Hoy y elija el tipo de resultado que desee mostrar en la lista desplegable de Tipo de resultado de salida. Vea la captura de pantalla:
3. Haga clic en Aceptar para aplicar esta fórmula. ¡Ahora verá la edad mostrada! Si lo necesita, arrastre el controlador de autorrelleno sobre las celdas a las que desee aplicarla. Vea la captura de pantalla:
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos