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

getal series splitsen

Status
Niet open voor verdere reacties.

NogGeenGuru

Gebruiker
Lid geworden
5 aug 2015
Berichten
130
beste Guru's,

Ik heb een excel probleempje en ik kom er niet uit.
Voor een bepaalde tool die ik gebruik krijg ik een reeks getallen. deze getallen moeten op een specifieke wijze worden ingevuld in de tool.

De regels zijn: (zie het voorbeeld voor een duidelijker plaatje)
1) het eerste getal moet altijd onder "start" komen te staan.
2) De getallen die daarop volgen hebben een "+" of een "-" en moeten dan ook in dat vakje komen te staan.
3) als na een "+" het "-" vakje leeg is moet het zelfde getal als dat in het "+" vakje daarvoor staat komen te staan.
4) als een getal (bijv. 3) wordt opgeschreven als 003 dan moet in het vakje 3 komen te staan.

Ik kom er maar niet uit hoe ik deze getal series gesplitst krijg.
Is er hier iemand die de uitkomst ziet?
 

Bijlagen

Waarom wordt 162 in cel g20 niet herhaald, terwijl 6 in cel g21 wel herhaald wordt?
 
En een formule-oplossing met wat hulpvelden in (verborgen) rijen 23 t/m 42.
In elk van de 4 blokken is de formule in de cel linksboven (C23, C30, C37 en C44) gekopieerd naar rechts en naar beneden.
De formules in B37 en B44 zijn elk binnen het betreffende blok naar beneden gekopieerd.

Deze oplossing geeft nu -als ik het goed zie - dezelfde resultaten als die van Sylvester, maar als je in voorbeeld 2 de enige plus verandert in een -, dan krijg je bij mij gaten in de reeks en bij Sylvester herhalingen.

Mijns inziens is dit debet aan onduidelijkheid ten aanzien van regel 3: in het gegeven voorbeeld wordt daartegen gezondigd (zoals alphamax al opmerkte).
Ik ben ervan uitgegaan dat de regel ook omgekeerd kan worden: als na een "-" het "+" vakje leeg is, dan blijft het vakje leeg.
 

Bijlagen

Laatst bewerkt:
sorry voor mijn late reactie...:o
jullie hebben inderdaad goed opgemerkt dat er in mijn voorbeeld een fout zat.
dat is waar jullie uitwerkingen de "fout" in gingen. (ze doen het dus goed, mijn voorbeeld klopt gewoon niet)

dank u allen!
 
Typisch dat 2 verschillende oplossingen allebei goed zijn. Zie post #4 2e alinea.
 
Andere benadering:

Code:
Sub M_snb()
   sn = Cells(6, 2).CurrentRegion
   
   For j = 2 To UBound(sn)
     sp = Split(sn(j, 2), "+")
     
     For jj = 0 To UBound(sp)
       If InStr(sp(jj), "-") = 0 Then sp(jj) = sp(jj) & "-" & sp(jj)
     Next
     
     sp = Split(Mid(Replace(Replace("-" & Join(sp, "-"), "-0", "-"), "-0", "-"), 2), "-")
     Cells(29 + j, 2).Resize(, UBound(sp) + 1) = sp
  Next
End Sub
 

Bijlagen

Laatst bewerkt:
Code:
sp = Split(Mid(Replace(Replace("-" & Join(sp, "-"), "-0", "-"), "-0", "-"), 2), "-")
gaaf:eek:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan