Hoja de excel que calcule días, meses y años

Buenas.

Necesitaría hacer una hoja de excel que me calcule los días, meses y años que hay entre dos fechas.

Ej. Fecha inicio: 01/01/2000

Fecha fin: 31/12/2010

Resultado: 10 años, 11 meses y 30 días.( o ya convertido: 11 años 0 meses y 0 días).

He de tener en cuenta que todos los meses tienen 30 días.

PD.

1 he probado con la función Año, mes y día de Excel, pero no sé de cuántos días toma cada mes y no me cuadra....

2 Me daría igual la forma de introducir la fecha, es decir, si es en formato fecha o los días en una celda, los meses en otra y los años en otra.

Gracias a todos por vuestra ayuda.

1 Respuesta

Respuesta
1

Se puede resolver con una macro, es decir, hacer una función utilizando código de programación en Visual Basic.

Sigue las Instrucciones para una Función
1. Abre tu libro de excel
2. Para abrir VBa y poder pegar la función, Presiona Alt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la función
5. En cualquier celda utiliza la función, como cualquier otra función de excel

Function Age(fecha1 As Date, fecha2 As Date) As String
'http://lqrexceltotal.blogspot.mx/2009/03/la-funcion-sifecha.html
Dim Y As Integer
Dim M As Integer
Dim D As Integer
Dim Temp1 As Date
Temp1 = DateSerial(Year(fecha2), Month(fecha1), Day(fecha1))
Y = Year(fecha2) - Year(fecha1) + (Temp1 > fecha2)
M = Month(fecha2) - Month(fecha1) - (12 * (Temp1 > fecha2))
D = Day(fecha2) - Day(fecha1)
If D < 0 Then
    M = M - 1
    D = Day(DateSerial(Year(fecha2), Month(fecha2) + 1, 0)) + D + 1
End If
Age = Y & " años " & M & " meses " & D & " dias"
End Function

Suponiendo que tienes esto:

A B C

1 Fecha ini Fecha fin Resultado

2 01/01/2000 31/12/2010 =age(A2,B2)

3

Pon la siguiente fórmula en la celda C2

=age(A2,B2)

El resultado es

10 años 11 meses 30 días

Saludos. Dante Amor
Si es lo que necesitas.

Genial, funciona perfectamente.

¿Sería mucho rizar el rizo y conseguir que esos 30 días me los convierta en un mes, que junto a los once haga un año de forma que quedara 12 años 0 meses y 0 días?

Había pensado que si el resultado lo da en celdas separadas podría hacerlo yo con las funciones cociente y residuo...

Muchas, pero que muchas gracias. Es un lujo poder contar con expertos como vd.

El resultado es correcto, ya que el último día no se ha cumplido, por lo tanto, solamente hay 10 años 11 meses y 30 días .

Si a esa función le pones el rango de fechas 01/01/2000 al 01/01/2011, entonces si tienes 11 años.

Si quieres manipular el resultado, podría ser así, siguiendo el mismo ejemplo:

=age(A2,B2+1)

Saludos. Dante Amor
No olvides finalizar la pregunta.

Muy buen experto. Me ha ofrecido una solución efectiva en muy poco tiempo. Se ve claramente que domina la materia y que tiene disposición para ayudar.

Muchas gracias por todo, es un lujo contar con gente como vd.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas