Contar días consecutivos con 2 condiciones

juanam

New Member
Joined
Aug 1, 2021
Messages
28
Office Version
  1. 2021
Platform
  1. Windows
Amigos, ya he publicado este tema en el foro en inglés pero como no tuve respuestas satisfactorias he creado este tema en español.
Espero no haber roto ninguna regla y si es así, pido disculpas y que un Mod elimine este hilo.

He creado esta hoja de Excel para contar días consecutivos desde una fecha inicial.
Aunque funciona en la mayoría de hipótesis, en algunas me da un día de más o un día de menos.

Condiciones (leer atentamente):
1)
El plazo siempre se comienza a contar el primer día hábil posterior a la fecha inicial y se computan todos los días incluyendo sábados, domingos y feriados (excepto feria judicial y semana de turismo), pero si ese día es sábado, domingo feriado, feria judicial o semana de turismo, se comenzará a contar a partir del primer día hábil posterior.
2) Si la fecha resultante cae en sábado, domingo, feriado, feria judicial o semana de turismo, deberá trasladarse al primer día hábil posterior.

Ejemplo 1: Si la fecha inicial es 20/06/2023, los días a contar son 10 días consecutivos, la fecha resultante será 30/06/2023 (se contaron sábados y domingos y no hubo feriado intermedio).

Ejemplo 2: La fecha inicial es el viernes 05/05/2023, se contabilizarán 10 días consecutivos, aquí como el día siguiente es sábado y el día posterior domingo, se debe iniciar el conteo a partir del lunes 08/05/2023, lo que dará como resultado 17/05/2023.

Ejemplo 3: La fecha inicial es el viernes 19/05/2023, se contarán 5 días consecutivos, pero como el día siguiente es sábado, el posterior domingo y el lunes 22/05/2023 es feriado, hay que empezar a contar a partir del martes 23/05/2023, lo que dará como fecha primaria el resultado del sábado 27/05/2023, pero al caer en sábado se debe trasladar al primer día hábil posterior, lo que debería dar como resultado el lunes, 29/05/2023.

Ejemplo 4: Fecha inicial miércoles 28/06/2023, se sumarán 5 días, el conteo comienza a partir del día siguiente que es el jueves 29/06/2023, luego se cuenta el viernes 30, pero a partir del sábado 1 hasta el sábado el 15 de julio es feria fudicial, NO se cuentan, se seguiría contando a partir del domingo 16 y la fecha primaria resultante sería el martes 18/07/2023, pero como ese día cae en feriado, se debe trasladar al siguiente día hábil, es decir, el 19/07/2023.

Para facilitar el trabajo he creado 3 columnas, una que contiene las fechas de la feria judicial y semana de turismo, otra que contiene los feriados y la última que contiene todas las fechas no laborables juntas.
Creo que las columnas de datos que se deben utilizar obligatoriamente serán la primera y la última, la del medio no es muy útil.

Ya he adjuntado archivo, eliminé mi fórmula para no confundir y para no sugerir un enfoque concreto, cualquier enfoque me sirve, mientras de los resultados correctos.
Lo único que si es posible no usen macros.

Muchas gracias por la ayuda que me puedan brindar y cualquier pregunta adicional estoy a las órdenes.
EDITO:
Solo puedo adjuntar imagenes, para facilitar la tarea con los datos, voy a subir el archivo de Excel a Drive:
 

Excel Facts

How can you automate Excel?
Press Alt+F11 from Windows Excel to open the Visual Basic for Applications (VBA) editor.
Hola nuevamente, en otro foro me ayudaron a resolver los 4 ejemplos y funcionan correctamente con una fórmula única, que luego la dividieron en 3 solo a los efectos didácticos e hicieron 4 hojas identicas replicando los 4 ejemplos que funcionaron.

El asunto es que probé con otras hipotesis de plazos más largos, manteniendo obviamente las mismas condiciones y no funciona.

Quizá con este avance alguien con más conocimientos que yo pueda ayudar a resolver, estas 3 hipotesis que no funcionan:

Editaré la imágen de un calendario poniendo en un recuadro anaranjado los días que se contaron, que son los correctos, hace más de una hora que cuento a mano para estar seguro de lo que les voy a comentar:

Hipotesis1: Fecha inicial miércoles 01/03/2023, sumar 90 días, esto es uno de los ejemplos que lo le llamo "comunes" ya que se comenzará a contar a partir del jueves 02/03/2023 y se cuentan todos los días, sábados, domingos y feriados (excepto semana de turismo, porque no llega ese ejemplo a feria judicial). He verificado que los datos de la semana de turismo esté incluida dentro de los feriados y lo está con color verde. Pero el resultado de conteo manual da martes 06/06/2023 y con la fórmula da viernes 09/06/2023.
Explicación: se comenzó a contar al día siguiente por ser el 1er día hábil, o sea el jueves 02/03/2023: en marzo del 02/03/2023 al 31/03/2023 me suman exactamente 30 días, en abril cuento el sábado 1 [salteo del domingo 2 al sábado 8 por ser semana de turismo], luego cuento del domingo 9 al 30 de abril, me suma 23 días, en mayo cuento directamente todo el mes: total 31 días, en junio cuento del 01 al 06, que son los 6 dias (06/06/2023) que me restan para contar 90, comprobación 30+23+31+6=90 días

Imágen con calendario:

hipotesis_1.jpg



Hipotesis2: Fecha inicial jueves 01/06/2023, sumar 90 días, esto es uno de los ejemplos que lo le llamo "comunes" ya que se comenzará a contar a partir del viernes 02/06/2023 y se cuentan todos los días, sábados, domingos y feriados (excepto la feria judicial, ya que la semana de turismo pasó). He verificado que los datos de la feria judical esté incluida dentro de los feriados y lo está con color rojo (del 1º al 15 de julio inclusive). Pero el resultado de conteo manual da martes 14/09/2023 y con la fórmula da lunes 18/09/2023.
Explicación: se comenzó a contar al día siguiente por ser el 1er día hábil, o sea el viernes 02/06/2023: en junio del 02/06/2023 al 30/06/2023 me suman 29 días, en julio [salteo del sábado 1 al sábado 15 por ser feria judicial], luego cuento del domingo 16 al 31 de julio, me suman 16 días, en agosto cuento directamente todo el mes: total 31 días, en setiembre cuento del 01 al 14, que son los 14 dias (14/09/2023) que me restan para contar 90, comprobación 29+16+31+14=90 días

Imágen con calendario:


hipotesis_2.jpg
asdfa


Hipotesis3: Fecha inicial viernes 01/09/2023, sumar 60 días, se comenzará a contar a partir del lunes 04/09/2023 por ser el primer día hábil posterior y se cuentan todos los días, sábados, domingos y feriados (no hay ferias ni turismo en este periodo). He verificado que el feriado del 02/11/2023 esté dentro del rango de feriados y NO está, omití ponerlo y lo he agregado en la planilla que te adjunto. Pero el resultado de conteo manual da viernes 03/11/2023 y con la fórmula da lunes 06/11/2023.
Explicación: se comenzó a contar a partir del 1er día hábil, o sea el lunes 04/09/2023: en setiembre del 04/09/2023 al 30/09/2023 me suman 27 días, en octubre cuento todo el mes: 31 días, en noviembre cuento del 01 al 02, que son 2 dias, que me restan para contar 60, pero como el resultado cayó el 02/11/2023 que es feriado, se traslada al 1er día hábil posterior o sea viernes 03/11/2023 comprobación 27+31+2=60 días


Imágen con calendario:


hipotesis_3.jpg

Contar_plazos_resuelto.xlsx
ABCDEFGH
1Todos los
2CONTAR DIAS CORRIDOSFeriados
301/01/2023
4Fecha inicial01/03/2023Ingrese la fecha inicial02/01/2023
5Días corridos a sumar90Ingrese los días a contar03/01/2023
6Fecha resultanteviernes, 09 de Junio de 2023=DIA.LAB.INTL(DIA.LAB.INTL(DIA.LAB.INTL(C4;1;1;H3:H103);C5-2;"0000000";H3:H103);1;1;H3:H103)04/01/2023
705/01/2023
8Parte 102/03/2023=DIA.LAB.INTL(C4;1;1;H3:H103)06/01/2023
9Parte 208/06/2023=DIA.LAB.INTL(C8;C5-2;"0000000";H3:H103)07/01/2023
10Parte 309/06/2023=DIA.LAB.INTL(C9;1;1;H3:H103)08/01/2023
1109/01/2023
1210/01/2023
1311/01/2023
1412/01/2023
1513/01/2023
1614/01/2023
1715/01/2023
1816/01/2023
1917/01/2023
2018/01/2023
2119/01/2023
2220/01/2023
2321/01/2023
2422/01/2023
2523/01/2023
2624/01/2023
2725/01/2023
2826/01/2023
2927/01/2023
3028/01/2023
3129/01/2023
3230/01/2023
3331/01/2023
3420/02/2023
3521/02/2023
3602/04/2023
3703/04/2023
3804/04/2023
3905/04/2023
4006/04/2023
4107/04/2023
4208/04/2023
4317/04/2023
4401/05/2023
4522/05/2023
4619/06/2023
4701/07/2023
4802/07/2023
4903/07/2023
5004/07/2023
5105/07/2023
5206/07/2023
5307/07/2023
5408/07/2023
5509/07/2023
5610/07/2023
5711/07/2023
5812/07/2023
5913/07/2023
6014/07/2023
6115/07/2023
6218/07/2023
6325/08/2023
6416/10/2023
6502/11/2023
6625/12/2023
6726/12/2023
6827/12/2023
6928/12/2023
7029/12/2023
7130/12/2023
7231/12/2023
7301/01/2024
7402/01/2024
7503/01/2024
7604/01/2024
7705/01/2024
7806/01/2024
7907/01/2024
8008/01/2024
8109/01/2024
8210/01/2024
8311/01/2024
8412/01/2024
8513/01/2024
8614/01/2024
8715/01/2024
8816/01/2024
8917/01/2024
9018/01/2024
9119/01/2024
9220/01/2024
9321/01/2024
9422/01/2024
9523/01/2024
9624/01/2024
9725/01/2024
9826/01/2024
9927/01/2024
10028/01/2024
10129/01/2024
10230/01/2024
10331/01/2024
Ejemplo 1
Cell Formulas
RangeFormula
C6C6=WORKDAY.INTL(WORKDAY.INTL(WORKDAY.INTL(C4,1,1,H3:H103),C5-2,"0000000",H3:H103),1,1,H3:H103)
D6,D8:D10D6=FORMULATEXT(C6)
C8C8=WORKDAY.INTL(C4,1,1,H3:H103)
C9C9=WORKDAY.INTL(C8,C5-2,"0000000",H3:H103)
C10C10=WORKDAY.INTL(C9,1,1,H3:H103)
Cells with Data Validation
CellAllowCriteria
C4Datebetween 1/1/2023 and 30/12/2030
C5Whole numberbetween 1 and 365
D2List1;2;3
 
Upvote 0
Solucionado en otro foro, Moderadores si desean pueden dar por cerrado este hilo, que no pude editar ni eliminar. :)
 
Upvote 0
Solucionado en otro foro, Moderadores si desean pueden dar por cerrado este hilo, que no pude editar ni eliminar.
Cross-posting (posting the same question in more than one forum) is not against our rules, but the method of doing so is covered by #13 of the Forum Rules.

Be sure to follow & read the link at the end of the rule too!

If you do cross-post in the future and also provide links, then there shouldn’t be a problem.
 
Upvote 0
Cross-posting (posting the same question in more than one forum) is not against our rules, but the method of doing so is covered by #13 of the Forum Rules.

Be sure to follow & read the link at the end of the rule too!

If you do cross-post in the future and also provide links, then there shouldn’t be a problem.
Sorry for violating that rule, this thread can now be closed.
Thank you
 
Upvote 0

Forum statistics

Threads
1,224,812
Messages
6,181,105
Members
453,021
Latest member
Justyna P

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top