Presentaremos dos formas de realizarlo, una con formulas y otra con vba
La edad se obtiene restando los años de la fecha actual (29/03/2015) que es la fecha actual de mi sistema, menos el año de la fecha de nacimiento que se encuentra en la celda A2.
Pero si realizamos una resta simple obtendremos 28 como edad, que seria incorrecto, porque aun falta un día para que la edad sea 28, entonces se aplican dos condiciones para que el calculo de la edad sea correcta que mostramos en la siguiente formula
=SI(Y(MES(HOY())>=MES(A2),DIA(HOY())>=DIA(A2)),AÑO(HOY())-AÑO(A2),AÑO(HOY())-AÑO(A2)-1)Condicion 1:
Si el mes actual es mayor o igual que el mes de nacimiento.
Condicion 2:
Si el dia actual es mayor o igual que el dia de nacimiento.
Explicacion:
La mejor manera de explicarlo seria con unos ejemplos.
Ejemplo 1:
Fecha Nacimiento Fecha Actual Edad
30/03/1987 29/03/2015 27
Ejemplo 2:
Fecha Nacimiento Fecha Actual Edad
30/03/1987 30/03/2015 28
Para el ejemplo 1 la edad es 27 ya que no cumple ni la condicion 1 ni la condicion 2
Pero para el ejemplo 2 si se cumplen las dos condiciones.
La otra manera de realizarlo es utilizando vba
Public Function CalcularEdad(FecNac As Date) As Integer
Dim cEdad As Integer
If (Month(Now) >= Month(FecNac) And Day(Now) >= Day(FecNac)) Then
cEdad = Year(Now) - Year(FecNac)
Else
cEdad = Year(Now) - Year(FecNac) - 1
End If
CalcularEdad = cEdad
End Function
=CalcularEdad(A2)
Como hemos visto en estos 2 ejemplos, no ha resultado muy complicado realizar el calculo de la edad de una persona. Tambien existen otras maneras de realizarlo.
No hay comentarios:
Publicar un comentario