Fechas de vencimiento en un día determinado

lunes, noviembre 10, 2014

En la edad de piedra de este blog, hace varios años atrás, tratamos el tema del cálculo de fecha de pago.
En esa nota mostramos dos casos:

# - la fecha de vencimiento sucede 30 días a partir de la fecha de la factura, cuando la intención es el mismo día un mes más tarde. En este caso, suponiendo que la fecha de la factura está en la celda B3, =B3+30 sino =FECHA.MES(B3,1)

Si usáramos =B3+30 el resultado sería 24/11/2014

# - la fecha de vencimiento debe caer en un día determinado del mes, por ejemplo el 15. Para este caso usamos la fórmula 

=SI(DIA(B3)<=15,FIN.MES(B3,0)+15,FIN.MES(B3,1)+15)

(en la nota original usé una fórmula innecesariamente más complicada)


Un lector me consulta cómo calcular la fecha de pago de manera que caiga en un día determinado de la semana. Por ejemplo, una empresa que decide pagar 30 días después de la fecha de la factura pero sólo los días lunes. Consideremos esta tabla

La columna C muestra la fecha de vencimiento 30 días a partir de la fecha de la factura (el mismo día, un mes más tarde). En la celda C3 vemos que el vencimiento cae el 2/11/2014 que es un domingo; para corregir la fecha al lunes más cercano en la celda D3 ponemos la fórmula

=FECHA.MES(B3,1)+(2-DIASEM(FECHA.MES(B3,1)))

Al copiar la fórmula al resto de las celdas vemos que los vencimiento ocurren siempre los lunes (3/11/14, 10/11/14, etc.)

Esta fórmula funciona así:

=FECHA.MES(B3,1) da la fecha que aparece en la columna C (30 días de la fecha de la factura);

(2-DIASEM(FECHA.MES(B3,1))) es el "factor de correción" donde DIASEM(FECHA.MES(B3,1)) da el número de orden del día del vencimiento antes de la correción (el que aparece en la columna C), en nuestro caso 1 (domingo) y el resultado de la expresión será 2-1=1.

Algunos de mis agudos lectores ya habrán descubierto un problema potencial en este cálculo. Si observamos la factura en la fila 9 de la tabla, vemos que los 30 días caen el 8/11/2014 pero al corregir la fecha con la fórmula el pago ocurrirá 5 días antes, el 3/11/2014.
Si queremos que el pago ocurra siempre el mismo día o después de los 30 días debemos modificar nuestra fórmula a 

=FECHA.MES(B3,1)+SI(DIASEM(FECHA.MES(B3,1))<=2,(2-DIASEM(FECHA.MES(B3,1))),7+(2-DIASEM(FECHA.MES(B3,1))))


Una aclaración importante: la función DIASEM usa el argumento Tipo para determinar cuál es el primer día de la semana.


En mi ejemplo el argumento Tipo está en blanco significando que el día 1 es el domingo. Si queremos el número de orden 1 sea el lunes, el valor de Tipo debe ser 2.

8 comments:

gusstavo 11 noviembre, 2014 16:11  

Muchas gracias por tus aportes. Hace rato tengo un problema con una cuenta que se vence los 30, esto pasa cuando llega a febrero, pues con la formula que uso se devuelve logicamente al 28, pero con esto los meses que siguen siguen con los 28. Aplicando tu formula, al contar los 30 días, se va al 2 del mes siguiente, pero luego si sigue con los 30. Como corregir el asunto en los febrero con cualquier fórmula???

JOSE PEDRO MUÑIZ VARGAS 11 noviembre, 2014 17:06  

Excelente aporte, maestro. Muchas gracias por compartir. Buen día y excelente semana. Shalom!.

Anónimo,  11 noviembre, 2014 17:46  

Excelente. Muchas gracias

Jorge Dunkelman 11 noviembre, 2014 18:50  

Gusstavo, mi modelo determina que la fecha debe caer en un día determinado de la semana, en mi ejemplo el lunes. Así que si la fecha de una factura es el 28/2/14 el venccimiento con la primer fórmula (en la columna D) será el 24/3/14 y con la segunda fórmula (la columna E) el 31/3/14.
SI quieres que la fecha de vencimiento sea siempre el último día del mes siguiente tienes que usar la función FIN.MES. Por ejemplo, si en la celda A1 tienes la fecha 28/02/14, la fórmula =FIN.MES(A1,1) da 31/3/14.

Anónimo,  21 noviembre, 2014 12:40  

Buenos días, Jorge. Tienes un mail.

Saludos

Jorge Dunkelman 21 noviembre, 2014 16:15  

¿Es una pregunta o una afirmación?

Anónimo,  23 septiembre, 2016 14:59  

Jorge una pregunta, como haria si tengo una una tabla la cual contiene horas con su fecha y la quiero graficar, es decir ya lo hice pero mi problema esta cuando la hora pasa de las 12 es decir el turno ermina al dia siguiente, la grafica no lo entiende y se descontrola

Jorge Dunkelman 24 septiembre, 2016 18:41  

Tendría que ver tu hoja para hacerme una idea del problrma.

Publicar un comentario

Google+ Followers

Seguidores

Google+ Badge

Términos Legales

  © Blogger template On The Road by Ourblogtemplates.com 2009

Back to TOP