¿Cómo calcular las horas laborables por mes en Excel?
En muchas organizaciones, los empleados siguen un horario laboral estándar de 8 horas diarias, 5 días a la semana. Calcular con precisión el total de horas laborables por mes resulta esencial para procesar nóminas, hacer seguimiento de proyectos y gestionar eficazmente al personal. No obstante, contar manualmente las horas totales de cada mes puede ser propenso a errores y muy costoso en tiempo, especialmente al considerar fines de semana, festivos públicos o empleados con horarios variables. Excel ofrece herramientas y métodos prácticos que le permiten agilizar y automatizar este cálculo, asegurando precisión y eficiencia en sus operaciones.
A continuación se presentan varias soluciones eficaces para calcular las horas laborables mensuales en Excel, adecuadas para distintas estructuras de datos y necesidades:
Calcular el total de horas laborables por mes con fórmulas
Código VBA: calcular automáticamente las horas laborables mensuales para varias filas
Calcular el total de horas laborables por mes con fórmulas
Las funciones de fórmulas de Excel ofrecen una forma sencilla y fiable de calcular el total de horas laborables por mes cuando conoce la fecha de inicio, la fecha de fin y la cuota diaria de horas laborables. Este método es ideal cuando cada día tiene un horario laboral fijo y desea tener en cuenta los fines de semana, así como, opcionalmente, los festivos. A continuación se explica cómo configurar su cálculo:
1. Seleccione una celda vacía donde quiera mostrar el resultado e introduzca la siguiente fórmula:
=NETWORKDAYS(A2,B2) *8 Después de escribir la fórmula, pulse la tecla Intro. Al principio, el resultado podría aparecer con formato de fecha. La siguiente captura de pantalla lo ilustra:

2. Para mostrar el valor como número (horas laborables), seleccione la celda con el resultado de la fórmula. A continuación, en la pestaña Inicio, busque el desplegable Formato de número y seleccione General. La celda mostrará ahora el número total de horas laborables como un número sencillo, tal como se muestra:

Consejos: para reflejar con precisión periodos que incluyan festivos, exclúyalos añadiendo un rango de días festivos en su fórmula. Utilice:
=NETWORKDAYS(A2,B2, C2:C4) *8 donde A2 es la fecha de inicio, B2 es la fecha de fin y C2:C4 enumera las fechas festivas que desea excluir. Formatee la celda como General, tal como se ha descrito anteriormente.

Nota: Ajuste las referencias de celda (como A2, B2 o C2:C4) según la ubicación de sus datos. Este método funciona mejor con jornadas laborales diarias estándar. Si los empleados trabajan a tiempo parcial o sus horas laborables diarias varían, es posible que deba adaptar la fórmula o utilizar alguno de los métodos alternativos que se indican a continuación.
Una ventaja de usar fórmulas es que, una vez configuradas, se actualizan automáticamente al modificar las fechas o los festivos. No obstante, si sus datos incluyen varios empleados o registros de asistencia más complejos, es posible que las siguientes soluciones avanzadas le resulten aún más convenientes.
Código VBA: calcular automáticamente las horas laborables mensuales para varias filas
Si su hoja de cálculo incluye varios empleados o filas —cada una con periodos distintos o fechas de inicio y fin diferentes—, introducir fórmulas manualmente fila por fila resulta tedioso. Con una macro VBA, puede calcular automáticamente las horas laborables para cada fila en bloque, ahorrando tiempo y minimizando errores manuales.
Esta solución resulta especialmente útil cuando dispone de una tabla en la que cada fila representa a un empleado o un periodo laboral distinto, con columnas para la fecha de inicio, la fecha de fin y, opcionalmente, los festivos. La macro que aparece a continuación recorrerá todas las filas y rellenará automáticamente las horas laborables calculadas para cada entrada.
1. Abra el editor de Visual Basic para Aplicaciones haciendo clic en Herramientas para desarrolladores > Visual Basic. En la nueva ventana, haga clic en Insertar > Módulo y pegue el siguiente código VBA en el área de código:
Sub CalculateMonthlyWorkingHours()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim startCol As String, endCol As String, holidayCol As String, resultCol As String
Dim holidays As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws = Application.ActiveSheet
' Adjust these column letters as needed
startCol = "A" ' Start Date in Column A
endCol = "B" ' End Date in Column B
holidayCol = "C" ' Holiday list in Column C (optional; can be blank)
resultCol = "D" ' Results in Column D
lastRow = ws.Cells(ws.Rows.Count, startCol).End(xlUp).Row
For i = 2 To lastRow
If ws.Cells(i, startCol).Value <> "" And ws.Cells(i, endCol).Value <> "" Then
If ws.Cells(i, holidayCol).Value <> "" Then
holidays = Split(ws.Cells(i, holidayCol), ",")
ws.Cells(i, resultCol).Value = WorksheetFunction.NetworkDays(ws.Cells(i, startCol), ws.Cells(i, endCol), holidays) * 8
Else
ws.Cells(i, resultCol).Value = WorksheetFunction.NetworkDays(ws.Cells(i, startCol), ws.Cells(i, endCol)) * 8
End If
Else
ws.Cells(i, resultCol).Value = ""
End If
Next i
End Sub Notas e instrucciones:
- Ajuste las letras de columna ()startCol, endCol, holidayCol, resultCol) según sea necesario para que coincidan con la disposición de su hoja de cálculo.
- La columna holidayCol debe contener fechas separadas por comas, como 7/3/2025 , 7/18/2025. Si no se necesita, puede dejarla en blanco.
- Esta macro asume que los datos empiezan en la fila 2, justo después de los encabezados.
2. Para ejecutar la macro, haga clic en el botón
o pulse la tecla F5 mientras el módulo esté seleccionado. El código calculará y rellenará automáticamente el total de horas laborables mensuales para todas las filas de la columna de resultados. Si se produce un error, asegúrese de que las referencias de sus datos y el formato de fecha sean correctos.
Este método resulta especialmente eficaz para automatizar cálculos en listas extensas de empleados o partes de horas con múltiples filas, garantizando coherencia y minimizando el riesgo de omitir registros. Si su estructura de datos es más flexible o desea resumir los registros diarios de asistencia, considere utilizar una tabla dinámica, tal como se describe a continuación.
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos