Hacer una fórmula para calcular días de vacaciones tomadas.

Ojala me puedan ayudar como puedo hacer para obtener una fórmula para calcular los días de vacaciones disfrutados que toma una persona en un centro laboral, por ejemplo como muestro en la imagen de excel, cuando una persona sale de vacaciones el 01/04/2023 y regresa a sus labores el 02/05/2023, lo cual me tiene que dar como resultado de días disfrutados que tomo 30 días de vacaciones ya que el 01/05/2023 cayo feriado en el calendario, lo estuve intentando con la fórmula DÍAS.LAB. INTL, pero no me sale, espero me ayuden.

Respuesta
2

¿Estás seguro que debiera sumar 30 días de vacaciones? Me parece que así como le restas los feriados también le tendrás que restar los fines de semana, porque no son días laborales.

Y en ese caso podrías utilizar 2 funciones:

=DIAS.LAB.INTL(fecha_inicial, fecha_final, [fin_de_semana], [vacaciones])

Donde en [fin de semana] pondrás 1 si se trata de Sab-Dom, 2 si es Dom-Lun y así según una tabla de valores que encontrarás en la ayuda de la función.

=DIAS.LAB(fecha_inicial, fecha_final, [vacaciones])

Aquí no se indica el tipo de fin de semana, solo se asume que son 2 días.

El resultado será el mismo para tu ejemplo = 21 días (no 30).

Lo que sucede es que en mi país los días de vacaciones son 30 días naturales por año y no interesa si cae feriado, se cumple desde la fecha de inicio que se le otorga al trabajador, solo nomas hay que tener en cuenta la formula del conteo de vacaciones con la formula cuando regresa a laborar nomas, por que si cae un día sábado o domingo y feriado no se puede incorporar ese día, pero en si el trabajador cumple sus 30 días calendarios como manda la ley aqui en PERÚ.

Y le detallo por ejemplo aqui en Lima trabajo en un hospital y hay dos tipos de trabajadores con diferentes horarios, los llamados administrativos y los asistenciales.

- Los administrativos (Ingenieros, informáticos, secretarias, contadores, etc) son los que trabajan de Lunes a Viernes de 07:00 a.m  a 5:00 p.m y descansan los sábados y domingos.

- Los asistenciales son todos los que están en rol es decir los que hacen guardias diurnas y nocturnas como las enfermeras y médicos, por ejemplo, si ellos tomaran sus vacaciones los 30 días calendarios y su regreso a labores cayera en calendario feriado o sábado o domingo, alli eso no importaría por que para ellos no existen ni feriados ni sábados o domingos para incorporarse ya que ellos hacen guardias y están en rol, en cambio un administrativo es diferente ya que ellos no hacen guardias y no pueden incorporarse un sábado o domingo o feriados por que para ellos esos días no se trabaja según ley.

Ah, entonces no podrás utilizar DIAS.LAB porque se excluyen los sab y dom.

Te preparé una tablita con un par de columnas auxiliares, para separar las fórmulas y que se comprenda la idea. Ya me dirás si estos resultados son correctos.

Se parte de una fecha de inicio + 30 días = fecha de regreso o fecha final... a continuación evaluamos 2 condiciones:

Col E: Si es feriado, en ese caso se suma 1 a la fecha de fin.

Col F: Si la fecha obtenida en la col E es sábado o domingo. En ese caso se suman 2 o 1 día más según corresponda.

Las fórmulas auxiliares entonces son:

E2 (en imagen): se busca la fecha en el rango de los feriados, si la encuentra suma 1.

=SI(ESERROR(BUSCARV(D2;$K$3:$K$8;1;FALSO));D2;D2+1)

F2: evalúa si la fecha obtenida cae en día sáb o dom:

=SI(DIASEM(E2;2)=6;E2+2;SI(DIASEM(E2;2) = 7;E2+1;E2))

Estoy utilizando el separador punto y coma, quizás tengas que reemplazarlo por coma si ese es tu caso. Lo que aparece en col H no es necesario, solo para recordar porqué se llegó a ese resultado ;)

Podés solicitarme el ejemplo a mi correo (lo encontrarás en sección Contactos de mi sitio que dejo al pie)

Por supuesto, según tus comentarios, deberás evaluar también qué tipo de trabajador es, si es que el cálculo se hará en la lista completa de personal.

Sdos!

1 respuesta más de otro experto

Respuesta
1

Le puedes utilizar la siguiente fórmula para calcular los días de vacaciones disfrutados:

=SI(DIASEM(B2;2)<=5; SI(DIASEM(A2;2)<=5; B2-A2+1; B2-A2); SI(DIASEM(A2;2)<=5; B2-A2-2; B2-A2-1))

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas