Por la manera en que organizamos nuestro calendario, a veces puede resultar un poco complicado considerar todas las variables que afectan el cálculo de una fecha laboral, inhábil o vacaciones específicas. Hay que contemplar fines de semana o excepciones por días festivos dependiendo del país. Hacer estos cálculos manualmente puede dar lugar a errores o imprecisiones, por ejemplo, sobre cuántos días realmente queremos sumar a algún proyecto para calcular su presupuesto, o cuál sería la fecha real de término de un periodo escolar. Hoy veremos una fórmula que nos ayudará a hacer estos cálculos correctamente y sobre todo, fácilmente.
Calcular cuántos días hábiles hay entre dos fechas
Comencemos con una pregunta sencilla: ¿cómo saber cuántos días hábiles hay entre dos fechas? Pongamos este ejemplo, donde tenemos una fecha de inicio y fin, además de una lista de días oficiales que sabemos que serán inhábiles, festivos o simplemente vacaciones.
Antes de empezar a pensar en hacer sumas y condicionales complicadas sobre cuántos fines de semana hay entre las fechas, si se cruza con días festivos, etcétera, déjame presentarte una fórmula que hará todo por nosotros.
La fórmula NETWORKDAYS (en español DÍAS.LAB) nos regresa el número neto de días laborables o hábiles entre dos fechas. La sintaxis de la fórmula es
=NETWORKDAYS(fecha_inicial, fecha_final, días_inhábiles)
Entonces, si la aplicamos a nuestras dos fechas, nos quedaría así:
=NETWORKDAYS(A2,B2,$E$2:$E)
Y nos dará como resultado que entre el sábado 1 de enero de 2022 y el martes 4 de enero de 2022 hay 2 días hábiles: el lunes y el martes. No cuenta el sábado porque además de ser fin de semana, está marcado como día festivo o inhábil en nuetro rango de días_inhábiles
.
Aquí debemos tomar en cuenta dos cosas importantes. La primera es que la fórmula solamente admite el tipo de dato de fecha (en otra guía hemos explicado cómo funcionan las fechas en Google Sheets). Si estás construyendo tu fórmula con fechas en formato de texto, tendrás que convertirlas antes a una fecha como tal, o podrías tener un error. La segunda es que el último argumento sobre días inhábiles es opcional.
Si elegimos ahora dos fechas separadas por una semana completa o una semana en la que se cruzan días festivos y arrastramos la fórmula, veremos que todo sigue funcionando correctamente:
Calcular cuántos días hábiles hay en cada mes o semana del año
Esto es muy útil, porque nos permite planear correctamente nuestro año en función de los días hábiles. Podemos, por ejemplo, ver fácilmente cuántos días hábiles habrá en cada mes del año:
Tip: aquí puedes usar la fórmula EOMONTH para saber el último día de cada mes.
O también podemos hacerlo dividiendo el año por semanas:
Configurar los fines de semana como hábiles o inhábiles
Existe una variante de esta fórmula que nos permitirá considerar otra configuración de fines de semana, pues esta no es la misma en todos los países del mundo. Esta fórmula es NETWORKDAYS.INTL (en español DIAS.LAB.INTL)
La sintaxis es muy parecida, solamente que antes de los días festivos tenemos un argumento opcional más para poder definir qué días serán considerados fines de semana:
NETWORKDAYS.INTL(fecha_inicial, fecha_final, fin_de_semana, días_inhábiles)
La manera en que tenemos que definir los fines de semana es la siguiente: tendremos una cadena de caracteres comprendida por 7 números que podrán ser ceros o unos, cada uno representando un día de la semana, comenzando por el lunes. Los días que definamos como fin de semana, serán 1 y los demás días serán 0.
Por ejemplo: sábado y domingo como fin de semana será "0000011"
Solo domingo como fin de semana será "0000001"
Domingo y lunes será "1000001"
Y una semana laboral de 4 días, contando viernes, sábado y domingo como fin de semana será: "0000111"
Cómo saber si un día es hábil o inhábil
Con este conocimiento, podemos fácilmente deducir si un determinado día será hábil o inhábil, porque solamente tendremos que configurar nuestra fórmula de tal manera que la fecha inicial y la final sea la misma.
=NETWORKDAYS(A2,A2,$D$2:$D)
Esto obligará a que la fórmula nos devuelva un cero si es inhábil o un uno si es hábil, el cual podemos interpretar como VERDADERO o FALSO, y así integrarlo en un condicional IF o en formatos condicionales.
=IF(NETWORKDAYS(A2,A2,$D$2:$D),"Hábil","Inhábil")
¡Y listo! Ahora ya sabes cómo calcular fácilmente los días hábiles e inhábiles de cualquier rango de fechas, considerando días festivos y fines de semana. Esto será muy útil para que puedas planear cualquier proyecto en el futuro.
Plantilla terminada pra descargar
Guía en video
Si tienes dudas puedes ver esta misma guía explicada en video:
¡Espero que te haya sido útil esta guía! No olvides seguirnos en YouTube para más tips, trucos y guías de productividad.
Alekz es un apasionado de la tecnología y los videojuegos. Además de ser locutor comercial, disfruta de la expresión artística más sastisfactoria y técnica que existe: programar (y pintar algo de pixel art). Fundó Tesel para ayudar a empoderar a las empresas a desarrollar su máximo potencial mediante la tecnología. Es un absoluto nerd de Star Trek.
Alekz es un apasionado de la tecnología y los videojuegos. Además de ser locutor comercial, disfruta de la expresión artística más sastisfactoria y técnica que existe: programar (y pintar algo de pixel art). Fundó Tesel para ayudar a empoderar a las empresas a desarrollar su máximo potencial mediante la tecnología. Es un absoluto nerd de Star Trek.