Fórmula Condicional Excel Bono Vacacional

En una hoja de excel tengo calculado el tiempo de servicio de un trabajador, en una celda tengo los días, en otra los meses y en otra los años, ahora necesito una fórmula que cumpla con las siguientes condiciones, si el trabajador tiene de 0 a 1 año de servicio le corresponden 7 días de bono, de 1 año y 1 día hasta 2 años, le corresponden 8 días de bono, de 2 años 1 día hasta 3 años, le corresponden 9 días de bono y así hasta un tope de 16 años que le corresponderían 22 días de bono, si excede de 16 años siempre el bono va a ser de 22 día. Mucho les Agradecería

2 respuestas

Respuesta
1
Para responder tu pregunta hice unas modificaciones al archivo
En lugar de poner en diferentes columnas el nombre del empleado, días, meses, años
Lo hice colocando los siguientes títulos
· En la celda "a1" Nombre del empleado
· En la celda "b1" fecha de ingreso
· En la celda "c1" fecha actual
· En la celda "d1" Días trabajados
· En la celda "e1" Bono
Y lo siguiente es lo correspondiente a la fórmula.
· En la celda "a2" Adrian R
·         En la celda "b2" 01/27/2011
·         En la celda "c2" =TODAY()
·         En la celda "d2" =IF(C2="","",C2-B2)
·         En la celda "e2" =IF(D2="","",IF(D2<=365,"7 Dias de Bono",IF(D2<=731,"8 Dias de bono",IF(D2<=1096,"9 Dias de bono",IF(D2<=1461,"10 Dias de bono",IF(D2<=1826,"11 Dias de bono",IF(D2<=2192,"12 Dias de bono",IF(D2<=2557,"13 Dias de bono",IF(D2<=2922,"14 Dias de bono",IF(D2<=3287,"15 Dias de bono",IF(D2<=3653,"16 Dias de bono",IF(D2<=4018,"17 Dias de bono",IF(D2<=4383,"18 Dias de bono",IF(D2<=4748,"19 Dias de bono",IF(D2<=5114,"20 Dias de bono",IF(D2<=5479,"21 Dias de bono",IF(D2<=5844,"22 Dias de bono",IF(D2>=5845,"22 Dias de bono"))))))))))))))))))
No olvides finalizar esta pregunta
Respuesta
1
Prueba esta función:
Inserta un modulo y en ese modulo:
Option Explicit
Dim t As Integer
Function bono_vacacion(ByRef dias As Integer, ByRef año As Integer)
'4c7569735f50
    If año >= 0 And año <= 1 And dias = 0 Then t = 7
    If año > 1 And año <= 2 And dias > 0 Then t = 8
    If año > 2 And año <= 3 And dias > 0 Then t = 9
    If año > 3 And año <= 4 And dias > 0 Then t = 10
    If año > 4 And año <= 5 And dias > 0 Then t = 11
    If año > 5 And año <= 6 And dias > 0 Then t = 12
    If año > 6 And año <= 7 And dias > 0 Then t = 13
    If año > 7 And año <= 8 And dias > 0 Then t = 14
    If año > 8 And año <= 9 And dias > 0 Then t = 15
    If año > 9 And año <= 10 And dias > 0 Then t = 16
    If año > 10 And año <= 11 And dias > 0 Then t = 17
    If año > 11 And año <= 12 And dias > 0 Then t = 18
    If año > 12 And año <= 13 And dias > 0 Then t = 19
    If año > 13 And año <= 14 And dias > 0 Then t = 20
    If año > 14 And año <= 15 And dias > 0 Then t = 21
    If año > 15 And dias > 0 Then t = 22
bono_vacacion = t
End Function
Grabas y ya.
Desde la hoja de excel llamas a la función así
=bono_vacacion(dias;año)
En donde los argumentos son días - años puedes digitarlos o poner las referencias de las celdas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas