PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerExcelExcelRäkna övertid med tre olika löner beroende på klockslagRäkna övertid med tre olika löner beroende på klockslag
Föregående Föregående
 
Nästa
 Avaktiverad
Nytt inlägg
 2025-04-19 11:53
 

 Hej,

Jag har försökt få till detta men lyckas inte hela vägen. Om nån kan hjälpa till hade det verkligen uppskattats.

Jag har följande kolumner: Dag, Datum, Startid, Lunch, Sluttid, Totalt arbetad normaltid, Lön Normaltid.

Allt detta går fint att ställa upp och få uträkningar på men det är i följande kolumner som jag inte får till uträkningarna.

Fortsättning kolumner: Övertid A, Övertid B, Övertid C, Totalt antal timmar övertid, Lön övertid, Total lön normaltid + övertid.

 

Hjälp celler: Normal arbetstid: 08:00

Timlön:100

Obetald lunch: 01:00

Övertid A: 150 (50% efter kl 17:00)

Övertid B: 170 (70% efter kl 19:00)

Övertid C: 200 (100% efter kl 22:00)

Övertid C: 200 (100% lördagar och söndagar)

 

Senario: Starttid:09:00 Lunch:01:00 Sluttid: 22:30. Vilka formler ska jag använda för att få korrekt uträknat antal timmar i övertid A,B och C, beroende på sluttid? 

På förhand jättestort tack!

Nytt inlägg
 Igår @ 15:44
 

Det enklaste hade varit om Starttid och Sluttid hade innehållit Datum också. Men låt oss anta att en sluttid som är mindre än starttiden = dygnet efter.

Om formlerna skall gå att läsa måste du skapa 2 hjälpkolumner för att göra formlerna kortare. Start och Stop som inkluderar datumen

Start är:

=[@Datum]+[@Startid]

Slut är:

=OM([@Sluttid]<[@Startid];[@Datum]+1+[@Sluttid];[@Datum]+[@Sluttid])

Du kan dölja hjälp-kolumnerna om du tycker att de stör.

***************************************************************

vi måste nästan börja bakifrån med att definiera helgtiden. 

Så här får du reda på när veckans lördag börjar:

=HELTAL(6-VECKODAG([@Datum];2)+[@Datum])

och söndagen slutar/nästa veckas månad börjar

=HELTAL(8-VECKODAG([@Datum];2)+[@Datum])

Jag misstänker starkt att helg-avtalet gäller fram till måndag morgon. Men det har du inte skrivit ut så det får du fixa själv.

 

*************************************************************

Du kan börja med: Övertid C, helger:

Den perioden slutar med det högsta värdet av Stop eller midnatt - söndag till måndag

=MIN([@Stop];HELTAL(8-VECKODAG([@Datum];2)+[@Datum]))

Och den startar med det högsta värdet av start eller midnatt fredag till lördag

=MAX([@Start];HELTAL(6-VECKODAG([@Datum];2)+[@Datum]))

Och formeln blir:

=MIN([@Stop];HELTAL(8-VECKODAG([@Datum];2)+[@Datum]))-MAX([@Start];HELTAL(6-VECKODAG([@Datum];2)+[@Datum]))

Det ger ett negativt tal om helgen inte ingår i arbetstiden

Och då kan du säga att alla negativa värden skall ersätta av 0 med hjälp av en max-sats:

=MAX(0;MIN([@Stop];HELTAL(8-VECKODAG([@Datum];2)+[@Datum]))-MAX([@Start];HELTAL(6-VECKODAG([@Datum];2)+[@Datum])))
 
Jättesmidigt, not.
*******************************************************************************************
Övertid C: 200 (100% efter kl 22:00)
Sen måste du få till övertiden mellan 22:00 och 07:00 dygnet efter  (eller liknande, jag antar att nattskiftet inte slutar vid midnatt?) men utesluta sådant som hamnar på helgen. 
 
Så tiden slutar vid det minsta värdet av stop, 07:00 dygnet efter eller midnatt mellan fredag/lördag (då är det ju helg). Dvs
=MIN([@Stop];HELTAL(6-VECKODAG([@Datum];2)+[@Datum]);[@Datum]+1+"07:00")
 
Och den startar vid det största värdet av Start, den här veckans måndag morgon eller kl 22:00
=MAX([@Start];HELTAL(8-VECKODAG([@Datum];2)+[@Datum])-7;[@Datum]+"22:00")
 
subtrahera och omvandla till 0 om negativt
=MAX(0;MIN([@Stop];HELTAL(6-VECKODAG([@Datum];2)+[@Datum]);[@Datum]+1+"07:00")-MAX([@Start];HELTAL(8-VECKODAG([@Datum];2)+[@Datum])-7;[@Datum]+"22:00"))
 
***********************************************************************************************
Övertid B: 170 (70% efter kl 19:00)

Dvs Mellan 19:00 och 22:00. Om det inte är helg.

Då slutar perioden vid det minsta värdet av Sluttid och 22:00 eller midnatt mellan fredag/lördag.

=MIN([@Stop];[@Datum]+"22:00";HELTAL(6-VECKODAG([@Datum];2)+[@Datum]))

Och den startar vid det högsta värdet av start och 19:00 

=MAX([@Start];[@Datum]+"19:00")

subtrahera och omvandla till 0 om negativt

=MAX(0;MIN([@Stop];[@Datum]+"22:00";HELTAL(6-VECKODAG([@Datum];2)+[@Datum]))-MAX([@Start];[@Datum]+"19:00"))

******************************************************************************************

Övertid A: 150 (50% efter kl 17:00)

Dvs Mellan 17:00 och 19:00. Om det inte är helg.

Tiden slutar vid det minsta värdet av stop, 19:00 eller midnatt mellan fredag/lördag.

=MIN([@Stop];[@Datum]+"19:00";HELTAL(6-VECKODAG([@Datum];2)+[@Datum]))

Och den startar vid det högsta värdet av start och 17:00 

=MAX([@Start];[@Datum]+"17:00")

subtrahera och omvandla till 0 om negativt

=MAX(0;MIN([@Stop];[@Datum]+"19:00";HELTAL(6-VECKODAG([@Datum];2)+[@Datum]))-MAX([@Start];[@Datum]+"17:00"))

***************************************************************

Normaltiden borde bli rätt så här:

=MAX(0;MIN([@Stop];[@Datum]+"17:00";HELTAL(6-VECKODAG([@Datum];2)+[@Datum]))-MAX([@Start];[@Datum]+"07:00"))-[@Lunch]

Föregående Föregående
 
Nästa
 Avaktiverad
ForumForumDiskussionerDiskussionerExcelExcelRäkna övertid med tre olika löner beroende på klockslagRäkna övertid med tre olika löner beroende på klockslag

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter