Avatar billede larsje Nybegynder
21. april 2008 - 22:07 Der er 12 kommentarer

Antal dage i mellem to datoer - fordelt på år.

Kære eksperter

Jeg leder efter en smart måde at finde antal dage i mellem to datoer - fordelt på år. (fordelt på år er den svære del)

Jeg har et regneark efter formen:
    A            B   
1    sag start    ; sag slut;
2     12-12-2001    ;06-06-2006

Nu vil jeg gerne have at vide hvor mange dage der er mellem de to dato’er, (dette er jo ret simpelt).=b2-a2: svar 1637 dage

Men jeg vil desuden også gerne vide hvordan disse dage er fordelt på år. Således bør svaret være:
2001=19 dage; 2002=365 dage; 2003=365 dage; 2004=365 dage; 2005=365dage; 2006=156 365dage; i alt 1637 dage

Er der nogen der har en smart måde hvor på dette kan gøres i Excel.

Med venlig hilsen Lars
Avatar billede be_nice Juniormester
21. april 2008 - 22:11 #1
Du kan læse om Excel og tid i denne udmærkede artikel af jkrons:
http://www.eksperten.dk/artikler/681
Denne bør give dig en god idé til hvordan det bedst gøres - men du er naturligvis velkommen til at spørge hvis der er noget du ønsker forklaret yderligere.
/Be_Nice
Avatar billede vejmand Juniormester
21. april 2008 - 22:45 #2
Ikke særlig elegant, men det virker.

A3: =B2-A2-(B2-"31-12-2001")
A4: =B2-A2-(B2-"31-12-2002")-A3
A5: =B2-A2-(B2-"31-12-2003")-A3-A4
A6: =B2-A2-(B2-"31-12-2004")-A3-A4-A5
A7: =B2-A2-(B2-"31-12-2005")-A3-A4-A5-A6
A8: =B2-A2-A3-A4-A5-A6-A7
A9: =SUM(A3:A8)
Avatar billede jkrons Professor
21. april 2008 - 23:00 #3
Eller lidt mere fleksibelt, men til gengæld mere besværligt:

2001: =VÆRDI("31-12"&"-"&ÅR(A1))-A1
2002: =("31-12"&"-"&ÅR(A1)+1)-("1-1"&"-"&ÅR(A1)+1)+1
2003: =("31-12"&"-"&ÅR(A1)+2)-("1-1"&"-"&ÅR(A1)+2)+1
2004: =("31-12"&"-"&ÅR(A1)+3)-("1-1"&"-"&ÅR(A1)+3)+1
2005: =("31-12"&"-"&ÅR(A1)+4)-("1-1"&"-"&ÅR(A1)+4)+1
2006: =B1-VÆRDI("1-1-"&ÅR(B1))

Det kan nok godt gøres endnu mere fleksibelt, men i så fald bliver det også endnu mere besværligt.

Personligt ville jeg nok vælge kun at beregne dagene i første og sidste år, og så manuelt indtaste dem i de hele år.
Avatar billede kabbak Professor
22. april 2008 - 00:43 #4
Prøv at teste denne

Public Function ÅrsFordeling(StartDato As Date, SlutDato As Date) As String
    Dim År As Integer, I As Date, Antal As Integer, Total As Integer
    År = Year(StartDato)
    For I = StartDato + 1 To SlutDato
        If Year(I) <> År Then
            ÅrsFordeling = ÅrsFordeling & År & " " & Antal & " dage ; "
            År = Year(I)
            Antal = 0
        End If
        Antal = Antal + 1
        Total = Total + 1
    Next
    ÅrsFordeling = ÅrsFordeling & År & " " & Antal & " dage ; i alt " & Total & " dage"

End Function
Avatar billede kabbak Professor
22. april 2008 - 00:44 #5
Kaldes med

=ÅrsFordeling(A2;B2)
Avatar billede larsje Nybegynder
22. april 2008 - 08:42 #6
Kære alle

Tak for indsatsten. Men jeg er bange for det ikke løser mit problem. Pointen er at jeg ikke kan være sikker på at første observation altid starter samme år.  Se nedenstående. Desuden er der ca. 1000 række hvorfor det bliver uoverskueligt at gøre manuelt.

eksempel:
08-11-1991    31-12-1994
17-04-1998    30-06-1999
07-03-2001    08-06-2001
17-02-2005    27-05-2005
17-01-2007    21-04-2008

Jeg kan ikke rigtig få makroen til at virke, så jeg kan ikke sige den løser problemet. Jeg har arbejdet meget lidt med makroprogrammering, så det kan være en bruger fejl ;-)
Men umiddelbart mener jeg ikke at den kan klare det.

Mvh. Lars
Avatar billede excelent Ekspert
22. april 2008 - 09:23 #7
Kabbaks elegante funktion virker ellers fortræffeligt :-)
Han kommer nok forbi og guider dig med koden
Avatar billede be_nice Juniormester
22. april 2008 - 09:44 #8
Husk at du skal placere kabbaks løsning i et modul - og formlen skrives f.eks. i kolonne C.
Hvis du så kopierer kabbaks elegante løsning til alle dine rækker, vil du få en angivelse af dage og år ud for hver dato-sæt.
Det skulle være lige til.
/Be_Nice
Avatar billede larsje Nybegynder
22. april 2008 - 10:40 #9
Super det virker jo fantaktisk. tak for hjælpen
Avatar billede larsje Nybegynder
22. april 2008 - 10:42 #10
Hvordan giver jeg kabbak hans point
Avatar billede kabbak Professor
22. april 2008 - 10:49 #11
Ved at jeg svarer ;-))
Avatar billede be_nice Juniormester
27. september 2008 - 12:14 #12
Husk at lukke dit spørgsmål.
/Be_Nice
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