
Fórmula genérica
=DATEDIF(start,end,"y") &" years,"&DATEDIF(start,end,"ym") &" months," &DATEDIF(start,end,"md") &" days"
Resumen
Para calcular y mostrar el tiempo entre fechas en días, meses y años, puede usar la fórmula a basada en la función SIFECHA.
En el ejemplo que se muestra, la fórmula en D6 es:
=DATEDIF(B6,C6,"y") &" years,"&DATEDIF(B6,C6,"ym") &" months," &DATEDIF(B6,C6,"md") &" days"
donde las fechas de inicio están en la columna B y las fechas de finalización están en la columna C.
Explicación
La función DATEDIF está diseñada para calcular la diferencia entre fechas en años, meses y días. Hay varias variaciones disponibles (por ejemplo, tiempo en meses, tiempo en meses ignorando días y años, etc.) y se establecen mediante el argumento "unidad" en la función. Consulte esta página sobre la función SIFECHA para obtener una lista completa de las unidades disponibles.
En el ejemplo que se muestra, calculamos años, meses y días por separado, luego "pegamos" los resultados junto con la concatenación. Para obtener años completos, usamos:
DATEDIF(B6,C6,"y")&" years,"
Para obtener meses completos, usamos:
DATEDIF(B6,C6,"ym")&" months,"
Y calculamos los días con:
DATEDIF(B6,C6,"md")&" days"
El resto de la fórmula es simplemente el texto requerido unido con el operador de concatenación (&).
Sin valores cero
Para evitar la salida de días, meses o años con valores cero, puede ajustar cada función DATEDIF dentro de IF, como se muestra aquí (saltos de línea agregados para facilitar la lectura):
= IF(DATEDIF(B6,C6,"y"), DATEDIF(B6,C6,"y")&"yr ","")& IF(DATEDIF(B6,C6,"ym"), DATEDIF(B6,C6,"ym")&" mo ","")& IF(DATEDIF(B6,C6,"md"), DATEDIF(B6,C6,"md") &" dy","")
Para evitar que aparezcan comas adicionales en el resultado final, las comas se han reemplazado por espacios. Usar la fórmula original DATEDIF como la "prueba lógica" dentro de IF funciona porque IF trata cualquier resultado distinto de cero como verdadero.