Buen día Viendo las repuestas vi que publicaste una referente a la función Día.Lab que considera los sábados como día laborable, fueras tan amable de explicármela ya que me interesa mucho saber como funciona por ejemplo en donde pongo los datos, que formula pongo, etc. Te agradecería mucho si me pudieras enviar un ejemplo a mi correo [email protected]
Muchas gracias por tu apoyo. Saludos
1 Respuesta
Respuesta de andron
0
0
andron, Tengo experiencia en excel avanzado, word, macros
Una función es un conjunto de instrucciones que devuelven un valor, para este caso, son una serie de if que evalúan el valor de una fecha y si coincide con un parámetro dado, va aumentado un contador que más adelante será utilizado para un propósito, que en este caso es restar a un rango de fecha los domingos. Como se hace: En excel existen varias formas de hacerlo. Primero todas la fechas en excel tienen asignado un valor, por ejemplo: el 27-nov-2006 tienen un valor numérico igual a 38047, si aplicas la función MOD, el divide el número en otro numero y te da el residuo, este es más complejo y menos exacto así que yo preferí usar otra función que se llama weekday, este simplemente te devuelve 1 para lunes, 2 para martes, 3 para miércoles... etc Entonces en el if solamente tienes que decir que si el día es 7 (Domingo) aumente el contador Sería algo como: For i = fecha_inicial to Fecha_final step 1 If weekday(i,2) =7 then (ojo: El dos es el que indica que el lunes sea 1 hasta el domingo 7) Contador=contador+1 else next i End If Obviamente antes tienes que ingresar las fechas antes y esto yo lo hago con un inputbox Ejemplo: Dim fecha_inicial as date = (se define la fecha inicial como variable) Dim fecha_final as date = (se define la fecha final como variable) fecha_inicial = inputbox("digite la fecha") = se habilita un cuadro de texto para ingresar la fecha inicial) fecha_final = inputbox("digite la fecha final") = se habilita un cuadro de texto para ingresar la fecha final) Luego de esto colocas el for y juegas con el numero del contador para restarlo de tu rango de fecha, por ejemplo: Del primero de noviembre al 30 existen 4 domingos, luego el contador estará en 4, este numero se lo puedes restar a tu day(dia_final) que sería 30 de nov de 2006 y te arroja 26 que serían los días laborales del mes incluyendo sábados o una fecha. sería algo como : Day(dia_final)=30 - contador=4 =26. Si quieres que los sábados se resten tambien, simplemente agregas esto: If weekday(i,2) =7 or weekday(i,2)=6 then Contador=contador+1 else next i End If Cualquier duda me comentas.