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

Formule om data te splitsen (van "1999 - 2001" naar "1999 2000 2001"

Status
Niet open voor verdere reacties.

Krikke001

Gebruiker
Lid geworden
23 feb 2011
Berichten
5
Hallo iedereen,

Zit mij al een paar dagen suf te piekeren om een formule te schrijven die het volgende doet:

Het uitschrijven van jaartallen
Waarde in kolom bijv: 1999 - 2004
Waarde na formule: 1999 2000 2001 2002 2003 2004

Zoek iets in de aard van
(2004-1999=5)
om dan 1999 5x te vermenigvuldigen telkens +1

Wie kan mij helpen?
 
Hallo Rob,

Bedankt voor je antwoord!
het is nog een beetje omslachtig om deze toe te kunnen passen op een lange kolomen.

Bedoel dat het aantal splitsingen varieert van bijv:
2007 - 2008 maar ook langere 1989 - 2001
En dan is het moeilijk om deze terug samen te voegen in 1 kolom.

Groeten,
 
M.a.w. jij wil het resultaat terug zien in 1 kolom, dus het bestaande vervangen door de uitgeschreven versie ?
 
Bespaar je de moeite Rudi.
Kijk in deze Link
 
Hallo,

idd, daar hebben ze het opgelost aan de hand van een script!

Zal wss de enige deftige oplossing, ten opzichte van een cel formule

Indien nodi post ik het voorbeeld hier ook even.

Dank je voor jullie tijd!
 
Indien nodig post ik het voorbeeld hier ook even.
Weet dat je zo iets niet vaak kunt uithalen. Een vraag hier stellen zonder een link naar een dezelfde vraag op een ander forum krijgt bijna op alle fora 'weinig' waardering. Laat het dus bij deze ene keer.

En ja, laat die code hier ook even zien, bij voorkeur in een voorbeeld met uitleg.

Bespaar je de moeite Rudi.
Kijk in deze Link
:thumb:
 
Laatst bewerkt:
Mijn oprechte excuses hiervoor!
Ben niet zo thuis in de wereld van de fora's, net zo min in de wereld van excel :-))))

Maar al doende leert men!

Hier het bestand met de splitsing:
Bekijk bijlage splitsen_jaartallen.xls

Dit is de code de julllie collegas aangebracht hebben:
Code:
Function SplitYears(rngY As String, Optional strDelim As String = "-") As String
    Dim vYrs As Variant
    On Error GoTo Handler:
    vYrs = Split(rngY, strDelim)
    SplitYears = Join(Evaluate("TRANSPOSE(ROW(" & vYrs(0) & ":" & vYrs(UBound(vYrs)) & "))"), " ")
    Exit Function
Handler:
    SplitYears = "Invalid"
End Function

Aangeroepen via deze formule:
Code:
=SPLITYEARS(A1)

Was voor mij eerste maal dat ik met Visual Basic Editor heb gewerkt, met een beetje googlen ben ik hier ook uitgekomen.
 
Vermeld er nog even bij dat deze functie in een standaardmodule geplaatst moet worden en het plaatje is compleet. ;)

Crossposting is idd niet verboden maar om de kostbare vrije tijd van de helpers op de diverse fora niet nodeloos te verspillen is een linkje een mooi iets. (U bent gewaarschuwd :D)
 
Alhoewel de hierboven gegeven Function perfekt het probleem oplost, heb ik "voor de sport" toch een werkbare (zij het repetitieve) formule-aanpak gezocht.
 

Bijlagen

De functie EVALUEREN werkt niet meer in office 2007 ik weet niet door welke functie dit vervangen is.

Niels
 
De functie EVALUEREN werkt prima in 2007.
Je moet enkel 'row' verruilen voor 'rij'.

Succes.
 
Goed gezien Harry, door de quotes in "=row(" wordt dit als string geëvalueerd en gaat het dus mis in een nederlandstalige versie.
 
Klopt :o

Was aan het kijken hoe de functie werkt en had hem als formule in
een cel gezet en dan kent excel hem niet.

Niels
 
De functie EVALUEREN werkt prima in 2007. Je moet enkel 'row' verruilen voor 'rij'.
Even een kleine aanvulling: na de ruil werkt dit ook prima in 2010.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan