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:

8 comentarios

Comentario De: Josué [Visitante]

Muchas gracias No sabía cómo hacerlo

03.06.11 @ 23:07 Reply to this comment
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 Reply to this comment
Comentario De: [Miembro]

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

28.05.17 @ 00:31 Reply to this comment
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 Reply to this comment
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 Reply to this comment
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 Reply to this comment
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 Reply to this comment
Comentario De: Michel [Visitante]

Graciaaaasss!! Que seria de la vida sin paginas como estas :)

26.11.17 @ 15:33 Reply to this comment


Form is loading...


Fatal error: Call to a member function get_File() on null in /home/officees/public_html/blog/skins_fallback_v5/_download.disp.php on line 60