top of page
Foto del escritorJaime Franco Jimenez

La funcion DIA.LAB.INTL

Con la función DIA.LAB.INTL, podemos adelantar, o, atrasar una fecha un número de días, especificando que días son el fin de semana.


Sintaxis

DIA.LAB.INTL(fecha_inicial, días, [fin_de_semana], [días_no_laborables])


Fecha_inicial, es un argumento obligatorio, es la fecha con la que vamos a trabajar.


Días, también es un argumento obligatorio, es el número de días laborables antes o después del argumento fecha_inicial. Un valor positivo adelanta la fecha, y, un valor negativo retrasa la fecha; un valor de cero devuelve el argumento fecha_inicial. El desplazamiento de días se trunca a entero.


Fin_de_semana, argumento opcional, indica los días de la semana que corresponden a días que no se consideran días laborables.


El argumento fin de semana, tienen una longitud de 7 caracteres, y, cada carácter es un día de la semana, el valor 1 representa un día no laborable, y, el valor 0, un día laborable, por ejemplo, la siguiente cadena, 0111111, quiere decir que solo el lunes, es día laborable.


Días_no_laborables, también, es un argumento opcional, es una o mas fechas, que se deben de excluir como días laborables.


Veamos un ejemplo, tengo los siguientes datos, año, mes, y, día.






Con la función FECHA, voy a convertir estos valores en una fecha, sabemos que tiene tres argumentos, que son año, mes, y, día.


=FECHA(A2;B2;C2)






Pues, a esta fecha, vamos a sumarle 20 días.


Escribimos el signo igual, seguido del nombre de la función, y, abrimos un paréntesis.


=DIA.LAB.INTL(


Como argumento fecha inicial, señalamos la celda D2, quien contiene la fecha.


=DIA.LAB.INTL(D2;


Como argumento días, señalamos la celda donde hemos puesto los días.


=DIA.LAB.INTL(D2;G2


Punto y coma, se abre una ventana, donde debemos de seleccionar el fin de semana, voy a seleccionar, sábados y domingos.


=DIA.LAB.INTL(D2;G2;1


Cierro parentisis, y, acepto.


Me devuelve el día 8 de abril de 2022.






Si miramos el calendario, y, empezamos a contar desde el día 14, porque el día 12 es sábado, y, no es laborable, veremos que tenemos 20 días, excluyendo los fines de semana.


















Vamos a excluir el siguiente día como laborable, que sería el argumento días no laborables.







=DIA.LAB.INTL(D2;G2;1;I2)


Vemos que ahora, como fecha de terminación, nos devuelve el día 11 de abril de 2022, porque los días 9 y 10 de abril, son fines de semana.






Seguimos, ahora, tenemos una serie de personas, las cuales solo trabajan un día a la semana, el resto de los días son fines de semana.





















Queremos calcular cual es siguiente día que deben de trabajar, para resolver este problema, vamos a usar la función DIA.LAB.INT, esta función a partir de una fecha, le sumamos el numero de días, que le indiquemos, y, somos nosotros, quienes decidimos que días componen el fin de semana.


En una celda, escribimos el signo igual, seguido del nombre de la función, y, abrimos un paréntesis.


=DIA.LAB.INTL(


El primer argumento es fecha inicial, pues, señalamos la celda B2, que es la primera fecha.


=DIA.LAB.INTL(B2;


El siguiente argumento es días, ponemos 1.


=DIA.LAB.INTL(B2;1


Punto y coma, se abre una ventana, donde debemos de decidir cual es el fin de semana, puede ser sábado y domingo, domingo y lunes, solo lunes, entre otros, pero, nosotros necesitamos que el fin de semana, sean todos, excepto, el día de trabajo, el cual no podemos elegirlo de la lista.












Pulsamos ESC para eliminar la función.


Tenemos otra forma de especificar el fin de semana, pero de forma binaria, es decir, con ceros y unos, por lo que debemos de crear una cadena de siete dígitos, un digito para cada día.


Por ejemplo, si escribo la siguiente cadena, esta cadena debe de estar en formato de texto, por lo que debe de ir entre comillas dobles.






Indico que solo el lunes, es día hábil, el resto son fines de semana, porque 1, significa que es fin de semana.


Anteriormente, la función DIALAB, tomaba, de forma predeterminada, el fin de semana, como sábado y domingo, pero después, ya nos dieron a elegir el fin de semana.


Vamos a probarlo.


En la celda D2, escribo el signo igual, seguido de la función, y, abrimos un paréntesis.


=DIA.LAB.INTL(


Como argumento fecha inicial, señalamos la celda B2, donde se encuentra la primera fecha.


=DIA.LAB.INTL(B2;


Como argumento días, ponemos 1, es decir, empieza a contar desde el siguiente día.


=DIA.LAB.INTL(B2;1;


Como argumento fin de semana, señalamos la celda que contiene el código binario.


=DIA.LAB.INTL(B2;1;H2


Cerramos paréntesis, y, aceptamos.


Vemos la fecha devuelta.






Si usamos la función TEXTO, para extraer el día de la semana, veremos que corresponde al siguiente lunes.


=TEXTO(D2;"dddd")





Claro, si ahora arrastramos, pues nos va a calcular el próximo día para el lunes, debemos de ir cambiando la configuración del código binario, eso puede resultar algo pesado.


En una celda, voy a usar la función DIASEM, para que me devuelva el día de la semana de la primera fecha, y, le indico que la semana va desde lunes a domingo.


=DIASEM(B2;2)


Arrastramos hacia abajo, y, tenemos el día de la semana para cada fecha, donde el 1 corresponde a lunes, y, el 7 a domingo.

















Lo siguiente que voy a hacer, es usar la función SI.CONJUNTO, va a ser un poco larga, porque voy a preguntar siete veces, pero solo debemos de hacerlo una vez, y, ya no importa la cantidad de fechas que haya.


Escribimos el signo igual, seguido del nombre de la función, y, abrimos un paréntesis.


=SI.CONJUNTO(


La primera pregunta va a ser que, si el valor de la celda I2 es igual a 1, pues que me devuelva la combinación 0111111, es decir, solo el lunes es laborable.


=SI.CONJUNTO(I2=1;"0111111";


Si es igual a 2, que me devuelva la siguiente combinación, donde el martes es el único día laborable.


=SI.CONJUNTO(I2=1;"0111111";I2=2;"1011111";


Así con el resto de las combinaciones.


=SI.CONJUNTO(I2=1;"0111111";I2=2;"1011111";I2=3;"1101111";I2=4;"1110111";I2=5;"1111011";I2=6;"1111101";I2=7;"1111110")


Arrastramos, y, tenemos todas las combinaciones posibles.















Vamos a la expresión primera, y, como argumento fin de semana, señalamos la celda J2.


=DIA.LAB.INTL(B2;1;J2)


Aceptamos, y arrastramos.


Ya tenemos el día siguiente de trabajo para cada trabajador.











64 visualizaciones0 comentarios

Entradas Recientes

Ver todo

Comments


bottom of page