Calcular años, meses y días entre dos fechas

Para calcular el número de años, meses o días transcurridos entre dos fechas en OpenOffice.org Calc puedes utilizar las siguientes funciones:

AÑOS( FechaInicial; FechaFinal; Tipo), siendo Tipo = 0, o también

AÑO( FechaFinal ) - AÑO( FechaInicial), pero no tiene en cuenta el día y mes de las fechas.

 

MESES( FechaInicial; FechaFinal; Tipo), siendo Tipo = 0, o también

(AÑO(FechaFinal)-AÑO(FechaInicial))*12+MES(FechaFinal)-MES(FechaInicial), pero no tiene en cuenta el día de las fechas

 

DIAS( FechaFinal; FechaInicial ) o, simplemente restando de la fecha final la inicial.

 

Si quieres calcular el número de años, meses y dias transcurridos entre dos fechas:

 

AÑOS(B2;B3;0) & " AÑOS " & (MESES(B2;B3;0)-(12*(AÑOS(B2;B3;0))) & " MESES " & (DIA(C4)-DIA(B4)+SI(DIA(C4)>DIA(B4);DIASENMES(C4);0)) & " DIAS"), o ...

 

AÑOS(B2;B3;0) & " AÑOS " & (MESES(B2;B3;0)-(12*(AÑOS(B2;B3;0))) & " MESES " & (DIA(C4)-DIA(B4)+SI(DIA(C4)>DIA(B4);DIASENMES(C4);0))+1 & " DIAS") si incluyes el último día.

 

Ejemplo: años_meses_dias.zip

Nota: corregido tras el comentario de Justo Cárdeno

Attachments:

7 comentarios

Comentario De: Josué [Visitante]

Muchas gracias No sabía cómo hacerlo

03.06.11 @ 23:07
Comentario De: Justo Cárdeno [Visitante]

La formula propuesta para obtener los día comete un error cuando el día de la fecha inicial es mayor que el día de la fecha final.

Si en A6 esta la fecha inicial y en B6 esta la fecha final, las funciones para calcular los años, meses y días que hay entre las dos fechas serían:

años: =AÑOS(A6;B6+1;0)
meses: =MESES(A6;B6+1;0)-(12*AÑOS(A6;B6+1;0))
días: =DÍA(B6+1)-DÍA(A6)+SI(DÍA(A6)>DÍA(B6);DÍASENMES(A6);0))

si no quieres incluir el último día sería:

días: =DÍA(B6)-DÍA(A6)+SI(DÍA(A6)>DÍA(B6);DÍASENMES(A6);0)


22.06.11 @ 20:43
Comentario De: [Miembro]

Gracias :)
Hemos corregido el tema con tu aportación

28.05.17 @ 00:31
Comentario De: framis [Visitante]

¿Hay alguna forma para que el resultado se mostrara con un 0 delante si es menor de 10?

Por ejemplo: 03 años 04 meses 08 días

Ya que la fórmula me arroja 3 años 4 meses 8 días y si quiero ordenar esa columna (de menor a mayor) me aparece antes un 3 años 4 meses y 12 días que el dicho anteriormente.

29.01.14 @ 18:19
Comentario De: [Miembro]

Puedes utilizar la función TEXTO( número; formato )

=TEXTO(AÑOS(B4;C4;0);"00") & " AÑOS " & TEXTO((MESES(B4;C4;0)-(12*(AÑOS(B4;C4;0)));"00") & " MESES " & TEXTO(ABS(DÍA(C4)-DÍA(B4));"00") & " DIAS")

Consulta Formatos personalizados para conocer los formatos personalizados que puedes utilizar.

30.01.14 @ 16:10
Comentario De: alexis tavares [Visitante]

mi problema es el siguiente; quiero saber el tiempo transcurrido entre la fecha 25/05/12 y el día actual en este caso 16/02/17. eso da como resultado 4 años 8 meses y 22 días, pero la formula me arroja 4A, 8M, y 10 días, el error me lo da en los días que no son 10 sino 22. adicionalmente quisiera saber si puedo obtener los resultados por separado; es decir el año en una columna, el mes en otra y los días transcurridos pero no total sino como lo explique arriba en otra columna.

16.02.17 @ 16:28
Comentario De: [Miembro]

Hemos corregido el tema tras la aportación de un compañero
Por favor, comprueba el funcionamiento con la modificación realizada
Saludos :)

28.05.17 @ 00:32


Form is loading...