Si está utilizando Excel para realizar un seguimiento de la información sobre proyectos, es posible que desee saber la duración de un proyecto determinado en años, meses y días. Si tiene la fecha de inicio y la fecha de finalización de cada proyecto, puede usar la función de hoja de cálculo DATEDIF para devolver la información de la manera deseada.

Por ejemplo, supongamos que tiene una fecha de inicio en la celda E7 y la fecha de finalización en la celda F7. Puede calcular la diferencia entre las dos fechas con este uso muy simple de DATEDIF:

=DATEDIF(E7,F7,"d")

Esta función devuelve el número de días entre las dos fechas, siempre que la fecha en E7 sea menor o igual a la fecha en F7. El tercer argumento, «d», hace que DATEDIF devuelva su resultado en días. También puede especificar meses («m») y años (‘y «). Sin embargo, para los propósitos de este ejemplo, hay varios otros argumentos que son particularmente útiles: meses excluyendo años (» ym «), días excluyendo años ( «yd»), y días excluyendo meses y años («md»).

Usando estos diferentes argumentos, puede inventar una fórmula que devolverá una respuesta que indique los días transcurridos como años, meses y días.

(Debido a la longitud de las fórmulas en este consejo, las he dividido en líneas separadas para que sean un poco más fáciles de leer. Sin embargo, esta es una fórmula única y debe ingresarse como como en Excel.)

=DATEDIF(E7,F7,"y") & " years, " & DATEDIF(E7,F7,"ym")

& " months, " & DATEDIF(E7,F7,"md") & " days "

Tenga en cuenta que esta fórmula siempre devolverá unidades plurales, como en años, meses y días. Para aquellos que quieran ser gramaticalmente correcto y proporcionar unidades singulares cuando se requiera, la siguiente fórmula funcionará:

=IF(DATEDIF(E7,F7,"y")=1,DATEDIF(E7,F7,"y")&" year, ", DATEDIF(E7,F7,"y")&" years, ")&IF(DATEDIF(E7,F7,"ym")=1, DATEDIF(E7,F7,"ym") &" month, ",DATEDIF(E7,F7,"ym")

&" months, ")&IF(DATEDIF(E7,F7,"md")=1,DATEDIF(E7,F7,"md")

&" day",DATEDIF(E7,F7,"md")&" days")

This wor ks en todos los casos, excepto cuando años, meses o días es cero. Para deshacerse de la unidad adecuada cuando es cero se requiere una fórmula aún más larga:

=IF(DATEDIF(E7,F7,"y")=0,"",IF(DATEDIF(E7,F7,"y")=1, DATEDIF(E7,F7,"y")&" year, ",DATEDIF(E7,F7,"y")&" years, "))

&IF(DATEDIF(E7,F7,"ym")=0,"",IF(DATEDIF(E7,F7,"ym")=1, DATEDIF(E7,F7,"ym")&" month, ",DATEDIF(E7,F7,"ym")&" months, "))

&IF(DATEDIF(E7,F7,"md")=0,"",IF(DATEDIF(E7,F7,"md")=0, DATEDIF(E7,F7,"md")&" day ",DATEDIF(E7,F7,"md")&" days"))

Esta fórmula se está volviendo bastante larga, pero devolverá solo aquellas unidades para las que hay un valor. Por lo tanto, en lugar de devolver «0 años, 2 meses, 1 día», devolverá «2 meses, 1 día».

Incluso esta no es una fórmula perfecta, ya que aún mostrará las comas entre las entradas en algunas situaciones en las que no están justificadas. La siguiente megafórmula debería corregir los plurales y las comas y eliminar las entradas cero.

=IF(DATEDIF(E7,F7,"y")=0,"",IF(DATEDIF(E7,F7,"y")=1, DATEDIF(E7,F7,"y")&"year",DATEDIF(E7,F7,"y")&"years"))

&IF(AND(DATEDIF(E7,F7,"y")<>0,DATEDIF(E7,F7,"ym")<>0),", ","")

&IF(DATEDIF(E7,F7,"ym")=0,"",IF(DATEDIF(E7,F7,"ym")=1, DATEDIF(E7,F7,"ym")&" month",DATEDIF(E7,F7,"ym")&" months"))

&IF(AND(OR(DATEDIF(E7,F7,"y")<>0,DATEDIF(E7,F7,"ym")<>0), DATEDIF(E7,F7,"md")<>0),", ","")&IF(DATEDIF(E7,F7,"md")=0,"", IF(DATEDIF(E7,F7,"md")=1,DATEDIF(E7,F7,"md")&" day", DATEDIF(E7,F7,"md")&" days"))

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (2184) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:

link: / excelribbon-Elapsed_Days_as_Years_Months_and_Days [Días transcurridos como años, meses y días].