Calcular dias habiles menos sab,dom y feriados

Formulo mi fórmula. Tengo un excel en donde aplico varias fórmulas. Una de las que uso es para averiguar la cantidad de días hábiles excluyendo sábados, domingos y feriados. Estos últimos los toma de una fila que se va actualizando mes a mes con los días festivos.
Esta es la fórmula que uso en el excel:
=SI($AL3<>"";SI(AG3<>"";SI($AL3-AG3=0; 0,5;(DIAS.LAB(AG3;$AL3;$A$1:$AS$1)-1));"");"")
En la ultima parte de la fórmula, calculo lo de los días hábiles hábiles excluyendo lo que comente.
Esto quiero hacerlo en el access, como para automatizar todo un poco, pero no todavía no pude. Hasta cree una tabla con los días festivos pero no llegue a nada.

2 respuestas

Respuesta
1
En mí página web:
http://angelessebas.es/
Tengo un ejemplo de como hacerlo. Está en el apartado Código, supuesto: Diferencia de días entre dos fechas quitando los festivos
Cualquier duda, me consultas.
Muchas gracias por tu respuesta. Me olvide de preguntarte algo que no vi en tu página y me olvide de agregarlo acá. Es si se puede calcular el máximo-mínimo de 2 o 3 columnas de una tabla y que te lo traiga o en otra columna de esa tabla o en otra tabla.
Muchas gracias por todo.
Saludos
Martin
No entiendo bien la pregunta, ¿puedes poner un ejemplo?
Me cuentas.
Hola, te comento Angeles:
Tengo una tabla, con tres columnas y muchas filas llenas de fechas en cada una de ellas. Lo que quiero hacer es sacar el máximo, en este caso la fecha más reciente, entre la primer fila de las tres columnas, entre la segunda fila de las tres columnas y así sucesivamente hasta llegar a la ultima fila de la tabla.
Gracias.
Martin
Una tabla que llamo fechaMaxima con los campos que quieras para comparar, añado un campo nuevo Máxima que es dónde voy a meter la fecha máxima de los campos anteriores. El código seria:
Function ValorMaximo()
'Declaro las variables
Dim db As Database
Dim rs As Recordset
Dim fl As Field
Dim vFecha As Date
'Activo la BD
Set db = CurrentDb
'Creo el recordset sobre la tabla
Set rs = db.OpenRecordset("select * from FechaMaxima")
'Inicio el bucle hasta que llege al final del recordset
Do While Not rs.EOF
'Doy valor a la variable vFecha (la menor fecha posible)
vFecha = CDate(1 / 1 / 1)
'Creo un for each para recorrer los campos
For Each fl In rs.Fields
'Pongo la condición de que el campo no se llame Maxima
If fl.Name <> "Maxima" Then
'Comparo el valor de cada campo con el anterior, si es mayor lo meto en la variable
If vFecha < rs(fl.Name) Then
vFecha = rs(fl.Name)
End If
End If
Next fl
'Una vez recorridos todos los campos <> de Maxima, actualizo este con la variable vFecha
rs.Edit
rs!Maxima = vFecha
rs.Update
'Voy al siguiente registro del recordset
rs.MoveNext
Loop
End Function
Me cuentas.
Respuesta

Ninguna de las repuestas en la más acertada. Descargue e instale el manual y ejemplos para Access y Excel del siguiente link:

Encontrará la solución de la pregunta y mucho más.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas