di Anthony47 » 01/05/13 21:41
Ciao relapsed, benvenuto nel forum.
Temo che il problema abbia una serie di vincoli che non hai descritto e che rendono il lavoro meno automatico di quanto ti immagini; ad esempio rispetto di vincoli di orari di lavoro, di bilanciamento di turno (quante mattive vs pomeriggi vs notte), di bilanciamento di festivi e superfestivi, di riposi obbligatori, di intervallo tra un servizio e l' altro, di compatibilita' "spaziale" tra un servizio e l' altro (per fare un esempio, se il primo servizio lo fai tra Roma e Velletri il secondo non lo puoi fare tra Orte e Fiumicino).
Comunque, se devi scegliere casualmente in un elenco puoi affiancare all' elenco un numero casuale (lo puoi fare usando la funzione Casuale), ordinare poi per questo numero casuale e scegliere i primi N dell' elenco.
Non so con quali regole devi assegnare ogni nominativo un orario di lavoro; sempre rimanendo nel casuale puoi immaginare che i primi N/3 dell' elenco fanno il primo turno, i secondi N/3 il secondo e gli altri il terzo turno.
Infine, partendo dal nominativo e dal suo orario di lavoro cerchi il primo servizio che abbia un orario di inizio compatibile con l' attivita' precedente.
Per quest' ultima fase ti servira' una macro, e mi immagino che la ricerca possa essere facilitata se l' elenco attivita' comprende 4 campi: N° attivita' /Inizio /Fine /Descrizione /Assegnata a.
Come bilanciare la suddivisione e' tutta un' altra storia...
Per qualche spunto in piu' prova a pubblicare un file di test.
Ciao