Por ejemplo, consideremos las horas que se pagan un 60% extra de su valor. El criterio por aplicar dice que esas horas son las trabajadas de lunes a viernes entre las 16.00 y las 21.00 y los sábados hasta las 13.00. Comencemos por detallar estas condiciones:
-Si el día de la semana es domingo, no hay horas extras al 60%. En este caso, el valor de la fórmula deberá ser igual a cero.
-Si es sábado, las horas extras al 60% se calculan restando salida menos entrada, siempre que la hora de salida no sea posterior a las 13.00. Si es posterior, se toma las 13.00 como hora de salida y se resta de la hora de entrada.
-En cualquier otro caso (lunes a viernes), las horas extras son las comprendidas entre las 16.00 y las 21.00. Entonces, comparamos la hora de salida con las 21.00 y nos quedamos con el menor valor. A ese valor le restamos la hora 16.00 y nos quedamos con el resultado, siempre que sea mayor que cero.
Mejor lo explicamos con algunos ejemplos. Si la hora de salida es 14.00, comparamos con 21.00 y nos quedamos con el valor menor. En este caso, 14.00. Al restar 14.00 menos 16.00 obtenemos un valor negativo. Entonces, el resultado para tomar es cero (no hay horas extras). Si la hora de salida es 19.00, comparamos con 21.00 y nos quedamos con el valor menor. En este caso, 19.00. Al restar 19.00 menos 16.00 obtenemos tres horas. Esta es la cantidad de horas extras para tomar. Si la hora de salida es 23.00, comparamos con 21.00 y nos quedamos con el valor menor. En este caso, 21.00. Al restar 21.00 menos 16.00 obtenemos cinco horas. Esta es la cantidad de horas extras para tomar. Ahora veamos cómo poner estas condiciones en una única fórmula. Vamos a usar la función DIASEM para conocer el día de la semana correspondiente a la fecha escrita en la columna [A]. Esta función devuelve un 1 si la fecha es domingo, un 2 si es lunes, y así sucesivamente, hasta 7 para el sábado.
La primera parte de la fórmula será =SI(DIASEM(A2)=1;0;. Es decir, si es domingo, no hay horas extras al 60%. Luego se evalúa si es sábado (DIASEM igual a 7). En ese caso, se toma el menor valor entre las 13.00 y la hora de salida, y se resta de ese valor la hora de entrada: SI(DIASEM(A2)=7;MIN(13/24;C2)B2;. Dentro de esta fórmula, la hora 13.00 se indica por 13/24. En Excel, todos los datos de tipo hora se miden en días. Al dividir por 24, convertimos las trece horas a días. Si no se cumplen las condiciones anteriores, estamos dentro del período de lunes a viernes. Hay que buscar el menor valor entre la hora de salida y las 21.00. Restamos ese valor menos las 16.00 y nos quedamos con el resultado, siempre que sea mayor que cero: MAX(MIN(C2;21/24)-16/24;0))).
La fórmula completa queda: =SI(DIASEM(A2)=1;0; SI(DIASEM(A2)=7;MIN(13/24;C2)-B2; MAX(MIN(C2;21/24)-16/24;0)))
Como dijimos tantas otras veces, es complejo, pero funciona.