Para cada día de lunes a domingo, escribe la hora de entrada, la de salida y el descanso en minutos. Deja en blanco los días que no trabajaste. Escribe el sueldo por hora en euros para obtener también el sueldo bruto estimado.
Índice
-
Qué puedes hacer en esta página
-
¿Para qué sirve este cálculo?
-
Cómo usar
-
Fórmula
-
Símbolos y términos
-
Qué conviene saber de antemano
-
Cómo calcularlo con Excel
-
Cómo calcularlo con Hojas de cálculo de Google
-
Cómo calcularlo con Python
-
La fórmula en LaTeX y otras notaciones matemáticas (para copiar)
-
Cómo pedirle a ChatGPT que haga el cálculo
-
Las ventajas de DataChef
-
Funciones relacionadas
-
Todas las calculadoras de NumberChef
Qué puedes hacer en esta página
- Escribe la hora de entrada, la de salida y el descanso (en minutos) de cada día, de lunes a domingo, y obtienes al instante el tiempo de trabajo efectivo de cada día y el total de la semana
- El total semanal se muestra tanto como «37 h 30 min» como en horas decimales, «37,5 h», que puedes multiplicar tal cual por el sueldo por hora
- Si escribes el sueldo por hora en euros, también se calcula el sueldo bruto estimado (total de horas en horas decimales × sueldo por hora)
- También sirve para los turnos que cruzan la medianoche, como entrar a las 22:00 y salir a las 6:00 de la mañana siguiente
- En esta misma página encontrarás una explicación sencilla de las fórmulas y fórmulas para copiar y pegar en Excel, Hojas de cálculo de Google y Python
¿Para qué sirve este cálculo?
Si trabajas de 9:00 a 17:30 los 5 días laborables, con 1 hora de descanso para comer que no se paga cada día, trabajas 7 horas y 30 minutos × 5 días = 37 horas y 30 minutos a la semana. Multiplica 37,5 horas decimales por un sueldo de 12 € la hora (un ejemplo) y el sueldo bruto de esa semana es de unos \(37{,}5 \times 12 = 450\) euros.
Cuando puedes calcular tú mismo «¿cuánto he ganado esta semana?», puedes planificar tus turnos y tus ingresos con números y no a ojo. (Lo que cobras en la nómina cambia con las retenciones y las cotizaciones, las horas extraordinarias y los pluses, así que comprueba el importe exacto en tu nómina.)
Si puedes sumar tú mismo las horas de la semana a partir de tu hoja de fichaje o de una aplicación de control horario, puedes comprobar cómo se comparan tus horas reales con tu cuadrante y si las horas de tu nómina coinciden con tus propios apuntes.
La empresa tiene que llevar un registro de jornada diario con la hora de inicio y la de fin de cada persona, y esos registros están a disposición de las personas trabajadoras. El sistema de fichaje de la empresa hace lo mismo por dentro: para cada día halla salida − entrada − descanso y suma los días. Saber cómo funciona es el primer paso para asegurarte de que te pagan todo el tiempo que has trabajado.
Varias reglas de España miran las horas por semana. La jornada ordinaria máxima es de 40 horas semanales de trabajo efectivo de promedio en cómputo anual, con un máximo de 9 horas ordinarias al día salvo que el convenio colectivo establezca otra distribución (art. 34 del Estatuto de los Trabajadores). Las horas por encima son horas extraordinarias (art. 35). Por ejemplo, trabajar de 8:00 a 17:30 con 30 minutos de descanso son 9 horas al día, es decir, 45 horas en 5 días, 5 horas por encima de 40 (como el máximo se mide en promedio anual, lo que cuenta es el total del año y no una sola semana). Si esas 5 horas se pagaran al valor de una hora ordinaria de 15 €, serían \(15 \times 5 = 75\) euros.
También hay otros límites que cuentan las horas a la semana: en un contrato a tiempo parcial la jornada es menor que la de una persona a tiempo completo comparable, y las personas extranjeras con visado de estudios pueden trabajar, en general, hasta 30 horas semanales si es compatible con sus estudios (Real Decreto 629/2022). Las reglas exactas pueden cambiar y dependen de tu contrato y de tu convenio, así que consúltalas para los detalles. En todo caso, este total semanal te dice exactamente cuántas horas trabajaste.
En un turno de noche de 22:00 a las 6:00 de la mañana siguiente, los números solos dan «6 − 22», que es negativo. Suma un día, 1440 minutos, y verás que es un turno de 8 horas.
Incluso en una semana que mezcla turnos de noche y de día, solo tienes que hallar las horas de cada día con la misma regla y sumarlas, así que el total no se confunde. Puedes comprobar por ti mismo si el total semanal de tu cuadrante es correcto.
Si apuntas «de qué hora a qué hora», puedes usar el mismo cálculo para sumar cuántas horas a la semana dedicas a algo distinto de tu trabajo principal, como estudiar unas oposiciones o hacer trabajos de autónomo desde casa.
Ver el total semanal te permite mirar atrás con números, por ejemplo: «¿He compensado el fin de semana las horas de estudio que me salté entre semana?»
Fórmula
Símbolos y términos
Símbolos
| \(T_1\), \(T_2\) | T sub uno, T sub dos | La hora de entrada en minutos (\(T_1\)) y la hora de salida en minutos (\(T_2\)). Una hora se pasa a minutos desde la medianoche con «60 × horas + minutos». (Ejemplo: 9:00 → \(T_1 = 540\), 17:30 → \(T_2 = 1050\)) |
| \(B\) | be | El descanso en minutos. B es la inicial de «break» (descanso, en inglés). |
| \(W\) | uve doble | El tiempo de trabajo efectivo de un día (el tiempo de la entrada a la salida menos el descanso, el tiempo que has trabajado de verdad) en minutos. W es la inicial de «work» (trabajo, en inglés). |
| \(W_1, W_2, \ldots, W_7\) | uve doble sub uno, uve doble sub dos, …, uve doble sub siete | El tiempo de trabajo efectivo de cada día, de lunes a domingo, en minutos. El pequeño número de abajo a la derecha (el subíndice) indica qué día de la semana es. |
| \(S\) | ese | El total del tiempo de trabajo efectivo de la semana (todos los días sumados) en minutos. S es la inicial de «suma». |
| \(H\) | hache | El total semanal como un número decimal de horas (horas decimales), que se halla con \(H = S \div 60\). (Ejemplo: 2250 minutos → 37,5 horas) |
| \(R\) | erre | El sueldo por hora (en euros). R es la inicial de «rate» (tarifa, en inglés). |
| \(P\) | pe | El sueldo bruto estimado (en euros), que se halla con \(P = H \times R\). P es la inicial de «pago». |
| \(1440\) | mil cuatrocientos cuarenta | Los minutos de 1 día: \(24 \times 60 = 1440\). Se suma en un turno que cruza la medianoche (uno en el que sales al día siguiente). |
Términos
| hoja de fichaje | Una hoja, una tarjeta o un sistema que registra la hora de entrada y la de salida de cada día (lo que se llama «fichar»). Las horas registradas se suman en tiempo de trabajo efectivo, que es la base de la nómina. Esta página suma una semana entera de una hoja de fichaje de una vez. |
| control horario | El seguimiento de cuándo trabajas (entrada, salida, descansos y días libres) durante un periodo de nómina. Sumar el control horario es convertir las horas registradas en el total de tiempo de trabajo efectivo. |
| tiempo de trabajo efectivo | El tiempo de la entrada a la salida menos el descanso, el tiempo que has trabajado de verdad. Es la expresión que usa el Estatuto de los Trabajadores. En España, la pausa de al menos 15 minutos que debe haber en una jornada continuada de más de 6 horas solo cuenta como tiempo de trabajo efectivo si así lo establece el convenio colectivo o el contrato; en ese caso no se resta. Mira el tuyo antes de descontar el descanso. |
| horas decimales | Un tiempo escrito como decimal, como 37 horas y 30 minutos = 37,5 horas. Los minutos se dividen entre 60, así que el valor se puede multiplicar tal cual por el sueldo por hora. Ojo: 37 horas y 30 minutos no son 37,3 horas. |
| turno que cruza la medianoche | Un turno en el que cambia la fecha, como un turno de noche. La hora de salida es un número menor que la de entrada, así que se suma un día, 1440 minutos, en el cálculo. |
| horas extraordinarias | Las horas que se trabajan por encima de la jornada ordinaria máxima. Según el Estatuto de los Trabajadores, se pagan como mínimo al valor de una hora ordinaria (el convenio colectivo o el contrato pueden fijar más) o se compensan con tiempo equivalente de descanso retribuido, y no pueden pasar de 80 al año. El plus de nocturnidad (un complemento por trabajar de noche) lo fija normalmente el convenio. Las condiciones y las cantidades dependen de la ley y de tu convenio, así que esta calculadora las deja fuera y solo calcula total de horas × sueldo por hora. |
| sueldo bruto | El sueldo antes de descontar la retención del IRPF (el impuesto sobre la renta) y las cotizaciones del trabajador a la Seguridad Social. Lo que cobras de verdad, ya con esos descuentos, es el sueldo neto. En España los sueldos y los precios por hora suelen expresarse en bruto. |
| registro de jornada | La obligación de la empresa de registrar cada día el horario concreto de inicio y de fin de la jornada de cada persona (artículo 34, apartado 9, del Estatuto de los Trabajadores, desde el Real Decreto-ley 8/2019). La empresa conserva los registros cuatro años y están a disposición de las personas trabajadoras, de sus representantes y de la Inspección de Trabajo. |
Qué conviene saber de antemano
Aquí tienes lo que te ayuda a usar el cálculo de esta página entendiendo de verdad lo que haces, y no solo pulsando el botón.
Si te atascas, repasar estos temas es el camino más rápido para avanzar.
| La hora del día y la duración (2.º–3.º de Primaria, 7-9 años) |
|
| Las horas de la mañana y de la tarde y el formato de 24 horas (2.º–3.º de Primaria, 7-9 años) |
|
| Restas llevando y divisiones con resto (3.º–4.º de Primaria, 8-10 años) |
|
| Números decimales y multiplicación (5.º–6.º de Primaria, 10-12 años) |
|
Cómo calcularlo con Excel
| Día | Entrada | Salida | Descanso (min) | Trabajado (min) |
| Lun | 9:00 | 17:30 | 60 | =SI(O(B2="";C2="");"";REDONDEAR(RESIDUO(SI.ERROR(HORANUMERO(C2);C2)-SI.ERROR(HORANUMERO(B2);B2);1)*1440;0)-D2) |
| Mar | 9:00 | 17:30 | 60 | =SI(O(B3="";C3="");"";REDONDEAR(RESIDUO(SI.ERROR(HORANUMERO(C3);C3)-SI.ERROR(HORANUMERO(B3);B3);1)*1440;0)-D3) |
| Mié | 9:00 | 17:30 | 60 | =SI(O(B4="";C4="");"";REDONDEAR(RESIDUO(SI.ERROR(HORANUMERO(C4);C4)-SI.ERROR(HORANUMERO(B4);B4);1)*1440;0)-D4) |
| Jue | 9:00 | 17:30 | 60 | =SI(O(B5="";C5="");"";REDONDEAR(RESIDUO(SI.ERROR(HORANUMERO(C5);C5)-SI.ERROR(HORANUMERO(B5);B5);1)*1440;0)-D5) |
| Vie | 9:00 | 17:30 | 60 | =SI(O(B6="";C6="");"";REDONDEAR(RESIDUO(SI.ERROR(HORANUMERO(C6);C6)-SI.ERROR(HORANUMERO(B6);B6);1)*1440;0)-D6) |
| Sáb | 0 | =SI(O(B7="";C7="");"";REDONDEAR(RESIDUO(SI.ERROR(HORANUMERO(C7);C7)-SI.ERROR(HORANUMERO(B7);B7);1)*1440;0)-D7) | ||
| Dom | 0 | =SI(O(B8="";C8="");"";REDONDEAR(RESIDUO(SI.ERROR(HORANUMERO(C8);C8)-SI.ERROR(HORANUMERO(B8);B8);1)*1440;0)-D8) | ||
| Total semanal (min) | =SUMA(E2:E8) |
| Total semanal trabajado (min) | 2250 |
| Total semanal: horas | =COCIENTE(B1;60) |
| Total semanal: minutos | =RESIDUO(B1;60) |
| Horas decimales | =REDONDEAR(B1/60;2) |
| Sueldo por hora (€) | 12 |
| Sueldo bruto estimado (€) | =REDONDEAR(B1/60*B5;2) |
En la segunda tabla, escribe el total semanal en minutos en B1. B2 y B3 lo separan en 37 horas y 30 minutos con COCIENTE (la parte entera de una división) y RESIDUO (el resto), y B4 muestra las horas decimales (37,5; REDONDEAR redondea a 2 decimales cuando la división no es exacta). Escribe tu sueldo por hora en B5, y B6 muestra el sueldo bruto estimado (450,00 € en este ejemplo, redondeado al céntimo). Solo tienes que cambiar los valores de la columna B por los tuyos.
Cómo calcularlo con Hojas de cálculo de Google
| Día | Entrada | Salida | Descanso (min) | Trabajado (min) |
| Lun | 9:00 | 17:30 | 60 | =SI(O(B2="";C2="");"";REDONDEAR(RESIDUO(SI.ERROR(HORANUMERO(C2);C2)-SI.ERROR(HORANUMERO(B2);B2);1)*1440;0)-D2) |
| Mar | 9:00 | 17:30 | 60 | =SI(O(B3="";C3="");"";REDONDEAR(RESIDUO(SI.ERROR(HORANUMERO(C3);C3)-SI.ERROR(HORANUMERO(B3);B3);1)*1440;0)-D3) |
| Mié | 9:00 | 17:30 | 60 | =SI(O(B4="";C4="");"";REDONDEAR(RESIDUO(SI.ERROR(HORANUMERO(C4);C4)-SI.ERROR(HORANUMERO(B4);B4);1)*1440;0)-D4) |
| Jue | 9:00 | 17:30 | 60 | =SI(O(B5="";C5="");"";REDONDEAR(RESIDUO(SI.ERROR(HORANUMERO(C5);C5)-SI.ERROR(HORANUMERO(B5);B5);1)*1440;0)-D5) |
| Vie | 9:00 | 17:30 | 60 | =SI(O(B6="";C6="");"";REDONDEAR(RESIDUO(SI.ERROR(HORANUMERO(C6);C6)-SI.ERROR(HORANUMERO(B6);B6);1)*1440;0)-D6) |
| Sáb | 0 | =SI(O(B7="";C7="");"";REDONDEAR(RESIDUO(SI.ERROR(HORANUMERO(C7);C7)-SI.ERROR(HORANUMERO(B7);B7);1)*1440;0)-D7) | ||
| Dom | 0 | =SI(O(B8="";C8="");"";REDONDEAR(RESIDUO(SI.ERROR(HORANUMERO(C8);C8)-SI.ERROR(HORANUMERO(B8);B8);1)*1440;0)-D8) | ||
| Total semanal (min) | =SUMA(E2:E8) |
| Total semanal trabajado (min) | 2250 |
| Total semanal: horas | =COCIENTE(B1;60) |
| Total semanal: minutos | =RESIDUO(B1;60) |
| Horas decimales | =REDONDEAR(B1/60;2) |
| Sueldo por hora (€) | 12 |
| Sueldo bruto estimado (€) | =REDONDEAR(B1/60*B5;2) |
Cómo calcularlo con Python
# Hoja de fichaje semanal (escribe solo los días que trabajaste, como (día, entrada, salida, descanso en minutos))
week = [
("Lunes", "9:00", "17:30", 60),
("Martes", "9:00", "17:30", 60),
("Miércoles", "9:00", "17:30", 60),
("Jueves", "9:00", "17:30", 60),
("Viernes", "9:00", "17:30", 60),
]
hourly_wage = 12 # sueldo bruto por hora (euros). Ponlo en None para no calcular el sueldo
def to_minutes(time_text):
# pasa "9:00" o "17:30" (o solo la hora, "9") a minutos desde la medianoche
parts = time_text.split(":")
hour = int(parts[0])
minute = int(parts[1]) if len(parts) > 1 else 0
return hour * 60 + minute
def format_minutes(total_minutes):
# pasa los minutos a la forma "8 h 30 min" ("0 h" si son 0 minutos)
hours, minutes = divmod(total_minutes, 60)
if hours == 0 and minutes == 0:
return "0 h"
if hours == 0:
return f"{minutes} min"
if minutes == 0:
return f"{hours} h"
return f"{hours} h {minutes} min"
total_work = 0
for day_name, clock_in, clock_out, rest_minutes in week:
elapsed = to_minutes(clock_out) - to_minutes(clock_in)
if elapsed < 0:
# la salida es anterior a la entrada -> se sale al día siguiente (turno de noche), así que se suma un día
elapsed += 1440
work = elapsed - rest_minutes
total_work += work
print(f"{day_name}: {format_minutes(work)}")
decimal_hours = round(total_work / 60, 2) # horas decimales (para el sueldo por horas)
print(f"Total semanal: {format_minutes(total_work)} ({decimal_hours} h, {len(week)} días)")
if hourly_wage is not None:
pay = round(total_work * hourly_wage / 60, 2) # sueldo bruto estimado (redondeado al céntimo)
print(f"Sueldo bruto estimado: {pay:,.2f} €")
La fórmula en LaTeX y otras notaciones matemáticas (para copiar)
W = T₂ − T₁ − B (T₂ ≥ T₁), W = T₂ − T₁ + 1440 − B (T₂ < T₁)
W = T_2 - T_1 - B \quad (T_2 \ge T_1), \qquad W = T_2 - T_1 + 1440 - B \quad (T_2 < T_1)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>W</mi><mo>=</mo>
<msub><mi>T</mi><mn>2</mn></msub><mo>−</mo>
<msub><mi>T</mi><mn>1</mn></msub><mo>−</mo>
<mi>B</mi>
<mo>,</mo><mspace width="0.7em"/>
<mi>W</mi><mo>=</mo>
<msub><mi>T</mi><mn>2</mn></msub><mo>−</mo>
<msub><mi>T</mi><mn>1</mn></msub>
<mo>+</mo><mn>1440</mn><mo>−</mo>
<mi>B</mi>
</mrow>
</math>
W = T_2 - T_1 - B, W = T_2 - T_1 + 1440 - B
workMinutes = If[t2 >= t1, t2 - t1, t2 - t1 + 1440] - b
W := `if`(t2 >= t1, t2 - t1, t2 - t1 + 1440) - b;
if t2 >= t1, W = t2 - t1 - b; else, W = t2 - t1 + 1440 - b; end
W = T_2 - T_1 - B (T_2 ≥ T_1), W = T_2 - T_1 + 1440 - B (T_2 < T_1)
S = W₁ + W₂ + ⋯ + W₇, H = S ÷ 60
S = W_1 + W_2 + \cdots + W_7, \quad H = \dfrac{S}{60}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>S</mi><mo>=</mo>
<msub><mi>W</mi><mn>1</mn></msub><mo>+</mo>
<msub><mi>W</mi><mn>2</mn></msub><mo>+</mo>
<mo>⋯</mo><mo>+</mo>
<msub><mi>W</mi><mn>7</mn></msub>
<mo>,</mo><mspace width="0.7em"/>
<mi>H</mi><mo>=</mo>
<mfrac><mi>S</mi><mn>60</mn></mfrac>
</mrow>
</math>
S = W_1 + W_2 + cdots + W_7, H = S / 60
totalMinutes = Total[workMinutes]; decimalHours = totalMinutes / 60
S := add(w[i], i = 1 .. 7); H := S / 60;
S = sum(W); H = S / 60;
S = W_1 + W_2 + ⋯ + W_7, H = S / 60
P = H × R
P = H \times R
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>P</mi><mo>=</mo>
<mi>H</mi><mo>×</mo><mi>R</mi>
</mrow>
</math>
P = H xx R
pay = decimalHours * hourlyWage
P := H * R;
P = H * R;
P = H × R
Cómo pedirle a ChatGPT que haga el cálculo
Eres un asistente de cálculo de control horario. Haz el siguiente cálculo ejecutando realmente código de Python y basa tu respuesta únicamente en los números del resultado de la ejecución (no respondas con cálculo mental ni a ojo). Esta es una semana de una hoja de fichaje. Todas las horas están en formato de 24 horas y los descansos están en minutos. - De lunes a viernes: entrada a las 9:00, salida a las 17:30, descanso de 60 minutos - Sábado y domingo: sin trabajar El sueldo bruto por hora es de 12 €. Halla cada uno de estos datos: 1. Las horas trabajadas cada día (en la forma «X horas Y minutos» para cada día) 2. El total de horas trabajadas en la semana (en la forma «X horas Y minutos») y el número de días trabajados 3. El total semanal en horas decimales (el total de minutos trabajados dividido entre 60) 4. El sueldo bruto estimado (horas decimales × sueldo por hora, redondeado al céntimo, sin horas extraordinarias ni descuentos) Halla las horas trabajadas de cada día como (salida en minutos) − (entrada en minutos) − descanso. Si en algún día la hora de salida es anterior a la de entrada, trátalo como una salida al día siguiente (turno de noche) y suma 1440 minutos. Muestra las fórmulas que has usado y los números del resultado de la ejecución.
Cómo usar
-
1Introduce los númerosEscribe en los campos los números con los que quieres calcular
-
2CalculaHaz clic en el botón «Calcular»
-
3Consulta el resultadoEl resultado aparece al instante. En la misma página también encontrarás el desarrollo del cálculo y la explicación de la fórmula
Las ventajas de DataChef
Sin conocimientos técnicos: fácil e intuitivo
Sin necesidad de dar datos personales
Los archivos se borran automáticamente tras la descarga
Sin necesidad de atribución
Sin necesidad de pedir permiso