• 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.

Optellen van waarde bij datum

Status
Niet open voor verdere reacties.

genexxa

Gebruiker
Lid geworden
26 aug 2008
Berichten
70
Ik heb een probleem met een formule waar ik niet uit kom.

Ik wil graag weten hoe vaak de waarde "x" voorkomt in de maand januari en dan per datum.
Tevens moet het ook nog zo zijn dat als de waarde in een bepaalde datum 2x voorkomt, deze maar 1x geteld wordt.

bv zoiets als; =ALS(A:A="januari";som.als(B:B="x"; (verder kom ik niet)

Ik hoop dat jullie mij hierbij kunnen helpen.

Zie bijlage
Bekijk bijlage optellen.xlsx
 
Probeer deze eens:
Code:
=SOMPRODUCT(--(AANTALLEN.ALS($A$1:$A$18;RIJ(INDIRECT(DATUMWAARDE("1-1-2016")&":"&DATUMWAARDE("31-1-2016")));$B$1:$B$18;"x")>0))
 
Laatst bewerkt:
Timshel

Deze werkt goed maar is het ook mogelijk om ivp datum, ook een maand in te vullen?
BV zoals hieronder?

=SOMPRODUCT(--(AANTALLEN.ALS($A$1:$A$18;RIJ(INDIRECT(DATUMWAARDE("januari")&":"&DATUMWAARDE("januari")));$B$1:$B$18;"x")>0))

of

=SOMPRODUCT(--(AANTALLEN.ALS($A$1:$A$18;RIJ(INDIRECT(DATUMWAARDE("januari")));$B$1:$B$18;"x")>0))

Ik weet niet hoe de juiste formule is
 
Timshel

Die werkt echt perfect!
Ik ben naar je formule wezen kijken maar begrijp niet hoe het kan dat de formule kijkt naar "x"
Dit kan ik in de formule nergens terug vinden.

=telop(A1:B20;"januari")
 
Dat zit in het achterliggende programmaatje (de UDF).
Vanuit Excel kom je met de toetsencombinatie ALT-F11 in de VB-editor. Kijk en huiver.
Als je de UDF wilt gebruiken in een ander bestand zul je de programmacode moeten kopiëren.
Dit is 'm:
Code:
Function TelOp(Rng As Range, Mnd As String) As Long
    Dim Br
    Dim i As Long
    
    Br = Rng
    With CreateObject("Scripting.Dictionary")
        For i = 1 To UBound(Br)
            If Format(Br(i, 1), "mmmm") = Mnd And Br(i, 2) = "x" Then .Item(Br(i, 1)) = 0
        Next
        TelOp = .Count
    End With
End Function
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan