Roger realiza un seguimiento de invoices en una hoja de cálculo de Excel. Todas las facturas deben enviarse con una fecha de vencimiento para el día 28 del mes, y Roger se preguntó si había una manera de forzar una fecha para «avanzar» siempre a la siguiente instancia del día 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 siguiente 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))

Recuerde que esta es una fórmula única; se ingresa en una sola celda. Esta fórmula examina la fecha en la celda A1. Si el valor DÍA de la fecha es mayor que 28, entonces la fórmula construye y devuelve una fecha que es igual al 28 del siguiente día. 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 (11603) se aplica a Microsoft Excel 2007, 2010, 2013 y 2016.

Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí: link: / excel-Forcing_Dates_Forward [Forcing Dates Forward].