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:
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:
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:
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 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:
Artículos relacionados
La función SIFECHA en Excel