Avatar billede jensen363 Forsker
02. maj 2023 - 15:37 Der er 2 løsninger

Tæl sammenhængende serier af data.

Jeg har en kalender med 365 dage i kolonner, og et antal rækker som hver repræsenterer mine data

Datoer > 01.01  01.02 ......
Bruger A
Bruger B
Bruger C

For hver bruger står der værdien 1 i een eller flere af datoerne for året

Nedenstående makro benyttes til at tælle forekomster af sammenhængende datointervaller hvor der er  >= 6 dage hvor værdien 1 optræder her over året, - dette virker efter hensigten, men jeg har også behov for at vide summen af 1-taller i de fundne perioder ...

Den kan jeg ikke lige greje :-(

Public Sub test()
Dim A, B, C, D As Long
For A = 9 To 150 ' start 9. række slut 150. række
C = 0 'antal sammenhængende celler
D = 0 ' antal områder af sammenhængende celler
For B = 3 To 368
If Cells(A, B) = 1 Then
C = C + 1
Else
If C >= 6 Then
D = D + 1
End If
C = 0
End If
Next
Cells(A, 1) = D
D = 0
Next
End Sub
Avatar billede jens48 Ekspert
02. maj 2023 - 21:16 #1
Prøv med denne makro:

Public Sub test()
Dim A, B, C, D, E As Long
For A = 9 To 150 ' start 9. række slut 150. række
C = 0 'antal sammenhængende celler
D = 0 ' antal områder af sammenhængende celler
E = 0 'antal af et-tal i fundne områder
For B = 3 To 368
If Cells(A, B) = 1 Then
C = C + 1
Else
If C >= 6 Then
D = D + 1
E = E + C
End If
C = 0
End If
Next B
Cells(A, 1) = D & " områder med " & E & " et-tal"
D = 0
E = 0
Next A
End Sub
Avatar billede jensen363 Forsker
03. maj 2023 - 08:09 #2
Virker efter hensigten, - med en lettere modifikation er slutresultatet dette :

Public Sub test()
Dim A, B, C, D, E, F As Long

    For A = 9 To 150 ' start 9. række slut 150. række
    C = 0 'antal sammenhængende celler
    D = 0 ' antal områder af sammenhængende celler
    E = 0 'antal af et-tal i fundne områder
   
    For B = 3 To 368

    If Cells(A, B) = 1 Then
    C = C + 1
    Else
    If C >= 6 Then
    D = D + 1
    E = E + C
    F = E / D
    End If
    C = 0
    End If

    Next B
    Cells(A, 1) = D & " periods with " & F & " days average vacancy"
    D = 0
    E = 0
    F = 0
    Next A

End Sub
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

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