Contar cantidad de días laborales entre dos fechas considerando los sábados con Microsoft Excel

En post anteriores se mostró como se realiza el cálculo de la cantidad de días laborales entre dos fechas utilizando la función DIAS.LABS que calcula la cantidad de días entre dos fechas sin incluir los sábados ni domingos, y en forma opcional los festivos.

El problema de esta función interpreta al sábado como un día no laborable, y como en muchas empresas se trabajan los sábados (ya sea medio horario o jornada completa) se estarían contando la cantidad de días en forma incorrecta.

Aquí se mostrará como calcular la cantidad de días laborales entre dos fechas considerando al sábado como un día laborable.

Para comenzar se recomienda leer un post anterior que muestra como calcular la cantidad de días, entre caso interesa el sábado, entre dos fechas.

Uniendo lo explicado en post anteriores, se calculan la cantidad de días laborales de lunes a viernes, a los que se le suman la cantidad de sábados.

Calcular cantidad de días laborales incluyendo sábado entre dos fechas:


Y si la jornada del sábado es de medio horario, se deberá de dividir la cantidad de sábados entre 2.

Calcular cantidad de días laborales incluyendo medio día del sábado entre dos fechas:


Si la cantidad de horas del sábado no es exactamente a la mitad, en lugar de dividir entre dos se divide por la cantidad de horas de una jornada completa y se multiplica por la cantidad de horas laborables el sábado.

Quitar caracteres como Enter y Tabulado

Varios usuarios han reportado problemas al generar un reporte, mediante una consulta SQL, donde el resultado de cada fila lo entrega en dos o más líneas. También las columnas quedan desplazadas, apareciendo filas con más columnas que las debidas.

La mayoría de las veces este problema se debe a que un dato extraído en el reporte contiene los caracteres de control Enter y/o Tabulado.

Para evitar este problema se debe de reemplazar el o los caracteres de control por un espacio o cualquier otro carácter (puede ser incluso carácter nulo).

El Enter está formado por un salto de línea (carácter 13) y un retorno de carro (carácter 10). Para quitarlo se debe de reemplazar esta secuencia de caracteres por un espacio o cualquier texto que se desee.

El Tabulado es representado con el carácter número 9, por lo que para quitarlo se reemplaza por un espacio o el carácter deseado.

Quitar caracteres de control (Enter y Tabulado) de columnas en una consulta con Oracle:


En esta consulta se extraen el o los datos sin problemas, y los datos con problemas se extraen en 3 formas: quitando solo el Enter, quitando solo el Tabulado y por último quitando Enter y Tabulado. Se utilizan las funciones REPLACE para sustituir los caracteres, y CHR para obtener la representación del carácter. Los caracteres se concatenan con el operador ||.

Quitar caracteres de control (Enter y Tabulado) de columnas en una consulta con Microsoft Access:


Al igual que en Oracle, esta consulta se extraen el o los datos sin problemas, y para los datos que tienen problemas se extraen en 3 formas: solo Enter, solo Tabulado y por último Entero y Tabulado.

Se utilizan las funciones REPLACE para sustituir los caracteres, y CHR para obtener la representación del carácter. La diferencia es que el texto se concatena con el operador +.

La solución presentada corrige el problema, pero es preferible evitarlo. Antes que nada se debe de analizar si el campo en cuestión debería o no almacenar estos caracteres de control. Por ejemplo si se trata de nombre del cliente no lo debería tener, pero si se trata de observaciones es válido que lo tenga.

En caso de que no sea válido, es preferible corregir el problema de raíz. Si el sistema con que se introducen los datos permite caracteres de control, se recomienda modificar dicho sistema de manera de que antes de grabar se realice la “limpieza” del texto.

Una vez controlado el ingreso de los datos, se deberá corregir los datos que ya están almacenados con caracteres de control, para esto se utiliza una simple sentencia UPDATE con las funciones antes mostradas.

Quitar caracteres de control (Enter y/o Tabulado) con Oracle:

Quitar el carácter Enter con Oracle:


Quitar el carácter Tabulado con Oracle:


Quitar ambos caracteres:


Quitar caracteres de control (Enter y/o Tabulado) con Microsoft Access:

Quitar el carácter Enter con Microsoft Access:


Quitar el carácter Tabulado con Microsoft Access:


Quitar ambos caracteres con Microsoft Access:


Si se desea quitar algún otro carácter de control, primero se deberá de identificar de cual carácter se trata y seguir los pasos presentados.