Hoe kun je Excel laten uitrekenen hoeveel aandelen iemand heeft o.b.v. de nummers van de aandelen?

Iemand heeft de aandelen met de nummers 1-180;220;380-440. Dat staat in Excel in één cel. Hoe kun je Excel laten uitrekenen dat hij er dan in totaal 242 heeft?

Weet jij het antwoord?

/2500

Het beste antwoord

Dat kan op een fatsoenlijke manier eigenlijk alleen met een macro: 1) Gebruik in excel de toetsencombinatie 'ALT+F11' om de macro-editor te openen 2) Ga naar 'Invoegen' > 'module' en plak de onderstaande code daarin 3) Ga met ALT-TAB terug naar het Excel-werkblad. In de cel waar je het aantal aandelen wilt laten verschijnen typ je: =reeksTotaal(A8;";") Waarbij 'A8' de cel is waar je reeks met aandeelnummers staan. Staan ze in een andere cel, pas dan deze parameter aan zodat deze naar de correcte cel verwijst. Eventueel kun je in de 2e parameter ook het scheidingsteken nog aan passen. Hieronder de code (niet perfect of fool proof, maar het werkt): --------------------------------------------------------------------- Function reeksTotaal(reeks As String, scheidingsteken As String) As Integer Dim minPos As Integer Dim stpos As Integer Dim stposOud As Integer Dim startReeks As Integer Dim eindReeks As Integer If Right(reeks, 1) <> scheidingsteken Then reeks = reeks + scheidingsteken End If minPos = InStr(1, reeks, "-") If minPos = 0 Then minPos = Len(reeks) + 1 End If stposOud = 1 stpos = InStr(1, reeks, scheidingsteken) Do Until stpos = 0 startReeks = Val(Mid(reeks, stposOud, minPos - stposOud + 1)) If stpos < minPos Then eindReeks = startReeks Else Debug.Print Mid(reeks, minPos + 1, stpos - minPos - 1) eindReeks = Val(Mid(reeks, minPos + 1, stpos - minPos - 1)) minPos = InStr(minPos + 1, reeks, "-") If minPos = 0 Then minPos = Len(reeks) + 1 End If End If stposOud = stpos + 1 stpos = InStr(stposOud, reeks, scheidingsteken) reeksTotaal = reeksTotaal + (eindReeks - startReeks) + 1 Loop End Function

Toegevoegd op 15 juli 2020 15:00: afbeelding

Stel zelf een vraag

Ben je op zoek naar het antwoord op die ene vraag die je misschien al tijden achtervolgt?

/100