Excel hoja de tiempo. Pago de vacaciones públicas condicionado a condiciones precisas que se cumplen


1

Estoy tratando de hacer una hoja de horas de Excel que haga algunas funciones bastante particulares.

1) Si decimos que el miércoles es un día festivo, si el empleado trabajaba los martes y jueves (días a ambos lados del día festivo), PERO NO el miércoles (día festivo), tendría derecho a un día de pago estándar (8 horas a la tarifa normal) por ejemplo, si su tarifa por hora normal es de $ 4 por hora, se le pagará $ 32 por el miércoles aunque no haya trabajado en ella.

2) Si el empleado trabajara el martes Y el jueves (días a cada lado del día festivo) Y TAMBIÉN el miércoles (día festivo), tendría derecho a un pago estándar por día (8 horas a tarifa normal) más el número de Horas trabajaba el miércoles a 1,5 veces el ritmo normal. por ejemplo, si su tarifa normal por hora es de $ 4 por hora, se le pagaría $ 32 por el día festivo ADEMÁS, si trabajara 5 horas en el día festivo público, obtendría 5 horas a $ 6 por hora (1.5 veces su tarifa normal por hora) Entonces ... la paga de su día sería de 8 horas estándar a $ 4 por hora = $ 32 MÁS 5 horas de vacaciones pagadas a $ 6 por hora = $ 30.

Así que un total de $ 62.

3) Si el empleado NO trabajara el martes PERO trabajara el miércoles (día festivo) Y el jueves, solo se le pagaría la tarifa estándar por hora por la cantidad de horas trabajadas. Entonces, si trabajara 5 horas en el día festivo, obtendría 5 horas estándar a $ 4 por hora = $ 20.

4) Si el empleado NO trabajara el jueves PERO SI trabajara el martes Y el miércoles (día festivo), solo se le pagaría la tarifa estándar por hora por la cantidad de horas trabajadas. Entonces, si trabajara 5 horas en el día festivo, obtendría 5 horas estándar a $ 4 por hora = $ 20.

5) Si el empleado no trabajó el martes O el jueves y TAMBIÉN NO trabajó el miércoles (día festivo), no se le pagaría por ninguno de esos días.

Espero no haberte confundido !!!


Reescritura sugerida:

Digamos que el miércoles es un día festivo.

1) Si un empleado trabajó tanto los martes como los jueves (días a ambos lados del día festivo), tiene derecho a un pago por día estándar (8 horas a su tarifa normal) para las vacaciones (por ejemplo, si su tarifa normal es de $ 4 por hora, se le pagará $ 32) MÁS pagará por las horas que trabajó el miércoles 1,5 veces más que la tarifa normal (por ejemplo, si trabajó 5 horas en el feriado, obtendría 5 horas × $ 6 por hora = $ 30).

2) Si el empleado NO trabajara el martes y el jueves, solo se le pagaría la tarifa estándar (normal) por cada hora que trabajara el miércoles. Entonces, si trabajara 5 horas en las vacaciones, obtendría 5 horas × $ 4 por hora = $ 20. (Y si no trabajara las vacaciones, no recibiría ningún pago por ello).

Por ejemplo (se muestra transpuesto, con filas - & gt; columnas y columnas - & gt; filas, para mayor claridad):

     F13               F14             F15         Pay for Wednesday
 (Horario del martes trabajado) (Horario del miércoles trabajado) (Horario del jueves trabajado)  0 0 0 0
      0 0 8 0
      0 5 0 5 × $ 4 = $ 20
      0 5 8 5 × $ 4 = $ 20
      8 0 0 0
      8 0 8 8 × $ 4 = $ 32
      8 5 0 5 × $ 4 = $ 20
      8 5 8 8 × $ 4 + 5 × 1.5 × $ 4 = $ 62 

los 8 s son arbitrarios - en principio, la fila inferior podría ser 1 5 1 y la paga para el miércoles sería lo mismo.


Cualquier ayuda sería realmente apreciada, ya que soy nuevo en el uso de fórmulas en Excel y me confundo fácilmente

He intentado usar las declaraciones IF AND, pero no estoy seguro de cómo hacerlas lo suficientemente complejas para hacer lo que estoy intentando lograr.

Yo he tratado:

Donde la celda F13 es el martes Horas trabajadas, F14 es miércoles Horas trabajado, F15 es jueves Horas trabajadas

= IF (AND (F13 & gt; 0, F14 & gt; 0, F15 & gt; 0), F14, "Tarifa estándar por día")

Esta fórmula puede determinar cuántas horas de vacaciones públicas se deben pagar si se trabajan los 3 días ... pero no mucho más.


1
¡Bienvenido a SuperUser! Mientras estamos aquí para ayudar, generalmente no podemos hacer todo por usted. Amplíe su respuesta para decirnos qué ha intentado, qué funcionó / ​​no funcionó o qué errores está viendo.
techturtle

Bueno, uno de nosotros está confundido. No veo dónde ha dicho qué sucedería si el empleado trabajara el martes O el jueves, pero no ambos.
Scott

Scott: A menos que yo mismo me confunda, los puntos 3 y 4 cubren eso. Mi "ni" puede cambiarse por tu "tampoco" !!
user193896

Bueno, uno de nosotros todavía está confundido: "cualquiera de los dos" y "ninguno" no son intercambiables. "Servirán hamburguesas o pollo en el picnic". "No servirán hamburguesas ni pollo en el picnic". ¡Voy al primer picnic! // De acuerdo, me di cuenta de que pasé por alto el hecho de que usted dijo "ni martes ni jueves". Pero eso no ayuda - "ni ... O ..." no es gramatical. Así que no sé qué quiere decir con los párrafos 3 y 4, y no tengo una respuesta a mi pregunta.
Scott

Además, reiteraré el saludo de @ techturtle: bienvenido al superusuario. Para su información, cuando responde a un comentario (en un nuevo comentario), es convencional mencionar el nombre del autor, precedido por "@", como en "@Scott". De esa manera se le notifica. Puede mencionar varios nombres, como en "@mtone, @Scott", pero puede haber un límite de dos o tres nombres. Ver el Respondiendo en comentarios párrafos de la Formato de comentario sección de la página de Ayuda de Edición de Markdown.
Scott

Respuestas:


2

Creo que, básicamente, lo ha conseguido mtone, excepto el poco sobre el pago de las vacaciones (por no trabajar) si trabajas los martes y jueves. Por lo tanto, cambiando para usar las ID de celda sugeridas por el usuario193896 (pero manteniendo la idea de mtone de que B14 podría ser una bandera booleana para identificar los días festivos), el pago para el miércoles debería ser

=IF(AND(B14, F13>0, F15>0), 8+F14*1.5, F14)

multiplicado por la tarifa normal por hora de $ 4 por hora.


Tienes toda la razón, malinterpreté esa parte de la pregunta.
mtone

3

Sería útil ver el diseño de su hoja de cálculo, pero para esta respuesta supondré que está utilizando un calendario de arriba abajo como este.

Para lograr su objetivo, crearemos una columna llamada fórmula "Factor de multiplicación de vacaciones" que contendrá 1 (pago estándar) o 1.5 (pago de vacaciones) según sus condiciones. También necesitará una columna para (manualmente) indicar qué días son días festivos.

1   (A) Date    (B) Holiday?  (C) Hours  (D) Factor      (E) Paid
2   2013-01-30  FALSE         8          1               8 * 1 * $4 = 32
3   2013-02-01  TRUE          4          1.5             4 * 1.5 * $4 = 24
4   2013-02-02  FALSE         8          1               8 * 1 * 4$ = 32

Para mantener las fórmulas simples, necesitamos simplificar sus condiciones tanto como sea posible. Si lo entiendo correctamente, a los empleados siempre se les paga a una tarifa regular (factor 1) en días no festivos. Además, a los empleados que no trabajan en días festivos nunca se les paga (el factor 1 está bien ya que 0 horas * 1 = 0).

Entonces, el único caso que nos queda donde el factor debe ser diferente de 1 es si A) es un día festivo y B) algunas horas se han trabajado antes del día anterior Y después, en cuyo caso el factor debe ser 1.5. ¡Suficientemente simple! Ahora podemos traducir eso en una fórmula con esas 2 condiciones.

Vamos a poner esto en D3. La fórmula verifica si es un día festivo (B3) y las horas trabajadas arriba y abajo (C2 y C4) ese día.

=IF(B3, IF(AND(C2,C4), 1.5, 1), 1)

Entonces eso es 2 declaraciones IF, la primera (externa) es:

=IF(B3....    

Por lo tanto, si B3 es FALSO (no un día festivo), siempre devolverá 1, sin embargo, si es cierto, calculará la segunda condición en el SI anidado:

=IF(AND(C2,C4).....   

Y verifica las horas trabajadas (columna C) y devuelve VERDADERO si ambos valores son VERDADEROS. Tenga en cuenta que estoy usando un atajo diciendo C2 en lugar de C2 & gt; 0; funciona porque 0 siempre es FALSO y cualquier otro número es VERDADERO. Si ambos son VERDADEROS obtendremos el resultado 1.5. Pero si uno o ambos días no tienen horas, devuelve el 1 habitual.

Luego puede copiar esta fórmula en cualquier lugar (excepto quizás la primera fila, ya que no tiene información el día anterior) y siempre debe ser 1 o 1.5, según corresponda.

Finalmente, al calcular su Pago, simplemente multiplique HORAS * FACTOR * TASA DE PAGO.

Editar: Aquí sería una fórmula "simplificada" que combina todo lo anterior en una sola fórmula de columna PAGADA, asumiendo un salario de $ 4 al final. Gracias a Scott por su útil comentario acerca de no necesitar 2 declaraciones IF. Para ser puesto en E3 y copiado en todas partes después de:

= IF (AND (B3, C2 & gt; 0, C4 & gt; 0), C3 * 1.5, C3)) * 4

Edición 2: Me perdí parte de la pregunta en la que se otorgarían 8 horas adicionales de pago estándar si el empleado trabajara el día anterior y posterior. Scott proporciona una solución correcta que incluye eso en cuenta.


Muchas gracias por sus esfuerzos en tratar de ayudarme! Estoy tratando de implementar su solución ahora y ver si funciona en todos mis escenarios. Gracias una vez más por su cuidadosa y pensada explicación.
user193896

1
Como es =IF(B3, IF(AND(C2>0,C4>0), 1.5, 1), 1) diferente de =IF(AND(B3,C2>0,C4>0), 1.5, 1)?
Scott

@Scott +1, ¡eso también funcionaría! Simplemente mantuve las condiciones separadas para reflejar mi proceso de pensamiento de 2 pasos, pero su sugerencia es más legible al final.
mtone

@mtone Ahora, lo veo, aparte del campo verdadero y falso, su solución no es tan diferente a la mía ... y tampoco hace lo que necesito.
user193896
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.