Avatar billede jensen363 Forsker
18. juni 2020 - 15:00 Der er 9 kommentarer

Beregn antal dage fra afrejse til næste ankomst

Mine data består af følgende :

ID      Ankomst      Afrejse
100  22-08-2020  29-08-2020
100  04-09-2020  07-09-2020
100  07-09-2020  11-09-2020

I ovenstående har jeg behov for at vide hvor mange dage der er imellem afrejsedato til næste ankomstdato, vel og mærket pr. ID i en serien med eksempelvis 500 forskellige ID med 10-15 forskellige ankomst- og afrejsedatoer. Data er som udgangspunkt ikke sorteret, så såvel ID som ankomst- og afrejse datoer ligger i vilkårlig rækkefølge

How to do ????
Avatar billede thomas_bk Ekspert
18. juni 2020 - 15:07 #1
Er der nogen grund til at ID og datoer ikke er sorteret?
Avatar billede jensen363 Forsker
18. juni 2020 - 15:19 #2
Primært fordi bruger skal kunne vælge alternativ sortering på andre kolonner
Avatar billede thomas_bk Ekspert
18. juni 2020 - 15:28 #3
Men betyder det at du ikke kan sortere for at opnå en løsning?

Hvordan tænker du løsningen præsenteret?

Umiddelbart synes jeg at med en korrekt sortering og en formel længst til højre der beregner mellem afrejse og ankomstdato hvor der tages hensyn til ændring i ID give den nødvendige info du efterspørger.
Avatar billede jensen363 Forsker
18. juni 2020 - 15:34 #4
Det var også den løsning jeg selv ville have udtænkt, - men den er ikke fleksibel nok for kunden :-( .... derfor tænker jeg noget vba for indsætter den ekstra kolonne i datasættet med de beregnede resultater
Avatar billede jensen363 Forsker
18. juni 2020 - 15:43 #5
Jeg kunne selvfølgelig copy/paste tabellen efter beregningen :-)
Avatar billede ebea Ekspert
18. juni 2020 - 15:44 #6
Og hvordan finder du ud af, hvilken ID der hører til næste afrejse/ankomst datoer. Hvor ser du sammenhængen i disse, hvis de eksisterer tilfældige steder i måske 500 rækker?
Det må i første omgang, være baseret på et opslag/søgning på en dato, pr ID. Ellers kan jeg ikke umiddelbart se hvordan du vil finde disse antal dage, ud af tilfældige rækker.
Avatar billede thomas_bk Ekspert
18. juni 2020 - 17:39 #7
Hvad er det egentligt man ønsker at få ud af beregningerne?
Medmindre man visuelt vil løbe 500 linier igennem giver opstillingen heller ikke så meget mening.
Avatar billede jens48 Ekspert
18. juni 2020 - 23:58 #8
Hvis jeg har forstået dig ret kunne det måske gøres ved at sætte en ekstra kolonne ind, hvor du blot skrev rækkenummeret, og så med en makro sortere for ID som første prioritet og ankomst som anden prioritet. Så er det simpelt at regne forskellen ud. Derefter bruges kolonnen med rækkenummeret til at sortere tilbage til oprindelige indstilling. Lidt i stil med nedenstående makro:

Sub Macro1()
Range("E:E").ClearContents
    Range("A3:E3").Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 Key:=Range("B3:B501" _
        ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 Key:=Range("C3:C501" _
        ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range("A2:D501")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
  For x = 1 To 501
  If Cells(x, 2) = Cells(x + 1, 2) Then
  Cells(x, 5) = Cells(x, 4) - Cells(x + 1, 3)
  End If
  Next
    Range("A3:E3").Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 Key:=Range("A3:A501" _
        ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range("A2:E501")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
Avatar billede ebea Ekspert
19. juni 2020 - 11:13 #9
Her er et forslag til en mulig løsning. Om det er sådan, ved jeg ikke. Men du må jo melde ud, på det spørgsmål du selv har stillet. Der er flere spørgsmål i tråden, og forslag.

https://www.dropbox.com/scl/fi/ctsedj08runhpba4rehc3/indeks-rejsedage.xlsx?dl=0&rlkey=emf6yqokmouxdfof3rznrl1ul
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