Skip to main content

Kutools para Office — Una Suite. Cinco Herramientas. Haz Más.

¿Cómo calcular las horas de trabajo por mes en Excel?

Author Xiaoyang Last modified

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:

Calculate total working hours per month with formula

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:

Format the cell to general number

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.

Calculate total working hours per month exclude the holidays

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 Run button 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

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado en: Ejecución inteligente | Generar código | Crear fórmulas personalizadas | Analizar datos y generar gráficos | Invocar Funciones mejoradas
Funciones populares: Buscar, resaltar o identificar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda por varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Cree rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Alternar el estado de visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Los15 principales conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas de combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) ... y más
Utiliza Kutools en tu idioma preferido: admite inglés, español, alemán, francés, chino y más de40 idiomas adicionales.

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.

Excel Word Outlook Tabs PowerPoint
  • 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