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

En un artículo anterior mostré cómo calcular el tiempo transcurrido entre dos fechas pero en dicho ejemplo utilizaba solamente una unidad de tiempo, ya sea que la diferencia la obtenía   en años, o en meses, o en días, pero nunca mostré como hacer una combinación de todos ellos.

La función SIFECHA

En este ejemplo volveremos a utilizar la función SIFECHA, así que si no estás familiarizado con esta función te sugiero que leas el artículo antes de continuar y pongas especial atención a los diferentes valores que podemos indicar en el tercer argumento de dicha función.

En la siguiente imagen puedes observar el resultado que devuelve la función SIFECHA al utilizar las mismas fechas pero con diferentes valores para su tercer argumento:

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

Cuando utilizamos el argumento “y” obtenemos la diferencia en años entre dos fechas. Al utilizar el argumento “ym” le indicamos a la función SIFECHA que obtenga la diferencia en meses pero como si ambas fechas fueran del mismo año y por eso obtenemos como resultado el valor 6 que es la diferencia entre el mes 01 y el mes 07. La última fórmula utiliza el argumento “md” para pedir la diferencia en días pero suponiendo que las fechas tienen el mismo mes (y año) y por lo tanto la fórmula devuelve el valor 7 que es precisamente la diferencia entre el día 14 y el día 21.

Los resultados de estas tres fórmulas son los que nos dan la diferencia en años meses y días entre dos fechas y solo nos restará concatenar los resultados de cada una de ellas para generar una cadena de texto que muestre el resultado final.

Fórmula para calcular años, meses y días

La siguiente fórmula nos ayuda a calcular años, meses y días entre dos fechas:

=SIFECHA(A2,B2,"y") & " años " & SIFECHA(A2,B2,"ym") & " meses " & SIFECHA(A2,B2,"md") & " días"

Lo único que he hecho para crear esta fórmula es concatenar los resultados de las fórmulas mostradas anteriormente y además insertar las palabras años, meses y días para poder diferenciar entre cada uno de los resultados. Observa el comportamiento de esta fórmula al utilizarla con varias fechas:

Determinar el número de años, meses y días entre dos fechas en Excel

Suprimir valores en cero

Esta fórmula funciona correctamente para cualquier fecha, pero si la diferencia entre ambas es menor a un año, entonces obtendremos valores en cero tal como puedes ver en la siguiente imagen:

Cómo calcular los años, meses y días entre dos fechas en Excel

Para evitar que la fórmula muestre esos valores en cero debemos agregar la función SI para que nos ayude a hacer la validación. La fórmula que suprime los valores en cero es la siguiente:

=SI(SIFECHA(A2,B2,"y")=0,"", SIFECHA(A2,B2,"y") & " años ") & SI(SIFECHA(A2,B2,"ym")=0,"",SIFECHA(A2,B2,"ym") & " meses ") & SI(SIFECHA(A2,B2,"md")=0,"",SIFECHA(A2,B2,"md") & " días")

Al aplicar esta fórmula a los mismos datos obtendremos el siguiente resultado:

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

Calcular la edad en años, meses y días

Ahora que ya conocemos la fórmula para calcular años, meses y días entre dos fechas en Excel, podemos hacer una pequeña variación para obtener la edad de cualquier persona. La única modificación que haremos es colocar la función HOY como el segundo argumento de la función SIFECHA de manera que el cálculo se realice respecto a la fecha actual. Suponiendo que la fecha de nacimiento se encuentra en la celda A2, la fórmula quedaría de la siguiente manera:

=SIFECHA(A2,HOY(),"y") & " años " & SIFECHA(A2,HOY(),"ym") & " meses " & SIFECHA(A2,HOY(),"md") & " días"

Para una persona que haya nacido el 20/10/1980 y sabiendo que la fecha de hoy es 15/08/2013, la fórmula devolverá el siguiente resultado:

Calcular la edad en Excel en años, meses y días

Artículos relacionados
La función SIFECHA en Excel

51 comentarios en “Calcular años, meses y días entre dos fechas en Excel

  1. Angel

    Buenisimo ,como siempre dando a l traste con tus orientaciones.. Mejor dicho clases magistrales de excel. Gracias por tus aporte..

  2. jesus nieves

    Fabuloso me encontraba realizando calculos para las fechas de algunos articulos que fabricamos y esta formula me ayudara en el almacen para saber el tiempo de almacenaje gracias

  3. Walter Aedo

    Excelente! Muchas gracias por toda Tu ayuda, me ha servido mucho!

  4. Víctor

    buenísimo sirve de mucho

  5. Manuel Reyes

    Demasiado útil

  6. Alberto

    Buenas tardes. Muy buena pagina que te has armado con consejos prácticos y de gran ayuda, te mereces un 10, tengo un par de dudas, como se llama esta función en ingles y como podría usarla para calcular semanas? Muchas gracias por tu ayuda, sigue echandole ganas

    1. Moises Ortiz Autor

      Hola Alberto, el equivalente en inglés es la función DATEDIF pero lamentablemente no tiene una opción para calcular directamente semanas. Lo que yo he hecho es obtener la diferencia en días y dividir entre 7.

  7. emilio

    MIL GRACIAS. SON AYUDAS DE MUCHA UTILIDAD, FÁCIL DE ENTENDER.

  8. ricardo castellanos

    saludos desde Colombia. muchas gracias por todos los aportes, son de mucha ayuda

  9. Carlos Chavez

    Como siempre, gracias por tu aportación. Excelente.

  10. Inocente Alavarez

    Excelente gracias

  11. Adriana

    Muy buen artículo, me ayudó con un problema que tenía. Como siempre muy útil. Gracias!

  12. Gabriel Torres Jaramillo

    Hola Moisés, saludos desde Colombia. Es la mejor clase magistral de Excel que he tenido . Muchas gracias.

  13. sergio

    Muchas gracias por tus aportaciones, cada vez aprendemos mas de los mejores

  14. Fabricio arguello

    excelente esta fórmula, me sirvió de muchísimo, solamente una consulta, podré calcular días y minutos?

    1. Moises Ortiz Autor

      Hola Fabricio, puedes utilizar la función SIFECHA para cálculos con días utilizando el argumento “d”. Te recomiendo leer el artículo que he escrito sobre esa función:
      http://exceltotal.com/la-funcion-sifecha/

      Para obtener la diferencia en minutos no existe una función, pero una vez que tienes los días puedes hace la multiplicación por 1440 que es el número de minutos en un día.

  15. Victor

    Muy buena aplicación. Gracias

  16. Bernardino Quintero

    Me parece muy buenas todas las explicaciones! y hay funciones que me permite resolver cálculos que lo hacia por medio de la función SI, me gustaría que me envíe información relacionado a la generación de Macros! me gusta programar en Excel! Gracias de antemano!

  17. sonia

    Muy bueno! Y muy útil!

  18. Javier

    Te soy honesto estoy en la área contable y no te imaginas que ventajas tiene el saber todo esto porque debe ser elemental para uno. Gracias! y te aseguro que estos detalles no se olvidan.

  19. jaime pinto laborderie

    no paren nunca ya que todo es necesario y muy practico para cualquier actividad. gracias por hacerlo tan facil

  20. Milthon Churata

    Genial…

  21. Raul Ortiz Rackow

    Buen día Moisés, los ejemplos que subes son excelentes, le abren los ojos a los que somos neófitos, todos los ejemplos están explicados muy bien, mas que bien diría que excelente. De que parte del planeta eres, tienes algún correo electrónico, para comunicación, te agradeceré me lo proporciones. Saludos Raul

  22. Felix

    Buen tema que se utiliza mucho en el area de recursos humanos- remunreaciones, y que de seguro su uso es muy simple y facil de aplicar

  23. ezequiel

    muy bueno.muchas gracias

  24. feganet

    excelente articulo me ayudaron mucho mas en mi trabajo

  25. JUAN LUNA

    excelente muy bien explicado

  26. Enrique

    Buenas tardes. pues de que versión de Excel hablas? porque no encuentro la función y tengo desde la remota xp hasta la 2010. lo que explicas es interesante y útil pero no la encuentro. Agradecería mucho tu respuesta o comentario. SALUDOS

    1. Moisés Ortíz Autor

      Hola Enrique, la función SIFECHA ha estado presente desde Excel 95 y sigue existiendo en Excel 2013, sin embargo no vas a encontrar documentación “oficial”, ni ayuda dentro de la herramienta. Solo debes ingresarla en la barra de fórmulas de Excel y utilizarla. Si tienes Excel en inglés, la función a utilizar es DATEDIF.

  27. Boris Ortiz

    Buenisimo, estoy trabajando en una hoja de controles de tiempo y esta función me sera de muchísima utilidad, Felicitaciones!

  28. marina

    Excelente, los felicito, son de gran ayuda

  29. Gaston Alcaino Muñoz

    Señores : Muchas gracias por su ayuda a fomentar el conocimiento y las destrezas. Un Globo de Oro para ustedes.

  30. Ing. Edgar Pentzke

    Estimado Moises Ortiz. Gracias por enviar a mi correo Excel Total.

  31. FLOR

    DE VERDAD GRACIAS POR SUS PUBLICACIONES, ME HAN SIDO DE MUCHISIMA AYUDA,, QUE TENGAS UN EXCELENTE DIA

  32. Marina Franco

    Excelente ayuda estimado Moises, hice la formula, pero no logro separala, años, meses y dias, la refleja toda corrida, pero de gran ayuda, en mi pais Venezuela, funciono con el punto y coma

  33. Luz Dary

    Excelente material! Mil gracias

  34. Maria Jose

    Excelente toda la ayuda que nos das! Gracias!!

  35. RUBEN DARIO JIMENEZ

    GRACIAS POR TAN INTERESANTES TEMAS, CADA DÍA ESTOY APRENDIENDO MAS, CLARO CON TU AYUDA

  36. Claudia Arana

    Excelente! Mil gracias! Ha sido de gran ayuda en mi trabajo!

  37. Pamela

    Muchas gracias! me funciona perfecto en excel pero no así en Google Docs, ¿es posible hacerlo aplicar la formula en esa plataforma? Saludos y buen día

    1. Moisés Ortíz Autor

      Hola Pamela, desconozco la plataforma Google Docs, así que no puedo ayudarte. Seguramente encontrarás respuesta en los blogs/foros de dicha plataforma.

  38. SERGIO CARLOS

    Mil gracias por la formula de Excel, me ha sido de gran ayuda, espero y sigas apoyándonos a todos compartiendo tus bastos conocimientos.

  39. Esteban

    Excelente el aporte, gracias me sirve de mucho para saber el tiempo de permanencia del personal en mi trabajo, gracias

  40. Ana Lilia

    Gracias me ayudo mucho, ya estaba algo desesperada.

  41. ManueL

    Excelente este y todos tus aporte, en realidad se te agradece tu esfuerzo. Mil gracias. Te agradecería que me aclararas una duda que tengo: ¿Cómo hago para que en el resultado haya un espacio entre el número y las letras, por ejemplo: 1 año 2 meses 23 días? Es que mi resultado sale todo junto y sin espacios. Reitero nuevamente mi agradecimiento y te envío saludos.

    1. Moisés Ortíz Autor

      Hola Manuel, es necesario que indiques los espacios dentro de las cadenas de texto. Si observas la fórmula de ejemplo notarás que las cadenas de texto tienen espacios al inicio y final: ” años “, ” meses “, ” días “.

  42. Belén

    Muy bueno gracias

  43. Andrés

    Muy buena tu página, realmente es de mucha ayuda. Justo ayer estaba en un curso de excel avanzado, y el instructor utilizó otras formulas para sacar años, meses y días. Pero ocurrió que los días no estaban bien. Me parece genial tu página, gracias por tu gran aporte. Saludos desde Ecuador.

  44. César

    Justo esta función que buscaba, gracias amigo, excelente aportación. Gracias por compartir.

  45. FERNANDO

    EXCELENTE MUCHAS GRACIAS ME FACILITARON EL TRABAJO

  46. GOYO

    QUIERO AGRADECER POR SU VALIOSA COLABORACION.