Stava finendo nel dimenticatoio...
Parti da
viewtopic.php?f=26&t=69705#p402581Per il tuo foglio presenze usa un layout come questo:
Uploaded with
ImageShack.us(Colonne A:F)
Le celle con lo stesso colore devono essere contigue.
In Foglio2 ho creato la tabella di "definizione orari" (A1:I11, nell' esempio) e la tabella dei giorni festivi (esempio in col N). L' origine della tabella orari (A1) l' ho nominata "DefOr1", l' intera tabella dei festivi (area azzurra), l' ho nominata "festivi": usero' questi nomi nelle formule successive.
Uploaded with
ImageShack.usNella col A delle presenza (la data) ho usato la formattazione condizionale per evidenziare in grigio i Sab-Dom, usando la clausola "la formula è" e come formula
- Codice: Seleziona tutto
=GIORNO.SETTIMANA(A3;2)>5
In B3 e sottostanti sono evidenziati i festivi con la formula
- Codice: Seleziona tutto
=SE(VAL.ERRORE(CERCA.VERT(A3;Festivi;1;0));0;1)
(da copiare verso il basso)
Ho quindi copiato la funzione XSTRA tra le macro del foglio;
-da excel, Alt-F11 per aprire l' editor delle macro
-Menu /Inserisci /Modulo
-copia il codice dal link che ho dato prima e incollalo nel frame di dx
-inserisci la modifica descritta nel messaggio datato 07/04/09
-torna al foglio orario
A questo punto calcoli gli orari che ti interessano usando la formula
- Codice: Seleziona tutto
=XSTRA(CellaData; PrimaCellaTimbratura;IndirizzoTabDefinizioneOrari;TipoOrario)
Avendo scritto in H2:L2 le sequenza 0, 1, 2, 3, 4 ho usato in H3 la formula
- Codice: Seleziona tutto
=Xstra($A3;$C3;DefOr1;H$2)
L' ho copiata "in lungo e in largo" ottenendo i risultati mostrati nella prima figura.
(le celle poco visibili contengono 00h00m e ho usato la formattazione condizionale per nasconderli)
Ricorda che TipoOrario=0 calcola tutto l' orario corrispondente alle timbrature, mentre un valore diverso (ma <=16) identifica uno straordinario identificato con quelnumero nella tabella di Definizione Orari.
Nell' esempio di tabella (seconda immagine), ho usato solo 4 tipi (ne puoi definire fino a 16); nell' esempio inoltre ho usato solo 6 fasce orarie (dalle 00:00, dalle 6:00, dalle 22:00, dalle 00:00 del "giorno dopo", dalle 6:00 del giorno dopo, dalle 22:00 del giorno dopo), ma ne puoi impostare a piacimento, con la precauzione che esse devono terminare con una colonna vuota.
E' opportuno che ogni riga copra dalle ore 0:00 alle 24:00 del giorno successivo, per poter gestire timbrature quali Entrata=23:00 / Uscita=10:30 (orario da negrieri).
Ogni riga corrisponde a una tipologia di giornata, come indicato in colonna K; devono essere presenti 10 righe di dati, oltre le intestazioni.
La seconda colonna (B, nell' esempio) contiene l' orario standard di lavoro per quella giornata, il calcolo del "tipo" e' effettuato sugli orari successivi alle ore standard. Ne consegue che se si vuol suddividere per "tipo" tutto l' orario lavorato bisogna /basta inserire 0:00 come orario standard.
Se hai solo 2 timbrature userai solo le prime 2 colonne E(ntrata)-U(scita), lasciando vuote le seconde due.
Prova anche tu e fai sapere dove arrivi; e se non risolvi spiega dove invece ti sei arenato.
Ciao