11. december 2003 - 23:02Der er
16 kommentarer og 1 løsning
Helligdage i lønberegning
Jeg har forsøgt at finde en funktion der kan afgøre om en given dato er helligdag, weekend eller alm. hverdag. Kan det ikke lade sig gøre at importere disse oplysninger til excel.
Jeg er igang med et regneark til beregning af løn, herunder udregning af overtid, nattillæg, diæter osv. til efterfølgende beregning af betalt arbejdsmarkedsbidrag. Hvis nogen kender til templates for dette, er jeg måske helt fri for at lave arket selv?!?
Function Påskedag(InputYear As Integer) As Long ' Returnerer datoen for Påskedag Dim d As Integer d = (((255 - 11 * (InputYear Mod 19)) - 21) Mod 30) + 21 Påskedag = DateSerial(InputYear, 3, 1) + d + (d > 48) + 6 - _ ((InputYear + InputYear \ 4 + d + (d > 48) + 1) Mod 7) End Function
Function HelligdagsNavn(lngdate As Long, InclSaturdays As Boolean, _ InclSundays As Boolean) As String ' Returnerer Sand hvis lngDate er en Dansk HelligdagsNavn/nationaldag ' (valgfri inkludering af lørdag/søndag) ' bruger funktionen Påskedag Dim InputYear As Integer, PD As Long, OK As Boolean If lngdate <= 0 Then lngdate = Date InputYear = Year(lngdate) PD = Påskedag(InputYear) OK = True Select Case lngdate ' Tester nedenstående påstande mod datoen Case DateSerial(InputYear, 1, 1): HelligdagsNavn = "Nytårsdag" Case PD - 3: HelligdagsNavn = "Skærtorsdag" Case PD - 2: HelligdagsNavn = "Langfredag" Case PD: HelligdagsNavn = "Påskedag" Case PD + 1: HelligdagsNavn = "2. Påskedag" Case DateSerial(InputYear, 6, 5): HelligdagsNavn = "Grundlovsdag" Case PD + 26: HelligdagsNavn = "Store Bededag" Case PD + 39: HelligdagsNavn = "Kristi Himmelfartsdag" Case PD + 49: HelligdagsNavn = "Pinsedag" Case PD + 50: HelligdagsNavn = "2. Pinsedag" Case DateSerial(InputYear, 12, 24): HelligdagsNavn = "Julaftensdag" Case DateSerial(InputYear, 12, 25): HelligdagsNavn = "1. Juledag" Case DateSerial(InputYear, 12, 26): HelligdagsNavn = "2. Juledag" Case DateSerial(InputYear, 12, 31): HelligdagsNavn = "Nytårsaftensdag" Case Else End Select OK = False If InclSaturdays Then ' Tester lørdage, hvis de skal medtages If Weekday(lngdate, vbMonday) = 6 Then HelligdagsNavn = HelligdagsNavn & " Lørdag" End If End If If InclSundays Then ' Tester søndage, hvis de skal medtages If Weekday(lngdate, vbMonday) = 7 Then HelligdagsNavn = HelligdagsNavn & " Søndag" End If End If
Godt så... jeg er vist ikke helt på jeres niveau hvad angår funktioner i excel. Hvis jeg nu skal udfylde et helt kalender år med daglige arbejdstider, og udregne overtid osv. afhængigt af helligdage/weekend/hverdage, hvordan anvender jeg så funktionen?.
Jeg forestillede mig at have datoer i kolonne A, Aftalt arbejdstid (Fra-Til) i B og C. afhængig af returneringen fra funktionen Reel arbejdstid (fra-til) i D og E, Timeantal i F. Overtimer (sats 1-2-3) i G,H og I. Diverse andre tillæg i J,K og L. Beregnet Dagløn i M. Arbejdsmarkedsbidrag i N Jeg har nok brug for yderligere "flag" for at tage højde for andre forhold.
Vil det være helt hul i hovedet at gøre det på denne måde? Hvis det ikke lyder helt skidt, skal jeg bare vide hvordan jeg skal indsætte funktionen. Skal den defineres et eller andet sted og derefter kaldes når "aftalt arbejdstid" skal beregnes, eller skal den indsættes direkte i hver enkelt celle?
Jeg har tidligere været igang med arket, men blev ikke færdig da min daværende PC brændte sammen, så jeg er nu startet forfra.
Dengang forsøgte jeg mig med manuelt at sætte "flag" (eller hvad man nu kalder det) til at definere helligdage, tillæg osv. Jeg vil egentlig bare slippe for at skulle gå maylanden igennem for at sætte alle disse flag for helligdage.
kabbak: Jeg er dummie! (men anser dog ikke mig selv for dum) Mit problem er at jeg ikke aner hvordan jeg "bruger" funktionen i kolonne A. Hvordan refererer den til kolonne B, og hvordan får jeg indsat den i kolonnen?
Fint nok.. så var jeg ikke helt galt afmarcheret. Problemet ligger i, at jeg ikke har mulighed for at lave brugerdefinerede funktioner. Jeg ved ikke om det kan være fordi jeg bruger en student version af Office XP. Hvis optionen "brugerdefinerede funktioner" skal enables på en eller anden måde kan det måske løses?? Ellers er jeg villig til at give point for dit forsøg Kabbak.
Jeg har afgivet points til kabbak, men jeg tror nu nok vi startede det forkerte sted. Først og fremmest skal jeg have lagt funktionen ind i et modul... så langt er jeg ikke kommet endnu. Jeg har gang i et andet spørgsmål desangående, men selve funktionen har jeg da fået ud af det (at jeg så ikke kan anvende den er jo en anden sag).
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.