Roger realiza un seguimiento de invoices en una hoja de cálculo de Excel. Todas las facturas deben enviarse con una fecha de vencimiento del 28 del mes, y Roger se preguntó si había una manera de forzar una fecha para «saltar siempre» a la siguiente instancia del 28.

La forma más limpia de forzar las fechas hacia adelante es crear una fórmula que examine una fecha en una celda y luego forzar esa fecha a la próxima fecha deseada, como el 28. La siguiente fórmula es buena para empezar:

=IF(DAY(A1)>28,DATE(YEAR(A1),MONTH(A1)+1,28),DATE(YEAR(A1),MONTH(A1),28))

Esta fórmula examina la fecha en la celda A1. Si el valor DÍA de la fecha es mayor que 28, la fórmula construye y devuelve una fecha que es igual al día 28 del mes siguiente. Si es menor o igual a 28, se devuelve el día 28 del mes actual.

Sin embargo, hay una forma aún más corta de generar una fórmula aceptable, una que elimina por completo la función SI:

=DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>28),28)

Esto usa el año actual como año y el día siempre es 28. El mes usa un cálculo booleano. Si el día es mayor que 28, entonces (Día (A1)> 28) será VERDADERO y se calculará como 1, sumando así 1 al mes actual. Si es menor o igual a 28 será FALSO y se calculará como 0, simplemente calculando el mes actual.

Si no quiere ser «estricto» dándoles a algunas personas solo un día (el 27/4/2012 dará una fecha de vencimiento el 28/4/2012), podría planear darles al menos una semana con la fórmula:

=DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>21),28)

Esto daría el 28 del mes actual del 1 al 21, pero para fechas posteriores saltará al 28 del mes siguiente.

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

Este consejo (2410) 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-Forcing_Dates_Forward [Forzando el avance de fechas].