Avatar billede Adzix Nybegynder
30. juli 2009 - 16:16 Der er 6 kommentarer og
1 løsning

Dato-regner i excel ark

Jeg laver et budgetark til mine ansatte, hvor de kan følge deres løn, deres salgsresultater o.l. i hver lønperiode (fra 16. i hver måned til 15. i den efterfølgende måned). Jeg vil gerne lave en beregner til dem, som fortæller hvor meget de skal sælge/opnå pr. dag i forhold til de resterende dage i lønperioden.  De noterer deres resultater hver dag, og jeg kunne godt tænke mig, at excel kan fortælle dem, hvor mange(arbejds)dage, der er tilbage ud fra enten et datofelt eller ved at modregne de datoer, hvor der er registreret enten aktivitet i, eller hvor de i hvert fald er overstået. Kan det lade sig gøre, og eventuelt hvordan?

Hvis den ligeledes kan udregne automatisk, hvor mange arbejdsdage der er i de forskellige lønperioder (12 / år), ville det være fantastisk.

Det skal siges arbejdsdage kun er mandag-fredag. Lørdag og søndag medregnes ikke.

Der benyttes Office 2003

På forhånd tak for hjælpen.
Avatar billede vejmand Juniormester
30. juli 2009 - 16:33 #1
Det er jo nok lidt svært at se hvordan du har opbygget dit regneark ud fra de oplysninger, men her er en glimrende artikel om Dato- og tidsberegninger i Excel: http://www.eksperten.dk/guide/681

Og her kan du læse om funktionen ANTAL.ARBEJDSDAGE:
http://office.microsoft.com/da-dk/excel/HP052091901030.aspx?pid=CH062528231030
Avatar billede jensen363 Forsker
30. juli 2009 - 17:06 #2
Her er en funktion som giver dig et væld af muligheder for at tælle data

Public Function TÆLDAGE(StartDato As Long, SlutDato As Long, Optional Tæl As Byte) As Long

    Dim AntalDage As Long    ' Antal Dage I alt (Default)
    Dim MAN As Long          ' Mandage
    Dim TIR As Long          ' Tirsdage
    Dim ONS As Long          ' Onsdage
    Dim TOR As Long          ' Torsdage
    Dim FRE As Long          ' Fredag
    Dim LØR As Long          ' Lørdage
    Dim SØN As Long          ' Søndage
    Dim Fridage As Long      ' Helligdage + Lørdage
    Dim HelligDage As Long  ' Alle årets helligdage, inkl. søndage
    Dim Dato As Long        ' Den aktuelle arbejdsdato

    If StartDato < 1 Then StartDato = 1
    If SlutDato < 1 Then SlutDato = Date

    AntalDage = SlutDato
    If StartDato > SlutDato Then
        SlutDato = StartDato
        StartDato = AntalDage
    End If

    AntalDage = SlutDato - StartDato + 1
    TÆLDAGE = AntalDage
    Fridage = 0

    For Dato = StartDato To SlutDato
        If Weekday(Dato, vbMonday) = 1 Then MAN = MAN + 1
        If Weekday(Dato, vbMonday) = 2 Then TIR = TIR + 1
        If Weekday(Dato, vbMonday) = 3 Then ONS = ONS + 1
        If Weekday(Dato, vbMonday) = 4 Then TOR = TOR + 1
        If Weekday(Dato, vbMonday) = 5 Then FRE = FRE + 1
        If Weekday(Dato, vbMonday) = 6 Then LØR = LØR + 1
        If Weekday(Dato, vbMonday) = 7 Then SØN = SØN + 1

        If HELLIGDAG(Dato) <> "" Then
            HelligDage = HelligDage + 1
            If Weekday(Dato, vbMonday) = 6 Then Fridage = Fridage - 1
        End If
    Next

    Fridage = Fridage + LØR + HelligDage

    If Tæl = 1 Then TÆLDAGE = MAN
    If Tæl = 2 Then TÆLDAGE = TIR
    If Tæl = 3 Then TÆLDAGE = ONS
    If Tæl = 4 Then TÆLDAGE = TOR
    If Tæl = 5 Then TÆLDAGE = FRE
    If Tæl = 6 Then TÆLDAGE = LØR
    If Tæl = 7 Then TÆLDAGE = SØN
    If Tæl = 8 Then TÆLDAGE = LØR + SØN
    If Tæl = 9 Then TÆLDAGE = HelligDage
    If Tæl = 10 Then TÆLDAGE = Fridage
    If Tæl = 11 Then TÆLDAGE = AntalDage - Fridage

    If Tæl = 12 Then TÆLDAGE = DateDiff("m", StartDato, SlutDato + 1, vbUseSystemDayOfWeek, vbUseSystem)
    If Tæl = 13 Then TÆLDAGE = DateDiff("ww", StartDato, SlutDato + 1, vbUseSystemDayOfWeek, vbUseSystem)
    If Tæl = 14 Then TÆLDAGE = DateDiff("yyyy", StartDato, SlutDato + 1, vbUseSystemDayOfWeek, vbUseSystem)

End Function
Avatar billede Adzix Nybegynder
03. august 2009 - 14:21 #3
Hej Begge,

Tak for hjælpen. Jeg har nu fået løst min udfordring. Det blev ved hjælp af dato() funktion og den funktion, "vejmand" henviste til (antal.arbejdsdage) Tak for hurtig og konstruktiv feedback.

Mvh. Kasper
Avatar billede vejmand Juniormester
03. august 2009 - 16:13 #4
Velbekomme, bare for en anden gangs skyld:
Husk at sende egne indlæg som "Kommentar" og ikke som "Svar".
"Svar" er tiltænkt løsningen, så der kan tildeles point som tak for hjælpen.  :-)
Avatar billede Adzix Nybegynder
03. august 2009 - 20:17 #5
Så var det derfor, jeg ikke kunne give dig point :( Sorry, men det er min første gang her, så har ikke helt styr på det. Kan jeg ikke give dig pointene på en anden måde?

Kasper
Avatar billede vejmand Juniormester
03. august 2009 - 21:39 #6
Jo, du kan oprette et spørgsmål med titlen:
Point til vejmand
Og i brødteksten linker du hertil, så der er synligt hvorfor du overfører point til mig.  :-)
Avatar billede Adzix Nybegynder
04. august 2009 - 08:58 #7
Så er det oprettet ;)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester