• 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 tekst te splitsen

Status
Niet open voor verdere reacties.

Donestea

Gebruiker
Lid geworden
28 sep 2021
Berichten
5
Goedemiddag,

Ik beschik over een databestand en hieruit dien ik bepaalde gegevens te halen. De tekst ziet er als volgt uit:

\WOORD1\WOORD2\WOORD3

Het is de bedoeling dat middels een formule alleen WOORD1 zichtbaar wordt in een nieuwe kolom. Ik ben mij ervan bewust dat dit kan met 'Kolommen naar tekst', maar dat is in mijn situatie niet praktisch. De gegevens worden geplakt in Excel en dan moet de tabel zich voor de rest zelf vullen adhv formules.

In mijn zoektocht naar een formule kwam ik uit op dit forum en het volgende topic: https://www.helpmij.nl/forum/showthread.php/684375-Formule-voor-tekst-splitsen. Het voorbeeldbestand in dit topic is precies de formule die ik zocht en met een paar bewerkingen kon ik hem passend maken voor mijn databestand.

Code:
=ALS(LENGTE($A1)-LENGTE(SUBSTITUEREN($A1;"\";""))<KOLOM()-2;"";DEEL($A1;VIND.ALLES(TEKEN(1);SUBSTITUEREN($A1;"\";TEKEN(1);KOLOM()-2))+1;ALS(ISFOUT(VIND.ALLES(TEKEN(1);SUBSTITUEREN($A1;"\";TEKEN(1);KOLOM()-1)));LENGTE($A1)+1;VIND.ALLES(TEKEN(1);SUBSTITUEREN($A1;"\";TEKEN(1);KOLOM()-1)))-VIND.ALLES(TEKEN(1);SUBSTITUEREN($A1;"\";TEKEN(1);KOLOM()-2))-1))

Maar ik kom er niet helemaal uit en daarvoor heb ik jullie hulp nodig.

De formule werkt alleen als ik de tekst en de formule in een bepaalde kolom zet. Als ik de formule verplaats krijg ik of een foutmelding of andere woorden. Dat zou in mijn geval inhouden dat ik de tekst moet kopiëren naar een ander tabblad om de woorden eruit te halen. Dat is vrij omslachtig. Zouden jullie mij kunnen helpen om de formule te herschrijven zodat ik WOORD1 in kolom 25 ($Y1) krijg als de tekst (\WOORD1\WOORD2\WOORD3) in kolom 64 ($BL1) staat?

Ik dacht heel simpel dat dit te doen was door de formule in $Y1 te zetten en $A1 aan te passen naar $BL1, maar dat werkt helaas niet. Zie ook het voorbeelddocument. Hopelijk kunnen jullie mij verder helpen.

Alvast bedankt!
 

Bijlagen

  • Helpmij formule splitsen.xlsx
    11,1 KB · Weergaven: 28
Volgens mij kom je er met deze formule ook wel in kolom 25

Code:
=DEEL(BL2;2;VIND.SPEC("\";BL2;2)-2)
 
Code:
=ALS(VIND.SPEC("\";$A10)=VIND.SPEC("\";$A10;VIND.SPEC("\";$A10)+1);"";DEEL($A10;VIND.SPEC("\";$A10)+1;VIND.SPEC("\";$A10;VIND.SPEC("\";$A10)+1)-VIND.SPEC("\";$A10)-1))
Deze bouwt nog een check in, voor het geval je tekst er toch een beetje anders uit ziet. Zet maar eens wat tekst voor de eerste \, en je snapt wat ik bedoel :).
 
Als dat zo is, dan zou die tekst woord 1 zijn toch;)

UDF kan ook
Code:
Function jvr(cell As String) As String
jvr = Split(cell, "\")(1)
End Function

Invoeren als
=jvr(BL2)
 
Laatst bewerkt:
Functie is natuurlijk een stuk simpeler en makkelijker in het gebruik. En met Split kun je uiteraard meer leuke dingen doen. Dan kun je bijvoorbeeld ook andere woorden opvragen:
Code:
Function Woord(cell As String, Optional nr As Integer) As String
    If nr = Null Then nr = 1
    Woord = Split(cell, "\")(nr)
End Function

Te gebruiken als: =Woord(A2;2)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan