Condividi:        

Calcolo Maggiorazione Ore lavorative

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Calcolo Maggiorazione Ore lavorative

Postdi Simo1 » 03/06/19 09:58

Stavo cercando una macro per calcolare le maggiorazioni sugli straordinari, ho trovato la tua discussione
viewtopic.php?f=26&t=110635

Volevo chiederti ulteriori delucidazioni su come usare quel lavoro. Grazie!
Simo1
Utente Junior
 
Post: 75
Iscritto il: 21/11/18 08:41

Sponsor
 

Re: Calcolo Maggiorazione Ore lavorative

Postdi Anthony47 » 03/06/19 18:02

La discussione che hai citato contiene gia' un file dimostrativo, parti da quello e su quello sperimenta che cosa puoi ottenere.
viewtopic.php?f=26&t=110635

Ho inoltre inserito il link a vecchie discussioni tutte basate sulla funzione XSTRA; questo ti consentira' di utilizzare l'esperienza di altri utenti per la realizzazione del tuo lavoro.

Prova e vediamo dove arrivi...
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Cambio colore se le giornate lavorative continue sono ug

Postdi Simo1 » 03/06/19 19:04

Ok ci provo heheheh.... Solo una cosa le maggiorazioni dove le inserisco?questo Non l ho mica capito :-(
Simo1
Utente Junior
 
Post: 75
Iscritto il: 21/11/18 08:41

Re: Cambio colore se le giornate lavorative continue sono ug

Postdi Simo1 » 04/06/19 09:53

Niente Anthony purtroppo ho altre quadrature e non riesco proprio ad adattarla alle mie esigenze. Se è possibile ti inoltrerei i file così puoi farti un idea di che calcoli dovrei fare.... Anche perché ho molte maggiorazioni in base alle ore ordinarie diurne e notturne in diverse fasce orarie con festivo, festivo sesto giorno, domenica normale domenica sesto giorno però riferito al venerdì se dovesse accadere.

Posso inoltrartelo qui? O apro un altro topic?

Grazie mille
Simo1
Utente Junior
 
Post: 75
Iscritto il: 21/11/18 08:41

Re: Calcolo Maggiorazione Ore lavorative

Postdi Anthony47 » 04/06/19 10:47

Tramite XSTRA tu puoi avere la segmentazione delle ore (ordinarie o straordinarie; tante di tipo 1, tante di tipo 2, etc, per quante definizioni hai fatto nella tabella DefOrari).

Il tracciato dati deve essere quello descritto nel mio messaggio che descrive XSTRA:
-una colonna con la data e alla sua destra una colonna che indica se la data e' festiva (da elenco "festivi"; non il Sab /Dom)
-quattro colonne per due coppie Entrata/Uscita (puo' essere compilata anche solo una Entrata/Uscita)

Se il tracciato e' diverso alloera devi adattare il tracciato.

Se il tracciato e' coerente con quanto descritto allora puoi allegare un file dimostrativo, con le prove che hai fatto, con la descrizione dei risultati che vorresti ottenere rispetto a quelli che invece ottieni.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Cambio colore se le giornate lavorative continue sono ug

Postdi Simo1 » 04/06/19 11:10

Ok ci riprovo mi dici solo dove posso inserire le maggiorazioni dei vari turni? Così che possa inserirle e vedere se la somma alle ore ordinarie è alle straordinarie possono essere corrette?

Grazie ancora per la pazienza
Simo1
Utente Junior
 
Post: 75
Iscritto il: 21/11/18 08:41

Re: Calcolo Maggiorazione Ore lavorative

Postdi Anthony47 » 04/06/19 11:37

Con XSTRA calcoli e segmenti le ore; cosa intendi per "maggiorazioni"?
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Cambio colore se le giornate lavorative continue sono ug

Postdi Simo1 » 04/06/19 11:41

Ha un altra cosa.... Che differenza c'è tra "foglio1" e "supporto"?
Simo1
Utente Junior
 
Post: 75
Iscritto il: 21/11/18 08:41

Re: Cambio colore se le giornate lavorative continue sono ug

Postdi Simo1 » 04/06/19 11:46

In pratica per ogni turno di lavoro abbiamo delle maggiorazioni ad esempio dalle 06 alle 14 sono 8 ore di lavoro normali dalle 14 alle 22 interviene una maggiorazione dalle ore 18 alle 22 come orario notturno in percentuale del 27%.
Dalle 22 alle 06 per tutte le 8 ore c'è una maggiorazione del 35%. Sullo straordinario, in base agli orari, hanno una maggiorazione diversa in base alla quantità. Non so se mi sono spiegato cmq t inoltro la tabella così t fai un idea
Simo1
Utente Junior
 
Post: 75
Iscritto il: 21/11/18 08:41

Re: Cambio colore se le giornate lavorative continue sono ug

Postdi Simo1 » 04/06/19 11:52

Immagine
Simo1
Utente Junior
 
Post: 75
Iscritto il: 21/11/18 08:41

Re: Calcolo Maggiorazione Ore lavorative

Postdi Anthony47 » 04/06/19 23:48

Non sono certo di interpretare correttamente la tua tabella.
Supponiamo che le righe "straordinaria" siano legate alle ore OLTRE le Ordinarie mentre le righe "ordinaria" siano legate alle ore Ordinarie.
Poiche' le maggiorazioni sono diverse, per la stessa fascia oraria (es Notturno) a seconda che si tratti di orario Ordinario o ore Straordinarie dobbiamo avere una colonna che spiega se l'orario del lavoratore e' Diurna o Notturna: io ho usato la colonna G del foglio Timbrature, compilandola con D oppure N.
Bisogna inoltre avere due tabelle DefOrari diverse.
Supponiamo che l'orario notturno (ordinario o straordinario) sia quello compreso tra le 22:00 e le 6:00

Allora, prendiamo la prima parte della tua tabella ("feriale") e vediamo come si possono segmentare le ore e come gestire i risultati nel caso di orario Diurno

Ho detto che bisogna creare due DefOrari; dalla mia interpretazione di quanto detto finora, queste tabelle avranno questi due aspetti:

Immagine
Fare click sull'immagine per vederla completa

La parte compilata (forse appropriatamente) e' solo quella in Verde; mappare l'area in grogio lo lascio a te.
La prima tabelle e' riferita all'orario di lavoro Diurno; la seconda all'orario Notturno.

Come vedi, l'orario giornaliero standard viene dichiarato 0h0m, per cui le tabelle splittano tutte le ore lavorate (non solo quelle "straordinarie").
Avendi due tabelle DefOrari, dobbiamo modificare la formula usata per calcolare i risultati; avendo usato la colonna G per indicare se l'orario e' Diurno o Notturno, la formula che useremo (ad esempio in H3:O3 del foglio Timbrature) sara':
Codice: Seleziona tutto
=SE(G3="D";Xstra3($A3;$C3:$F3;Foglio1!$A$1:$I$11);SE(G3="N";Xstra3($A3;$C3:$F3;Foglio1!$A$31:$I$41);NON.DISP()))

Ricordo che bisogna selezionare tutte le celle in cui va inserita la formula (H3:O3, nell'esempio); scrivere la formula nella barra della formula; confermare con Contr-Maiusc-Enter, non il solo Enter.

Poi l'intera riga con formula va copiata verso il basso.

Ad esempio, con alcune timbrature di esempio, potremmo ottenere i seguenti risultati:

Immagine
Fare click sull'immagine per vederla completa


Come si leggono i risultati:
MERC 2 genn: totale 13:30 ore lavorate; di cui 13:00 di "fascia 1" (6-22); e 0:30 di fascia 2 (notturno straordinario)
GIO 3 genn: totale 11:00 ore lavorate; di cui 1:00 in fascia 1 (dalle 6 alle 7 di Ven mattina); 3:00 in fascia 3 (18-22); 8:00 in fascia 4 (notturno 22-6)
VEN 4 genn: totale 13:00 ore lavorate; di cui 1 in fascia 3 (18-22); 8:00 in fascia 4 (notturno 22-6) e 4:00 in fascia 5 (diurno Sabato; infatti l'orario ipotizzato, 21:00 - 10:00, spazia fino a sabato mattina)

Come si "lavorano" i risultati.
Gli orari cosi' calcolati vanno lavorati con le maggiorazioni che corrispondono alla tua tabella.
Vedo che nella tabella ci sono piu' colonne, di cui non conosco il significato; usero' quindi quel che leggo nella prima colonna.
Ad esempio, alle ore del codice 1 (diurno 6-22), se relative a una giornata con orario Diurno, vanno sottratte le ore di lavoro standard, e alle rimanenti va applicata la maggiorazione 25% (prime 2 ore) e 35% le rimanenti.
Se invece relative a un orario Notturno allora al risultato non va sottratto 8:00 e si applicano direttamente le maggiorazioni del 25% o 35%

Una formula che applica dette "maggiorazioni" alle ore di tipo 1 contenute in I4 dovrebbe essere
Codice: Seleziona tutto
=SE((I4-8/24*(G4="D"))>0;8/24*(G4="D")+SE((I4-8/24*(G4="D"))>(2/24);((I4-8/24*(G4="D"))-2/24)*1,35+2/24*1,25;(I4-8/24*(G4="D"))*1,25);I4)

Per l'interpretazione della formula, tieni presente che le varie componenti del tipo 8/24 serve per trasformare in formato orario Excel quel numero di ore (es 2,5/24 indicherebbe 2h30m)

Per il Tipo 2, se l'orario e' Diurno si tratta di straordinario notturno, cui va applicata direttamente la maggiorazione del 55%; per il contenuto di J4 bastera' la formula
Codice: Seleziona tutto
=SE(G4="D";J4*1,55;0)

(il SE non sarebbe nemmeno necessario, visto che la tabella DefOrari per orario Notturno non utilizza il tipo 2)

Lascio a te individuare le formule che inseriscono le maggiorazioni agli altri "tipi" di ore lavorate

Le "ore maggiorate" cosi' calcolate (per "tipo") vanno poi sommate per calcolare il nuovo orario convenzionale, sulla cui base immagino dovrai calcolare poi delle retribuzioni.

Concludo pero' con una considerazione: si tratta palesemente di attivita' commerciale non di piccolo cabotaggio; ha senso affidarsi a una soluzione "amatoriale" o non avrebbe piu' senso affidarsi a una societa' di consulenza, che potra' preparare una soluzione probabilmente piu' solida e certamente su misura, e quindi piu' facile da applicare?

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Calcolo Maggiorazione Ore lavorative

Postdi Simo1 » 05/06/19 10:47

Grazie Anthony come sempre molto esaustivo in realtà rimane sempre una questione amatoriale in quanto poi il calcolo per la retribuzione e la busta paga è un ente esterno che se ne occupa a noi interessa solo vedere quanto straordinario viene fatto aggiungendo le maggiorazioni, il tutto trasformate in orario, vengono poi usate solo per farsi un idea di quello che può costare quello straordinario.

Grazie mille ancora ora la testo è t faccio sapere
Simo1
Utente Junior
 
Post: 75
Iscritto il: 21/11/18 08:41

Re: Calcolo Maggiorazione Ore lavorative

Postdi Simo1 » 05/06/19 17:04

C'è qualcosa che non quaglia.... Perché le ore lavorative sono sempre 8 divise in 3 turni 1° turno(6/14) 2° turno(14/22) 3° turno(22/06) le ore che si fanno in più prima o dopo sono straordinarie in base alla tabella postata ai quali poi va sommata la maggiorazione. Succede che venga fatto un turno giornaliero che sarebbe 8/16 che sono ordinarie cmq, 8/18 con 2 ore di straordinario normale, 8/20 4 ore straordinarie di cui le ultime due notturne..... Ho provato a modificare aggiungendo colonne e codici.... Ma ho fatto una confusione pazzesca... :-(
Simo1
Utente Junior
 
Post: 75
Iscritto il: 21/11/18 08:41

Re: Calcolo Maggiorazione Ore lavorative

Postdi Anthony47 » 06/06/19 01:38

Dalle tue nuove considerazioni deduco che avevo capito poco della tua tabella, ma anche della tua situazione (d'altra parte la mia firma, sul tuo foglio, non c'e', eh he...)

Mi pare di capire che tu hai tre turni, il primo 6-14, e i calcoli sono da fare per le ore fuori da questa fascia; sia prima l'ora di inizio che dopo l'ora di fine turno.

Allora dovremo preparare 3 tabelle DefOrari; ma che faccia debbano avere per rispettare la tua tabella di maggiorazione non lo so perche' (la prima cosa che noto) io non so che cosa si intende per "straordinario notturno" (e ho sviluppato la funzione XSTRA proprio perche' non lo voglio sapere).
Supponiamo che sia "diurno" tutto il lavoro fatto dalle 6 fino alle 18; e notturno quello fatto dalle 18 fino alle 6

Per quanto riguarda il Sabato, supponiamo che fino alle 6 del mattino sia da considerare ancora facente parte del giorno feriale precedente.

Con queste mie ipotesi (di cui un paio assolutamente arbitrarie), la tabella DefOrari relativa al primo turno potrebbe avere questo aspetto:

Immagine
(cliccare sull'immagine per vedere l'immagine completa)

L'unica area abbozzata e' quella in verde relativa al Lun-Ven lavorativi (con l'area in verde scuro che si proietta nel Sabato)

Supponiamo infine che usiamo la colonna G del foglio Timbrature per indicare il turno di lavoro (1, 2, 3).

Allora la formula da utlizzare sul foglio Timbrature, in H3:O3, sarebbe
Codice: Seleziona tutto
=SE(G3=1;Xstra3($A3;$C3:$F3;Foglio1!$A$1:$K$11);SE(G3=2;Xstra3($A3;$C3:$F3;Foglio1!$A$31:$K$41);SE(G3=2;Xstra3($A3;$C3:$F3;Foglio1!$A$61:$K$71);NON.DISP())))

Da inserire con Contr-Maiusc-Enter; poi da copiare verso il basso.

Con qualche timbratura dimostrativa, l'esito sarebbe:
Immagine
(cliccare sull'immagine per vedere l'immagine completa)

Per il giorno 2 genn ho ipotizzato una timbrature 5:00 /20:30, per un totale ragguardevole ma solo a uso esempio di ore 15:30
In Tipo 1 sono le ore normali, calcolate in 8
In Tipo 2 sono le ore straordinarie diurne (fino alle 18), calcolate in 4 (cella J4)
In Tipo 3 sono gli straordinari notturni (sia fino alle 6 che dopo le 18), calcolate in 3:30 (cella K4)

Per calcolare le maggiorazioni da applicare al tipo 2 ho usato (relativamente al dato in J4)
Codice: Seleziona tutto
=SE(J4>2/24;2/24*1,25+(J4-2/24)*1,35;J4*1,25)


Per le maggiorazioni al Tipo 3 ho usato (relativamente al dato in K4)
Codice: Seleziona tutto
=SE(K4>2/24;2/24*1,45+(K4-2/24)*1,5;K4*1,45)

Le ore maggiorate vengono cosi' calcolate pari a 5h12m (straordinarie diurne) e 5h09m (straordinarie notturne)

Spero che questo ulteriore esempio ti aiuti a mappare correttamente i tuoi orari

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Calcolo Maggiorazione Ore lavorative

Postdi Simo1 » 06/06/19 22:12

Anthony ottima macro la sto testando.... Ho avuto qualche difficoltà per il turno centrale a far quadrare le ore... Ma aggiungendo una quarta tabella e un codice sulla formula sono riuscito a ovviare il problema.... Ora devo proseguire a vedere di inserire e modificare i codici delle ore in base alle mie esigenze.... T tengo informato
Simo1
Utente Junior
 
Post: 75
Iscritto il: 21/11/18 08:41

Re: Calcolo Maggiorazione Ore lavorative

Postdi Simo1 » 06/06/19 22:18

Nell eventualità mi serva aggiungere codici.... Ora arrivano fino al 7....ci sono problemi? Xke molto probabilmente dovrò fare quadrare le ore su altre celle per poi aggiungerci le maggiorazioni appropriate. Dimmi se posso procedere tranquillamente
Simo1
Utente Junior
 
Post: 75
Iscritto il: 21/11/18 08:41

Re: Calcolo Maggiorazione Ore lavorative

Postdi Anthony47 » 07/06/19 01:37

La funzione XSTRA restituisce fino a 16 codici diversi.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Calcolo Maggiorazione Ore lavorative

Postdi Simo1 » 07/06/19 15:09

Anthony scusa ma mi sono bloccato. i festivi, se sono infrasettimanali ok, me li prende, ma se un festivo mi cade di domenica, me lo calcola come domenica e non come festivo che sarebbe la riga 10 se non sbaglio. Più che altro è perchè a me serve separare le due cose, la domenica ha la sua classificazione e se è anche una festività ne deve avere un'altra.

Poi un altra cosa che forse ho omesso all'inizio, noi lavoriamo h24 7 giorni su 7, le giornate lavorative sono sempre 5 peò facendo riposi compensativi durante la settimana e lavorando il sabato e la domenica, ecco il perchè della mia richiesta nel primo punto, ma quello che mi preme e fare calcolare alla funzione il sesto giorno lavorato. Come la macro che avevi creato per far colorare la celle in caso i gironi lavorativi fossero più di 5, ecco una cosa del genere. Perchè anche in quel caso lo scomparto delle ore è diverso.

grazie e buona giornata
Simo1
Utente Junior
 
Post: 75
Iscritto il: 21/11/18 08:41

Re: Calcolo Maggiorazione Ore lavorative

Postdi Anthony47 » 08/06/19 23:28

Il codice 10 su DefOrari significa Festivo seguito da Festivo; tu invece vorresti far riferimento al codice 9 che ha il significato di Festivo infrasettimanale e che quindi viene "oscurato" se quel festivo capita gia' in giorno festivo.

Ora non sarebbe difficile modificare il codice della XSTRA per estendere il numero di righe della tabella DefOrari e creare il rigo Festivo_Domenicale
a) in questa sequenza aggiungere la riga marcata +++
Codice: Seleziona tutto
If Weekday(Data, vbMonday) = 7 Then
    If Data.Offset(1, 1) = 1 Then GSett = 10
    If Data.Offset(0, 1) = 1 Then GSett = 11     '+++
End If

b) Sostituire queste righe
ReDim DOArr(0 To 10, 0 To DefCols)
DOArr = DefOrario.Range("A1").Resize(10 + 1, DefCols + 1).Value


con queste
Codice: Seleziona tutto
ReDim DOArr(0 To 11, 0 To DefCols)    '10>11   Supporto codice 11
DOArr = DefOrario.Range("A1").Resize(10 + 2, DefCols + 1).Value  '+1 >+2


Pero' sono sempre piu' convinto che uno sviluppo ad-hoc, fatto da un consulente che possa esaminare con voi le vostre esigenze e tradurle in codice, sia la strada che dovresti percorrere.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Calcolo Maggiorazione Ore lavorative

Postdi Simo1 » 10/06/19 10:39

Ciao Anthony, guarda per l uso amatoriale che debbo farne va più che bene così.

Ho modificato il codice aggiungendo fino a 20 codici in più x renderlo ancora più efficace ho esteso la formula aggiungendone altre 4 con relative tabelle di riferimento.

C è solo un bug.... Il prefestivo me lo riconosce solo se ci sono 2 festivi diseguito esempio 25e26 dicembre .... Altrimenti no.

Per il sesto giorno lavorativo sarebbe a dire, se in una settimana vengono lavorati 6 giorni con un solo riposo il sabato e considerato sesto giorno con le maggiorazioni del caso... se imvece il sesto giorno cade di domenica con riposo sabato, in quel caso il sesto giorno è venerdì in pratica vengono calcolati come 8 ore di straordinario in base al turno.
Se nn è troppo complicato inserire questa modifica nel codice sorgente.... Altrimenti vedo di aggiungere un altra tabella dedicata con una nuova formula. Dimmi tu quale può essere la soluzione e migliore.

Grazie ancora e cmq come sempre un lavoro eccellente quello che fai sempre al top.
Simo1
Utente Junior
 
Post: 75
Iscritto il: 21/11/18 08:41

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Calcolo Maggiorazione Ore lavorative":


Chi c’è in linea

Visitano il forum: Nessuno e 93 ospiti