Avatar billede petert Forsker
08. januar 2007 - 11:57 Der er 39 kommentarer og
1 løsning

Antal hverdage i en måned

Jeg har følgende problem.I et exel ark ønsker jeg at få oplyst hvor mange hverdage,lørdage,søndage der er i en bestemt måned.
I projekt mappen er der 2 ark. I ark 1 celle C34 skriver jeg eks.2 for febuar og i C35 skriver jeg 2007 for året.Jeg ønsker så på ark 2 i celle H5 at få antallet af Eks. hverdage i febuar måned 2007.Kan det også lade sig gøre med Lørdage i H9 og søndage i H14.Hvor dan skal en sådan formel se ud og hvordan skal cellen formateres??
Mvh
Petert
Avatar billede mugs Novice
08. januar 2007 - 12:46 #1
Avatar billede petert Forsker
08. januar 2007 - 13:14 #2
Hej Mugs.
Nu trænger vi til hjælp i det nordsjællanske igen.
Jeg han godt læse svaret på din link men er ikke klar over hvordan jeg gør i mit tilfælde.
Når jeg indtaster Esk. 2 for febuar og 2007 så skal jeg bare have formlen til at udregne dagene i den aktuelle måned, Således hvis jeg taster 4 2007 får jeg de samme dage for April. Og ikke mellem 2 intervaller. Findes der en funktion jeg kan bruge???.
Mange hilsner
Petert
Avatar billede mugs Novice
08. januar 2007 - 13:49 #3
Petert - Jeg ved det ikke, Excel er normalt ikke min boldgade, men jeg kunne blot huske, at spørghsmålet har været oppe før.
Der kommer nok en Excel haj om lidt :o)
Avatar billede mrjh Novice
08. januar 2007 - 14:09 #4
Prøv evt. funtionen ANTAL.ARBEJDSDAGE()
Kræver Analysis Toolpak tilføjet
Avatar billede petert Forsker
08. januar 2007 - 14:14 #5
Det har jeg fået til at virke med arbejdsdage men hvad hvis det antal lørdage og antal søndage.
Avatar billede kabbak Professor
08. januar 2007 - 16:18 #6
Lørdag og søndage

=(B1-A1)-ANTAL.ARBEJDSDAGE(A1;B1;0)
Avatar billede kabbak Professor
08. januar 2007 - 16:34 #7
Der skal lige lægges 1 til, men det ser ikke ud til at den tager hensyn til 1 nytårsdag.

så det er søndage + lørdage

=((B1-A1+1))-ANTAL.ARBEJDSDAGE(A1;B1;0)
Avatar billede kabbak Professor
08. januar 2007 - 16:57 #8
Public Function Dage(Fradato As Date, Tildato As Date)
    Dim I As Date, D(3) As Variant
    For I = Fradato To Tildato
        Select Case Weekday(I)
        Case 1: D(2) = D(2) + 1 ' søndag
        Case 7: D(1) = D(1) + 1 ' lørdag
        Case Else
            D(0) = D(0) + 1 ' hverdag
        End Select
    Next
    Dage = D
   
    ' Marker 3 celler, skriv formlen og slut af med CTRL+SHIFT+ENTER,
    'så vil den se sådan ud
    ' {=dage(A1;B1)}
    'Første celle er hverdage
    'Anden celle er Lørdage
    'Tredie celle er Søndage
