KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo calcular rápidamente las horas extraordinarias y su pago en Excel?

AutorSun Fecha de modificación

En muchos lugares de trabajo, el seguimiento de las horas laborales de los empleados, especialmente las horas extraordinarias, es esencial para un cálculo preciso de la nómina y el cumplimiento normativo. Suponga que dispone de una tabla que registra las horas de entrada, el descanso para comer y la hora de salida de un trabajador. Desea calcular rápidamente las horas extraordinarias y los pagos correspondientes para cada día, tal como se muestra en la captura de pantalla siguiente. Un cálculo eficaz no solo Ahorrar tiempo, sino que también reduce el riesgo de errores manuales, lo cual es crucial al resumir datos de varios empleados o periodos de nómina.
calcular las horas extraordinarias y el pago

Calcular horas extraordinarias y pagos

Macro VBA para cálculo masivo de horas extraordinarias/pagos

Uso de Tabla Dinámica para análisis resumido


flecha azul derecha con burbuja Calcular horas extraordinarias y pagos

Puede determinar de forma eficaz las horas extraordinarias y los pagos correspondientes en Excel utilizando fórmulas integradas. Este enfoque resulta ideal para registros individuales de trabajadores o conjuntos de datos más pequeños que requieran cálculos sencillos. A continuación, se presenta una guía paso a paso:

1. En primer lugar, calcule las horas laborales ordinarias de cada día. Haga clic en la celda F2 e introduzca la siguiente fórmula:

=IF((((C2-B2)+(E2-D2))*24)>8,8,((C2-B2)+(E2-D2))*24)

Pulse Intro y, a continuación, arrastre el controlador de autorrelleno hacia abajo para copiar la fórmula en las demás filas; así se mostrarán las horas laborales ordinarias de cada día en la columna F.
Aplicar una fórmula para mostrar la jornada laboral ordinaria

2. A continuación, calcule las horas extraordinarias. En la celda G2, introduzca la siguiente fórmula:

=IF(((C2-B2)+(E2-D2))*24>8, ((C2-B2)+(E2-D2))*24-8,0)

Tras pulsar Intro, arrastre la fórmula hacia abajo para rellenar automáticamente la columna de horas extraordinarias en todas las filas. Las horas extraordinarias de cada día se calcularán en la columna G.
 Aplicar una fórmula para calcular las horas extraordinarias

En estas fórmulas:

  • B2: Inicio de la jornada (hora de entrada)
  • C2: Inicio del descanso para comer
  • D2: Fin del descanso para comer
  • E2: Fin de la jornada (hora de salida)
  • El cálculo parte de una jornada laboral estándar de 8 horas; puede ajustar el valor '8' en la fórmula, así como las referencias horarias, según sus políticas.
Consejo:Asegúrese de que los valores horarios estén correctamente formateados en Excel (por ejemplo, hh:mm).

3. Para resumir el total de horas ordinarias y extraordinarias de la semana, seleccione la celda F8 e introduzca:

=SUM(F2:F7)

A continuación, arrastre esta fórmula hasta la celda G8 para calcular el total de horas extraordinarias.
 aplicar una fórmula para obtener el total de horas ordinarias y horas extraordinarias

4. Calcule los pagos por horas ordinarias y extraordinarias en celdas designadas. Por ejemplo, para calcular el salario ordinario en la celda F9, introduzca:

=F8*I2

Asimismo, en la celda G9 para el salario por horas extraordinarias, introduzca:

=G8*J2

Aquí, I2 y J2 deben contener las tarifas horarias correspondientes al trabajo ordinario y a las horas extraordinarias, respectivamente.
usar fórmulas para calcular el pago correspondiente a las horas ordinarias y extraordinarias

Para obtener el pago total tanto de horas ordinarias como extraordinarias, utilice una suma sencilla en la celda H9:

=F9+G9

Este resultado final refleja la compensación total del periodo analizado, integrando el salario ordinario y el extra correspondiente a las horas extraordinarias.
 aplicar una fórmula para calcular el total de pagos

Este método basado en fórmulas es sencillo y rápido para cálculos diarios o semanales, y se adapta con facilidad ante cambios en los horarios laborales o en los criterios de horas extraordinarias. No obstante, si se maneja un gran número de empleados o se requieren informes avanzados, otras funciones de Excel o la automatización podrían resultar más eficientes.

  • Ventajas: Es sencillo, no requiere conocimientos de programación y resulta fácil de mantener para conjuntos de datos pequeños.
  • Limitaciones: Requiere configuración manual para cada trabajador o tabla, exige mantenimiento de fórmulas si cambia la estructura de la tabla y no es óptimo para conjuntos de datos muy grandes.

Si su conjunto de datos crece o necesita calcular horas extraordinarias o pagos para muchos trabajadores o distintos periodos, considere automatizar este proceso o aprovechar las herramientas de análisis integradas de Excel. Consulte las opciones siguientes:

flecha azul derecha con burbuja Macro VBA para cálculo masivo de horas extraordinarias/pagos

Al trabajar con grandes conjuntos de datos que incluyan múltiples trabajadores, hojas o periodos —situaciones en las que rellenar fórmulas manualmente resulta ineficiente—, puede utilizar una macro VBA para automatizar todo el cálculo. Este enfoque optimiza las tareas repetitivas, especialmente al manejar estructuras de datos complejas o importaciones frecuentes.

Escenario: Tiene una tabla con columnas para empleado, inicio de la jornada, inicio del descanso, fin del descanso y fin de la jornada, y desea calcular de forma masiva las horas ordinarias, las extraordinarias y el pago correspondiente.

Nota: Antes de ejecutarla, guarde su libro de trabajo y asegúrese de que las macros estén habilitadas. Haga una copia de seguridad para evitar pérdidas accidentales de datos durante las pruebas o la primera ejecución.

1. Haga clic en Herramientas para desarrolladores > Visual Basic. En la ventana de Microsoft Visual Basic para Aplicaciones, haga clic en Insertar > Módulo y, a continuación, copie y pegue el siguiente código en el módulo:

Sub BatchOvertimeCalculation()
    Dim ws As Worksheet
    Dim i As Long
    Dim lastRow As Long
    Dim regHourCol As String, overtimeCol As String, payCol As String
    Dim startCol As String, lunchStartCol As String, lunchEndCol As String, endCol As String
    Dim regHourlyRate As Double, overtimeHourlyRate As Double
    
    On Error Resume Next
    
    regHourCol = InputBox("Enter column letter for Regular Hour (output):", "KutoolsforExcel", "F")
    overtimeCol = InputBox("Enter column letter for Overtime (output):", "KutoolsforExcel", "G")
    payCol = InputBox("Enter column letter for Payment (output):", "KutoolsforExcel", "H")
    startCol = InputBox("Enter column letter for Work Start:", "KutoolsforExcel", "B")
    lunchStartCol = InputBox("Enter column letter for Lunch Start:", "KutoolsforExcel", "C")
    lunchEndCol = InputBox("Enter column letter for Lunch End:", "KutoolsforExcel", "D")
    endCol = InputBox("Enter column letter for Work End:", "KutoolsforExcel", "E")
    
    regHourlyRate = Application.InputBox("Enter hourly rate for regular hours:", "KutoolsforExcel", 15, Type:=1)
    overtimeHourlyRate = Application.InputBox("Enter hourly rate for overtime:", "KutoolsforExcel", 22.5, Type:=1)
    
    Set ws = Application.ActiveSheet
    lastRow = ws.Cells(ws.Rows.Count, startCol).End(xlUp).Row
    
    For i = 2 To lastRow
        Dim totalHours As Double, regHours As Double, overtimeHours As Double
        
        totalHours = ((ws.Range(lunchStartCol & i) - ws.Range(startCol & i)) + _
                      (ws.Range(endCol & i) - ws.Range(lunchEndCol & i))) * 24
        
        If totalHours > 8 Then
            regHours = 8
            overtimeHours = totalHours - 8
        Else
            regHours = totalHours
            overtimeHours = 0
        End If
        
        ws.Range(regHourCol & i).Value = regHours
        ws.Range(overtimeCol & i).Value = overtimeHours
        ws.Range(payCol & i).Value = regHours * regHourlyRate + overtimeHours * overtimeHourlyRate
    Next i
    
    MsgBox "Batch calculation complete!", vbInformation, "KutoolsforExcel"
End Sub

2. Tras introducir el código, haga clic en el botón Botón Ejecutar de la barra de herramientas de VBA para ejecutar la macro. A continuación, introduzca la información solicitada en los cuadros de diálogo (por ejemplo, qué columnas contienen sus datos horarios y las tarifas de pago). La macro rellenará automáticamente las columnas de horas ordinarias, horas extraordinarias y pago total en cada fila.
Resolución de problemas: Asegúrese de que todas las columnas de tiempo tengan el formato horario adecuado de Excel. Si alguna celda contiene datos no válidos o está vacía, la macro la omitirá o podría devolver un “0”. Verifique siempre manualmente algunas filas tras ejecutar la macro para garantizar la precisión.

  • Ventajas: Es extremadamente eficiente con conjuntos de datos grandes o complejos, ya que elimina la necesidad de copiar manualmente y arrastrar fórmulas.
  • Limitaciones: Requiere cierta familiaridad con VBA, muestra una advertencia de seguridad al habilitar macros y exige prestar atención al hacer referencia a las columnas correctas.

Recomendaciones resumidas:Para cálculos diarios u ocasionales, las fórmulas son rápidas e intuitivas. A medida que su tarea de cálculo de horas extraordinarias abarca más registros o sus necesidades de informes se vuelven más complejas, la automatización con VBA puede reducir significativamente el esfuerzo manual y los errores. Asegúrese siempre de que el formato horario sea correcto y, tras aplicar cualquier solución, verifique que la lógica de cálculo se ajuste a las políticas de horas extraordinarias de su empresa. Si encuentra errores (como #¡VALOR!), revise el formato de celda o las entradas en blanco. Considere hacer una copia de seguridad antes de realizar operaciones masivas.


Añada días, años, meses, horas, minutos y segundos a fechas en Excel con facilidad

Si tiene una fecha en una celda y necesita añadir días, años, meses, horas, minutos o segundos, usar fórmulas puede resultar complicado y difícil de recordar. Con el Asistente de Fecha y Hora de Asistente de Fecha y Hora, podrá añadir unidades de tiempo a una fecha sin esfuerzo, calcular diferencias entre fechas e incluso determinar la edad de una persona a partir de su fecha de nacimiento, ¡todo sin necesidad de memorizar fórmulas complejas!

Kutools para Excel- Potencie Excel con más de 300 herramientas esenciales, agilizando y simplificando su trabajo, y aproveche las funciones de inteligencia artificial para un procesamiento de datos más inteligente y una mayor productividad.Consígalo ahora

Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose 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 Marcar duplicados   |  Eliminar filas en blanco   |  Combinar Columnas o celdas sin perder datos   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir 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   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

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.

ExcelWordOutlookTabsPowerPoint
  • 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