¿Cómo calcular las horas de trabajo por mes en Excel?
En muchas organizaciones, los empleados siguen un horario de trabajo estándar, como 8 horas al día y 5 días a la semana. Calcular con precisión el total de horas de trabajo por mes es esencial para el procesamiento de nómina, el seguimiento de proyectos y la gestión de la fuerza laboral. Sin embargo, contar manualmente el total de horas para cada mes puede ser propenso a errores y consumir mucho tiempo, especialmente cuando se deben considerar fines de semana, días festivos o empleados con horarios variables. Excel proporciona herramientas y métodos prácticos para ayudarte a optimizar y automatizar este cálculo, asegurando precisión y eficiencia en tus operaciones.
A continuación, se presentan varias soluciones efectivas para calcular las horas de trabajo mensuales en Excel, adecuadas para diferentes estructuras de datos y necesidades:
Calcular el total de horas de trabajo por mes con fórmulas
Código VBA – Calcular las horas de trabajo mensuales para múltiples filas automáticamente
Calcular el total de horas de trabajo por mes con fórmulas
Las funciones de fórmulas de Excel ofrecen un enfoque sencillo y confiable para calcular el total de horas de trabajo por mes cuando conoces las fechas de inicio y fin, y la cuota diaria de horas de trabajo. Este método funciona mejor cuando cada día tiene un horario de trabajo fijo, y deseas tener en cuenta los fines de semana y, opcionalmente, los días festivos. Aquí te mostramos cómo configurar tu cálculo:
1. Selecciona una celda en blanco donde deseas mostrar el resultado e introduce la siguiente fórmula:
=NETWORKDAYS(A2,B2) *8
Después de escribir la fórmula, presiona la tecla Enter. Inicialmente, el resultado puede aparecer formateado como una fecha. La siguiente captura de pantalla lo demuestra:
2. Para mostrar el valor como un número (horas de trabajo), selecciona la celda con el resultado de la fórmula. Luego, en la pestaña Inicio, encuentra el menú desplegable Formato de Número y selecciona General. La celda ahora mostrará el número total de horas de trabajo como un número simple, como se muestra:
Consejos: Para reflejar con precisión períodos que incluyen días festivos, puedes excluir esos días agregando un rango de días festivos en tu fórmula. Usa:
=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 de los días festivos que deseas excluir. Formatea la celda a General como se describió anteriormente.
Nota: Ajusta las referencias de celdas (como A2, B2, C2:C4) según la ubicación de tus datos. Este método funciona mejor para horas de trabajo diarias estándar. Si los empleados trabajan medio tiempo, o las horas de trabajo diarias varían, es posible que debas adaptar la fórmula o usar uno de los métodos alternativos a continuación.
Una ventaja de usar fórmulas es que, una vez configuradas, se actualizan automáticamente cuando modificas las fechas o los días festivos. Sin embargo, para conjuntos de datos que contienen múltiples empleados o registros de asistencia más complejos, podrías encontrar más convenientes las siguientes soluciones avanzadas.
Código VBA – Calcular las horas de trabajo mensuales para múltiples filas automáticamente
Si tu hoja de cálculo registra múltiples empleados o filas, cada una con diferentes períodos o fechas de inicio y fin variables, introducir fórmulas fila por fila manualmente se vuelve tedioso. Usar una macro VBA te permite calcular automáticamente las horas de trabajo para cada fila en bloque, ahorrando tiempo y reduciendo errores manuales.
Esta solución es particularmente útil cuando tienes una tabla donde cada fila representa un empleado o un período de trabajo distinto, con columnas para Fecha de Inicio, Fecha de Fin y, opcionalmente, Días Festivos. La siguiente macro recorrerá todas las filas y llenará las horas de trabajo calculadas para cada entrada.
1. Abre el editor de Visual Basic for Applications haciendo clic en Herramientas de Desarrollo > Visual Basic. En la nueva ventana, haz clic en Insertar > Módulo, y pega 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:
- Ajusta las letras de columna (startCol, endCol, holidayCol, resultCol) según sea necesario para que coincidan con el diseño de tu hoja de cálculo.
- La columna holidayCol debe contener fechas separadas por comas, como 7/3/2025,7/18/2025. Si no es necesario, puedes dejarla en blanco.
- Esta macro asume que los datos comienzan en la fila 2 (después del encabezado).
2. Para ejecutar la macro, haz clic en el botón o presiona F5 mientras el módulo está seleccionado. El código calculará y llenará automáticamente el total de horas de trabajo mensuales para todas las filas en la columna de resultados. Si encuentras un error, verifica que tus referencias de datos y formatos de fecha sean correctos.
Este método es especialmente efectivo para automatizar cálculos en grandes listas de empleados o datos de hojas de tiempo con múltiples filas, asegurando consistencia y reduciendo el riesgo de registros perdidos. Si tu estructura de datos es más flexible o deseas resumir registros diarios de asistencia, considera usar una Tabla Dinámica como se describe a continuación.
Las mejores herramientas de productividad para Office
Mejora tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab incorpora la interfaz de pestañas en Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!
Todos los complementos de Kutools. Un solo instalador
El paquete Kutools for Office agrupa complementos para Excel, Word, Outlook y PowerPoint junto con Office Tab Pro, ideal para equipos que trabajan en varias aplicaciones de Office.





- Suite todo en uno: complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un solo instalador, una licencia: configuración en minutos (compatible con MSI)
- Mejor juntos: productividad optimizada en todas las aplicaciones de Office
- Prueba completa de30 días: sin registro ni tarjeta de crédito
- La mejor relación calidad-precio: ahorra en comparación con la compra individual de complementos