Stellar Blade Un'esclusiva PS5 che sta facendo discutere per l'eccessiva bellezza della protagonista. Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Calcolare giorni consecutivi di assenza

Ultimo Aggiornamento: 31/01/2017 03:27
Post: 34
Registrato il: 13/03/2014
Età: 51
Utente Junior
2010
OFFLINE
26/01/2017 15:05

Buon pomeriggio,
rieccomi qui a chiedere ancora il vostro aiuto in quanto sto continuando a lavorare, nel tempo libero a mia disposizione, sul progetto per la gestione dei turni del personale.
Al momento sto cercando di far contare al mio file i giorni consecutivi di assenza, anche per motivazioni diverse, nel lungo periodo.
In particolare:
- la mia azienda conta circa 30 persone che svolgono una turnazione di servizio, suddivisa in turni feriali e turni festivi;
- inoltre se un dipendente si assenta per 30 giorni feriali consecutivi (quindi non rientrano nel calcolo i giorni festivi) o 30 giorni festivi consecutivi (quindi non rientrano nel calcolo i giorni feriali) non sarà tenuto a dover recuperare il turno NON svolto.

Detto questo potete vedere dalla colonna AI alla colonna AL del foglio denominato "Master recuperi" i vari tentativi che sto provando a far funzionare (file allegato).
Purtroppo mi sto rendendo conto che ciascun tentativo da me preso in considerazione mi calcola anche periodi non consecutivi considerandoli come se lo fossero.

Spero di essere riuscito a far comprendere quale sia la mia problematica.

Grazie a tutti.

Mauro

Mauro [SM=x423051] [SM=x423054]

Versione Excel utilizzata:
- Su Windows: Office 2010
Post: 465
Registrato il: 02/08/2015
Utente Senior
Excel 2013
OFFLINE
27/01/2017 01:32

Ciao,
non ho capito molto le varie abbreviazioni che vuoi considerare, quindi mi limito a proporti due formule (che tra l'altro stavi usando ma in maniera inesatta).

Entrambe le formule sono matriciali (anche se ho visto che già lo sai).

Ad esempio, nella cella AJ19 (per "max frequenza di F. consecutive"):
=MAX(FREQUENZA(SE($D19:$AH19="F."; RIF.COLONNA($D19:$AH19)); SE($D19:$AH19<>"F."; RIF.COLONNA($D19:$AH19))))

nella cella AK19 (per "Somma giorni consecutivi feriali"):
=MAX(FREQUENZA(SE(($D19:$AH19="F.")*(GIORNO.SETTIMANA($D$10:$AH$10)<7)*(GIORNO.SETTIMANA($D$10:$AH$10)>1)*(CONTA.SE(Calendario!$R$12:$R$28;$D$10:$AH$10)=0); RIF.COLONNA($D19:$AH19)); SE(($D19:$AH19<>"F.");RIF.COLONNA($D19:$AH19))))

Le altre sono solo variazioni delle formule precedenti.

P.S.
Se non è strettamente necessario non unire le celle, causano più problemi che altro.
Se vedi, nella seconda formula ho considerato il range $D$10:$AH$10 e non $D$10:$AH$11 (in questo caso dovrebbe funzionare ugualmente utilizzando o uno o l'altro range... ma è sempre meglio andare sul sicuro, specialmente con le formule complesse e matriciali).
[Modificato da cromagno 27/01/2017 01:35]


"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Post: 34
Registrato il: 13/03/2014
Età: 51
Utente Junior
2010
OFFLINE
27/01/2017 09:08

Buongiorno cromagno,
prima di tutto grazie per la risposta se riesco oggi proverò a testare le tue formule e vedere se restituiscono il risultato desiderato.

Vorrei chiedere se la matrice della colonna AI (che fa riferimento a quante volte si ripete la "F." in colonne consecutive fino al raggiungimento di un determinato valore, nell'esempio impostato a 30) si possa adattare al calendario, nel senso di fargli considerare solo le giornate feriali consecutive o le giornate festive consecutive (ovviamente in due colonne distinte).

Quello che vorrei ottenere, insomma, è che se un dipendente si assenta per 30 giorni feriali consecutivi il file mi dica che lui NON debba recuperare 1 turno feriale, se si assenta per 60 giorni feriali consecutivi sono 2 i turni feriali che non debba recuperare e così via. Lo stesso dicasi per i turni festivi (ovviamente considerando 30, 60 ecc. giornate festive consecutive), cosa più difficile a verificarsi ma comunque possibile in rarissimi casi (per fortuna).

P.S.
Per quanto riguarda le celle unite, hai ragione ed è una cosa che ho già provveduto a modificare. Invece, per le abbreviazioni utilizzate trovi una piccola legenda nel foglio "Master prospetto", anche se sono solo indicative e fanno riferimento a:
F. = Ferie
S.E. = Servizio esterno
R. = Recupero ore
R.M. = Riposo medico
insomma tutte quelle situazioni per cui un dipendente possa essere assente per un periodo più o meno lungo.
Mauro [SM=x423051] [SM=x423054]

Versione Excel utilizzata:
- Su Windows: Office 2010
Post: 466
Registrato il: 02/08/2015
Utente Senior
Excel 2013
OFFLINE
27/01/2017 18:04

Re:
MrFama, 27/01/2017 09.08:


Quello che vorrei ottenere, insomma, è che se un dipendente si assenta per 30 giorni feriali consecutivi il file mi dica che lui NON debba recuperare 1 turno feriale, se si assenta per 60 giorni feriali consecutivi sono 2 i turni feriali che non debba recuperare e così via. Lo stesso dicasi per i turni festivi (ovviamente considerando 30, 60 ecc. giornate festive consecutive), cosa più difficile a verificarsi ma comunque possibile in rarissimi casi (per fortuna).



Puoi semplicemente usare le formule proposte prima (naturalmente adattate) per farti restituire i giorni di assenza consecutivi... dividi il tutto per 30 e prendi solamente l'intero del risultato ottenuto.

Schematicamente una cosa del genere:

=INT("formula proposta prima"/30)


"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Post: 468
Registrato il: 02/08/2015
Utente Senior
Excel 2013
OFFLINE
28/01/2017 16:24

quindi?
Hai provato?
[SM=x423066]


"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Post: 35
Registrato il: 13/03/2014
Età: 51
Utente Junior
2010
OFFLINE
28/01/2017 17:19

Ciao cromagno,
ci sto lavorando proprio adesso. Ho provato ad adattare la tua formula anche a festivi e super festivi ma....credo che ci sia ancora qualcosa che non va. I festivi, ad esempio, consecutivi di assenza sono 6 e lui me ne calcola solo 5, errore mio ovviamente.

Riallego il file con le tue formule....caricate.

Mauro [SM=x423051] [SM=x423054]

Versione Excel utilizzata:
- Su Windows: Office 2010
Post: 470
Registrato il: 02/08/2015
Utente Senior
Excel 2013
OFFLINE
30/01/2017 07:43

Re:
MrFama, 28/01/2017 17.19:

Ciao cromagno,
ci sto lavorando proprio adesso. Ho provato ad adattare la tua formula anche a festivi e super festivi ma....credo che ci sia ancora qualcosa che non va. I festivi, ad esempio, consecutivi di assenza sono 6 e lui me ne calcola solo 5, errore mio ovviamente.

Riallego il file con le tue formule....caricate.





Ciao,
week-end terminato.
Tornando al tuo file, mi devi dire a cosa ti stai riferendo.


I festivi, ad esempio, consecutivi di assenza sono 6 e lui me ne calcola solo 5


dove sarebbe questo conteggio che ti da 5 invece di 6 (in quale cella)?

Di volta in volta vedo sempre più dati e meno capisco quello che vuoi ottenere.
Riferisciti ad un unico problema e spiega bene QUANTO ti dovrebbe restituire (scrivere il risultato manualmente serve soprattutto per verificare se le formule restituiscono il risultato corretto).


"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Post: 36
Registrato il: 13/03/2014
Età: 51
Utente Junior
2010
OFFLINE
30/01/2017 08:54

Ciao cromagno,
io il weekend non lo ho nemmeno visto purtroppo....vabbè....

Hai ragione, scusami, il fatto di aver parlato di festivi mi ha fatto dare quasi per scontato che potessi capire a cosa mi stessi riferendo.
Mi spiego, come ho detto ho cercato di adattare la tua formula anche al calcolo di assenze di festivi consecuti, colonna AO, ed anche di super festivi consecutivi, colonna AQ.
Le formule che io ho modificato sono:

festivi (AO:

=MAX(FREQUENZA(SE(($D19:$AH19="F.")*(GIORNO.SETTIMANA($D$10:$AH$10)>=6)*(GIORNO.SETTIMANA($D$10:$AH$10)>1)*(CONTA.SE(Calendario!$R$15:$R$21;$D$10:$AH$10)<>1); RIF.COLONNA($D19:$AH19)); SE(($D19:$AH19<>"F.");RIF.COLONNA($D19:$AH19))))



super festivi (AQ):

=MAX(FREQUENZA(SE(($D19:$AH19="F.")*(CONTA.SE(Calendario!$R$5:$R$14;$D$10:$AH$10)=1); RIF.COLONNA($D19:$AH19)); SE(($D19:$AH19<>"F.");RIF.COLONNA($D19:$AH19))))



Come dicevo, se conto i giorni di assenza per ferie ("F.") nei giorni festivi ne sommo 6 mentre la formula mi restituisce 5. In questi giorni ho provato a modificare la formula ma con scarsi risultati.


Di volta in volta vedo sempre più dati e meno capisco quello che vuoi ottenere.
Riferisciti ad un unico problema e spiega bene QUANTO ti dovrebbe restituire (scrivere il risultato manualmente serve soprattutto per verificare se le formule restituiscono il risultato corretto).



Quello che voglio ottenere è la stessa cosa fatta nella colonna AM riferita alle assenze consecutive in giornate feriali, cioè assenze consecutive in giornate festive e super festive.

Spero di essere riuscito, questa volta, a meglio esprimere la mia necessità.

Grazie
Mauro [SM=x423051] [SM=x423054]

Versione Excel utilizzata:
- Su Windows: Office 2010
Post: 471
Registrato il: 02/08/2015
Utente Senior
Excel 2013
OFFLINE
30/01/2017 09:22

Ciao,
hai detto:

Come dicevo, se conto i giorni di assenza per ferie ("F.") nei giorni festivi ne sommo 6 mentre la formula mi restituisce 5. In questi giorni ho provato a modificare la formula ma con scarsi risultati.



mi spieghi quali sarebbero i 6 giorni di cui parli?
Se prendo come festivi i sabati,le domeniche e i "festivi religiosi" (che immagino siano i superfestivi)... ne vedo 7 consecutivi (interrotti dai giorno NON di ferie, cioè R.M.).
C'è un pò troppa confusione con tutti questi criteri...
Dimmi cosa dovrei contare per ottenere il 6 che dici...e perchè.

Ciao
Tore


"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Post: 37
Registrato il: 13/03/2014
Età: 51
Utente Junior
2010
OFFLINE
30/01/2017 14:38

Prima di tutto, guardando il foglio Calendario, i superfestivi sono quelli che vanno da R5:R14 mentre i festivi, senza tener conto dei sabati e delle domeniche, vanno da R15:R21.

Detto questo i 6 giorni festivi consecutivi a cui mi riferisco, che hanno come motivazione F., sono:
06/01/2017 che nel foglio "Calendario" è posizionato in R16;
07/01/2016
08/01/2016
14/01/2017
15/01/2017
21/01/2017

Il perchè dovrebbe restituire 6 è perchè sto cercando di calcolare le assenze suddivise anche per tipologia (F., R.M., ecc.).
[Modificato da MrFama 30/01/2017 14:39]
Mauro [SM=x423051] [SM=x423054]

Versione Excel utilizzata:
- Su Windows: Office 2010
Post: 473
Registrato il: 02/08/2015
Utente Senior
Excel 2013
OFFLINE
31/01/2017 03:27

Re:
MrFama, 30/01/2017 14.38:

Prima di tutto, guardando il foglio Calendario, i superfestivi sono quelli che vanno da R5:R14 mentre i festivi, senza tener conto dei sabati e delle domeniche, vanno da R15:R21.

Detto questo i 6 giorni festivi consecutivi a cui mi riferisco, che hanno come motivazione F., sono:
06/01/2017 che nel foglio "Calendario" è posizionato in R16;
07/01/2016
08/01/2016
14/01/2017
15/01/2017
21/01/2017

Il perchè dovrebbe restituire 6 è perchè sto cercando di calcolare le assenze suddivise anche per tipologia (F., R.M., ecc.).



Scusa, ma se non lo specificavi nel post precedente come avrei dovuto sapere quali erano per te i festivi e quali i superfestivi???

Detto questo, c'è sempre qualcosa che non quadra nella tua spiegazione...

Tu dici:


i 6 giorni festivi consecutivi a cui mi riferisco, che hanno come motivazione F., sono:
06/01/2017 che nel foglio "Calendario" è posizionato in R16;
07/01/2016
08/01/2016
14/01/2017
15/01/2017
21/01/2017



ma il 06/01/2017 è un superfestivo (da quanto hai spiegato) quindi non rientra nel conteggio della formula in cella AO19 )dove devi considerare "Formula cromagno festivi F.".

Al massimo i giorni da considerare, sono sempre 6, ma sarebbero:
01/01/2017
07/01/2016
08/01/2016
14/01/2017
15/01/2017
21/01/2017

Detto questo, la formula in AO19 diventerebbe:
=MAX(FREQUENZA(SE(($D19:$AH19="F.")*((GIORNO.SETTIMANA($D$10:$AH$10)=7)+(GIORNO.SETTIMANA($D$10:$AH$10)=1)+(CONTA.SE(Calendario!$R$5:$R$14;$D$10:$AH$10)>0)); RIF.COLONNA($D19:$AH19)); SE(($D19:$AH19<>"F.");RIF.COLONNA($D19:$AH19))))

ti ripeto, le formule sono più o meno sempre le stesse.... ma devi essere sicuro di cosa vuoi considerare nel conteggio per poterla modificare a dovere.





"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Vota: 15MediaObject5,00111 1
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 08:35. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com