Avatar billede jensen363 Forsker
19. januar 2015 - 14:22 Der er 11 kommentarer og
1 løsning

Count antal sammenhængende perioder

Et regneark består af ugenummer 1-52 i kolonne B - BA

For hver række kan der i de pågældende 52 celler stå væedien 0 - 7.

Jeg har behov for en regneregel som for alle 52 uger tæller hvor mange gange der er sammenhængende uger hvor summer af det der står i de pågældende er, 21 eller derover.

How to do ?
19. januar 2015 - 15:08 #1
Eksempel?
Avatar billede jensen363 Forsker
19. januar 2015 - 15:12 #2
Eksempel

Uge    01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
ID 1    7  7  2  6  0  7  7  7  1  7  7  7  7  7  0      = 2
ID 2    7  7  7  7  7  0  1  2  3  4  5  6  1  2  1      = 1
Avatar billede jensen363 Forsker
19. januar 2015 - 15:13 #3
Ok det stod pænere da jeg tastede det :-)
Avatar billede kasperth Juniormester
19. januar 2015 - 16:55 #4
Jeg er ikke helt sikker på, at jeg forstår problemstillingen...

Men hvis vi siger, at række 1 er uger og række 2 er værdierne. Dvs. at der står "1" i B1 og en værdi mellem 0-7 i B2, så kan du prøve at indsætte følgende formler og kopiere ud til højre:

Celle C3 =IF(C2=B2;C2+B3+B2;0)
Celle C4 =IF(AND(D3=0;C3>21);1;0)

Summen af række 4 vil så være antallet af gange...

Kan det bruges ??
Avatar billede natkatten Mester
19. januar 2015 - 17:32 #5
Hmm, det bliver for mig at se noget af en matriksformel som skal stykkes sammen (eller noget VBA). Den skal jo lede efter "skilletegnet" som er værdien 0 og så summere områderne mellem nulværdierne mhp. at afgøre om summen af disse er >=21.

Jeg har ikke umiddelbart et forslag. Hvis det "blot" drejede sig om at finde f.eks. antallet af "sammenhængende" ens tal i rækken (i eksemplet her om 7 står 3 eller flere gange i rækkefølge) ville denne matriksformel kunne anvendes:

=SUM(HVIS(FREKVENS(HVIS(B2:BA2>=7;KOLONNE(B2:BA2));
HVIS(B2:BA2<>7;KOLONNE(B2:BA2)))>=3;1))

Men som sagt: Jeg har ikke en løsning til dit behov.
Avatar billede supertekst Ekspert
20. januar 2015 - 09:58 #6
Hej Jensen

Prøv at se om dette kan anvendes:

Const maxTal = 7
Dim antalRæk As Integer, ugeSum As Integer, antalUger, cc
Private Sub optælPerioder21()
    antalRæk = ActiveCell.SpecialCells(xlLastCell).Row
   
    For ræk = 2 To antalRæk
        For Each cc In Range("B" & ræk & ":BA" & ræk).Cells
            If cc = 7 Then
                ugeSum = ugeSum + 7
            Else
                If ugeSum >= 21 Then
                    antalUger = antalUger + 1
                End If
                ugeSum = 0
            End If
        Next
        Range("BB" & ræk) = antalUger
        ugeSum = 0
        antalUger = 0
    Next ræk
End Sub
Avatar billede jensen363 Forsker
20. januar 2015 - 11:17 #7
Natkatten >

Hvorledes ser den ud i engelsk version

Dette virker ikke

SUM(IF(FREQUENCY(IF(B2:BA2>=7;COLUMN(B2:BA2));IF(B2:BA2<>7;COLUMN(B2:BA2)))>=3;1))
Avatar billede natkatten Mester
20. januar 2015 - 12:35 #8
Hej

Det er en matriksformel (også kaldet for en CSE-formel). Når du har indtastet den, så skal du trykke på CTRL-SHIFT-ENTER, således at der kommer "tuborgparenteser" omkring formlen. Disse skal altså ikke indtastes (dette virker ikke).

Matriksformler arbejder, som navnet antyder, på matricer/områder og udvider dermed Excels "almindelige" formler betydeligt. Udgør i nogle forbindelser et alternativ til programmering i VBA.
Avatar billede jensen363 Forsker
20. januar 2015 - 13:36 #9
Takker det virkede :-)
Avatar billede jensen363 Forsker
20. januar 2015 - 14:35 #10
Natkat > guver du lige et svar ???
Avatar billede natkatten Mester
29. januar 2015 - 17:36 #11
Et svar til lukning af spørgsmålet. Men jeg synes nu ikke at jeg ramte det spot on.
Avatar billede jensen363 Forsker
30. januar 2015 - 11:30 #12
Jeg kom videre, det var det vigtigste
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