End Function
Avatar billede excelent Ekspert
08. januar 2007 - 16:57 #9
Avatar billede kabbak Professor
08. januar 2007 - 16:58 #10
det skal være 3 celler ved siden af hinanden, ikke under
Avatar billede petert Forsker
08. januar 2007 - 17:04 #11
Hej Kabbak
Tak for svar
Jeg har brug for lidt hjælp til dit svar.Jeg skal bruge tallet for eks. lørdage i den måned jeg arbejder i det pågældende ark. Formlen og resultatet skal stå i ark2 celle H8. I ark 1 celle A9 til A39 har jeg en liste med datoer der skal tælles.
Hvordan skal min formel være for henholdsvis Lørdage og søndage. Hvis der findes en formel som kan vise helligdage ville det bare være supert.
mvh
Petert
Avatar billede petert Forsker
08. januar 2007 - 17:13 #12
Lige en tilføjelse i ark 1 B9 til B39 har jeg en liste med dagenavnene der hører til datoerne i kolonne A9 til A39
/petert
Avatar billede kabbak Professor
08. januar 2007 - 17:16 #13
Kan du så ikke bruge det excelent skriver
Avatar billede petert Forsker
08. januar 2007 - 17:22 #14
Det har jeg lige prøvet men jeg får verdien 0 selv om der mellem A9 og A39 datoerne fra 16 Jan til 15 Feb
Hvad gør jeg galt
Avatar billede petert Forsker
08. januar 2007 - 17:23 #15
Cellen med formlen er formateret som standard nu
Avatar billede excelent Ekspert
08. januar 2007 - 17:37 #16
mit eks tæller kun i 1 enkelt måned
Avatar billede petert Forsker
08. januar 2007 - 17:45 #17
Hej excelent,kabbak og andre
Jeg vil meget gerne have hjælp til at få en løsning som den excelent har vist på et link højreoppe.For overblikket kommer her en precisering.
På det ark jeg har kaldt timesedler celle A9 til A39 har jeg en kolonne med datoer
i celle B9 til B39 skrives dagene ved navn. På det ark jeg har kaldt Beviling H8 vil jeg have antallet af lørdage og i H16 Antallet af Søndage. Jeg håber det er forstågeligt. Er der nogle der kan forklare hvor dan jeg gøt med formlen i H8 og H16 i arket bevilling
Avatar billede petert Forsker
08. januar 2007 - 17:46 #18
Hej excelent det er fordi lønperioden går fra 16 i en måned til 15 i næste måned
Avatar billede excelent Ekspert
08. januar 2007 - 18:01 #19
ok kikker på det

taster du datoer ind direkte i A9:A39 eller hvordan ?
taster du dag ind direkte i B9:B39 eller hvordan ?
Avatar billede kabbak Professor
08. januar 2007 - 18:07 #20
Søndage =SUMPRODUKT((UGEDAG(Timesedler!$A$9:$A$39;1)=1)*1)
Lørdage =SUMPRODUKT((UGEDAG(Timesedler!$A$9:$A$39;1)=7)*1)
Avatar billede petert Forsker
08. januar 2007 - 18:18 #21
Nej i celle A9 er formlen =HVIS(stamdata!C32<>"";stamdata!C32;"")
Icelle A10 til A39 HVIS(A9<>"";HVIS(VÆRDI(MÅNED(A9)&DAG(A9))<VÆRDI(MÅNED($A$9)&DAG($A$9))+99;A9+1;"");"")
I celle B9 HVIS(A9="";"";HVIS(UGEDAG(A9)=1;"Søn";HVIS(UGEDAG(A9)=2;"Man";HVIS(UGEDAG(A9)=3;"Tirs";HVIS(UGEDAG(A9)=4;"Ons";HVIS(UGEDAG(A9)=5;"Tors";HVIS(UGEDAG(A9)=6;"Fre";"Lør")))))))
På arket stamdata C32 DATO(C35;C34-1;16)
på arket stamdata C34 skriver jeg nummeret for måneden og C35 skriver jeg årstallet
Avatar billede petert Forsker
08. januar 2007 - 18:23 #22
Super kabbak det virker optimalt.
Findes der også en til Helligdage
Avatar billede petert Forsker
08. januar 2007 - 18:29 #23
Glæden varede kort.
Det virker hvis jeg skriver 2 for febuar men hvis jeg skriver 3 eller andre måneder står der kun VÆRDI i formel cellen
skifter jeg tilbage til 2 virker det med 4 lørdage og 4 søndage for febuar
Avatar billede excelent Ekspert
08. januar 2007 - 18:32 #24
udskift din formel i A9 med denne og kopier ned
=TEKST(A9;"dddd")

disse finder antal lørdage/søndage
=TÆL.HVIS(timesedler!B9:B39;"lørdag")
=TÆL.HVIS(timesedler!B9:B39;"søndag")
Avatar billede excelent Ekspert
08. januar 2007 - 18:34 #25
rettelse

udskift din formel i B9 med denne og kopier ned
=TEKST(A9;"dddd")
Avatar billede petert Forsker
08. januar 2007 - 18:40 #26
Jeg tror det har noget at gøre med hvis alle felterne i serien A9tilA39 ikke er udfyldt kommer fejlen(Det er i de måneder der er færre dage kan det rettes.??
i cellen H3 har jeg brugt formlen "=ANTAL.ARBEJDSDAGE(timesedler!A9;timesedler!A39)"
Findes der en som din for antal hverdage??
Avatar billede petert Forsker
08. januar 2007 - 18:45 #27
Hej excelent så skrives der kun "dag" i B9 skal B9 formateres på en bestemt måde
jeg vil gerne have der står Man,Tirs,osv
Avatar billede excelent Ekspert
08. januar 2007 - 18:49 #28
den skal skrive mandag tirsdag ondsdag osv. ?
formatering skal være standard
Avatar billede excelent Ekspert
08. januar 2007 - 18:57 #29
arbejdsdage fåes med:

=ANTAL.ARBEJDSDAGE(timesedler!A9;DATO(ÅR(timesedler!A9);MÅNED(timesedler!A9)+1;15);0)
Avatar billede petert Forsker
08. januar 2007 - 19:14 #30
"ANTAL.ARBEJDSDAGE(timesedler!A9;DATO(ÅR(timesedler!A9);MÅNED(timesedler!A9)+1;15);0)"Denne formel virker også hvis der ikke er datoer i alle cellerne A9 til A39
Denne formel fra kabbak"=SUMPRODUKT((UGEDAG(Timesedler!$A$9:$A$39;1)=1)*1)" laver problemer hvis der ikke er datoer i alle feldterne A9 til A39. Kan det løses??
Avatar billede petert Forsker
08. januar 2007 - 22:08 #31
Jeg har fået det til at virke ud fra excelent´s anvisning men er der en måde hvor man kan tælle om der er søgne/helligdage i en måned og evt hvor mange???
Avatar billede kabbak Professor
08. januar 2007 - 22:35 #32
Der er en funktion til helligdage:

Kaldes =HelligdagsNavn(A9)
hvis du kan sætte den ind i en kolonne i Timesedler, f.eks. C kolonnen, så træk den nedad.

Den skriver navnet på helligdage, også dem der falder på lør- og søndage.

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) As String
' 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)
    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
End Function
Avatar billede petert Forsker
09. januar 2007 - 08:51 #33
Hej kabbak
Det ser fint ud med den funktion.Jeg har aldrig før prøvet at sætte arbejde med funktion og ved ikke så meget om det men ønsker at prøve at få løst opgaven.
Jeg har ikke plads på arket timesedler da det er helt fyldt ud. Men jeg har 5 ark i samme projekt mappe og jeg har brug for oplysningerne på et ark jeg kalder beviling. Kan man indsætte funktionen der og så den beregner ud fra A9 til A39 på arket Timesedler. Eller er der en anden måde der er bedre???
Avatar billede excelent Ekspert
09. januar 2007 - 22:08 #34
ALT+F11
Insert > Module
indsæt koden i vindue til højre

indsæt formel i fx B9
=helligdagsnavn(A9)
kopier ned til B39
Avatar billede petert Forsker
10. januar 2007 - 10:36 #35
Kan det lade sig gøre selv om B9 til B39 bruges til at vise ugedagenes navne nu??
Avatar billede excelent Ekspert
10. januar 2007 - 11:26 #36
nej du skal bruge en anden kolonne hvis der er formler i B9:B39
men test på datoerne i kolonne A
Avatar billede petert Forsker
11. januar 2007 - 18:33 #37
Hej Excelent,kabbak og andre
Jeg har fået det til at virke i et nyt ark jeg kaller test i projekt mappen.
jeg har i arket test c9 indsat formler =HelligdagsNavn(A9) og fra C9 til c39 skriver den så helligdagene.Kan jeg så på et andet ark der hedder Bevilling H23 lave en formel der tæller hvis der i pågældende måned forekommer en helligdag.Hvis ja hvordan skal en sådan formel se ud
Avatar billede excelent Ekspert
11. januar 2007 - 18:49 #38
=31-ANTAL.BLANKE(C9:C39)
Avatar billede petert Forsker
16. januar 2007 - 19:48 #39
Mange tak til alle for hjælpen send et svar så vi kan lukke dette.jeg har et lille tillægs problem men jeg har oprettet et nyt spørgsmål om dette.
MVH
Petert
Avatar billede excelent Ekspert
16. januar 2007 - 19:52 #40
et fra mig
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
Excel-kurser for alle niveauer og behov – find det kursus, der passer til dig

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





White paper
Tidsbegrænset kampagne: Overvejer du at udskifte eller tilføje printere i din forretning? Vi kan tilbyde én eller flere maskiner gratis