Ga naar inhoud

Opzoeken gelijke producten met opgetelde voorraad als uitkomst.


cope

Aanbevolen berichten

Typ in C2 van het blad "Producten" en kopieer naar beneden:

=SOMMEN.ALS(stock!$B$2:$B$41;stock!A$2:A$41;B2)

Ook andere oplossingen zijn mogelijk.

Opm: Het eerste gedeelte in je formule: =ALS(ISFOUT(SOMPRODUCT((stock!$A$2:$A$41=$B2)*(stock!$B$2:$B$41))) heeft geen enkel nut, want het resultaat daarvan is nooit 'fout' (zoals aan je resultaten te zien is); het is ofwel 0 ofwel een ander getal. Maar somproduct is voor een groot aantal rijen nooit aan te bevelen.

 

aangepast door alpha
Link naar reactie
Delen op andere sites

Een andere oplossing. :)

Sub tst()
    Dim dic As Object, sn, i As Long
    sn = Blad2.Cells(1).CurrentRegion.Value
    Set dic = CreateObject("scripting.dictionary")
    For i = 2 To UBound(sn)
        If Not dic.exists(sn(i, 1)) Then
            dic.Add sn(i, 1), sn(i, 2)
            Else: dic.Item(sn(i, 1)) = dic.Item(sn(i, 1)) + sn(i, 2)
        End If
    Next
    sn = Blad1.Cells(1).CurrentRegion.Resize(, 3).Value
    For i = 2 To UBound(sn)
        If dic.exists(sn(i, 2)) Then
            sn(i, 3) = dic.Item(sn(i, 2))
        Else: sn(i, 3) = 0
        End If
    Next
    Blad1.Cells(1).Resize(UBound(sn), 3) = sn
End Sub

 

Link naar reactie
Delen op andere sites

Gast
Dit topic is nu gesloten voor nieuwe reacties.
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.