• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

totalen per maand berekenen

Status
Niet open voor verdere reacties.

Marten1975

Gebruiker
Lid geworden
14 nov 2017
Berichten
42
Goedemiddag,

Ik heb een vraag en hoop dat iemand mij kan helpen.

In bijgevoegd bestand heb ik een lijst met verschillende data en nu wil ik graag weten hoe vaak een datum voorkomt per maand.
Hij moet dus per cel gaan kijken naar hoe vaak -01 voorkomt voor de maand januari, en -02 voor februari...etc...
Hoe kan ik dat doen ?

Via de functie aantal.arg krijg ik het niet voor elkaar....
 

Bijlagen

Laatst bewerkt:
Er staan geen datums in kolom A dus dat ga je met een formule niet 100% correct krijgen naar mijn mening.
Daar zal je een UDF (VBA functie) voor moeten maken.
 
Laatst bewerkt:
Klopt, hij moet gaan tellen naar bepaalde waarden binnen de cel.
Voor de maand januari moet hij tellen hoe vaak de waarde "-01" voorkomt


Had al iets gelezen over de LEN formule, maar daar kom ik niet uit
 
voor januari :

Code:
=AANTAL.ALS(A2:A15;"*-01*")

voor februari:

Code:
=AANTAL.ALS(A2:A15;"*-02*")

etc.
 
Sjon,

Dank je wel voor je reactie.
Dit werkt niet voor 1 cel
Als de waarde "-02" 2x voorkomt (zie ook mijn voorbeeld bij regel 9) telt hij hem als 1
 
Probeer deze:
Code:
Private Function MAANDEN(target As Range, maand As String) As Integer
    While True
        st = InStr(st + 1, target.Value, maand)
        If st > 0 Then
            MAANDEN = MAANDEN + 1
        Else
            Exit Function
        End If
    Wend
End Function

Aanroep in B2 (januari):
=maanden($A2;"-01")
Bekijk bijlage Kopie van aantal per maand.xlsm
 
Laatst bewerkt:
Je bent geweldig, dit werkt !
Edmoor (en iedereen) hartstikke bedankt :thumb:
 
Of deze variant, dan heb je geen formule nodig:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim tmp As Variant, i As Integer
    With Target
        If .Column = 1 And Target.Row > 1 Then
            If Target.Value = "" Then Exit Sub
            tmp = Split(Replace(Target.Value, "Data: ", ""), ",")
            For i = LBound(tmp) To UBound(tmp)
                Target.Offset(0, Month(CDate(tmp(i)))) = "x"
            Next i
        End If
    End With
End Sub
 
Of deze:
Code:
Private Function MAANDEN(target As Range, maand As String) As Integer
    MAANDEN = UBound(Split(target, maand))
End Function
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan