Avatar billede endurancel Novice
24. april 2015 - 19:03 Der er 6 kommentarer og
1 løsning

Tæl forekomster af perioder siden sidste salg

Hej
Jeg vil gerne tælle hvor mange perioder der er gået siden sidste salg.

eks:
Apr    2    0
Maj    0   
Jun    0   
Jul    3    2
Aug    0   
Sep    0   
Okt    2    2
Nov    0   
Dec    0   

Jeg kan se i min 3. kolonne, at i juli måned, er gået 2 perioder siden sidste salg, og i Oktober er der også gået 2 perioder siden sidste salg.

Kan Excel beregne dette?
Avatar billede jens48 Ekspert
24. april 2015 - 20:08 #1
Højreklik på fanebladet og vælg Vis koder. Hvis denne makro indsættes der, vil den når der skrives i kolonne B i kolonne C vise hvor mange måneder der har været uden salg.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B:B")) Is Nothing Then
y = 0
LastRow = Range("B65536").End(xlUp).Row
For x = 2 To LastRow
If Cells(x, 2) <> 0 Then
Cells(x, 3) = y
y = 0
Else
Cells(x, 3).ClearContents
y = y + 1
End If
Next
End If
End Sub
Avatar billede acore Ekspert
24. april 2015 - 20:10 #2
Ja

Hvia du har måneden i kolonne A og det samlede salg i den måned i kolonne D, så indsætter du denne i celle E2:

=HVIS(D1>0;0;E1+1)

Den kan så kopieres ned, og giver dig antal perioder siden sidste salg, optalt som du ønsker det.
Avatar billede jens48 Ekspert
24. april 2015 - 20:50 #3
Hvis du bruger acores metode kan du skjule de uønskede tal med betinget formattering (hvis intet salg, så hvid tekst)
Avatar billede endurancel Novice
24. april 2015 - 20:51 #4
Tak for svar.
Acore din formel gav et 1 tal når der havde være salg. To perioder efter hinanden. Der skulle stå 0. Sammentællingen gav et korrekt resultat, men 1 tallerne gav problemer.

Jens48 din løsning virker - TAK
Send et svar, så giver jeg point
Avatar billede jens48 Ekspert
24. april 2015 - 20:52 #5
Et svar
Avatar billede endurancel Novice
27. april 2015 - 14:22 #6
Kan jeg rette i makroen, således at den først tæller fra et bestemt tegn?
eksempelvis, så skal optællingen først starte efter "-", og dermed bliver april optællingen dermed 1.

Eks:
eks:
jan    0
feb    0
marts  -
april  0
Apr    2    1
Maj    0   
Jun    0   
Jul    3    2
Aug    0   
Sep    0   
Okt    2    2
Nov    0   
Dec    0
Avatar billede endurancel Novice
29. april 2015 - 13:42 #7
tror jeg har løst det ved nedenstående:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B:B")) Is Nothing Then
y = 0
LastRow = Range("B65536").End(xlUp).Row
For x = 2 To LastRow

If Cells(x, 2) <> 0 Then
If Cells(x, 2) <> "-" Then
Cells(x, 3) = y
y = 0
Else
Cells(x, 3).ClearContents
y = 0
End If
Else
Cells(x, 3).ClearContents
y = y + 1
End If


Next
End If
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