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

Hoe celinhoud te spitsen op achternaam

Status
Niet open voor verdere reacties.

rob91

Gebruiker
Lid geworden
10 okt 2008
Berichten
198
Hallo allemaal,

Ik heb een exportbestand waarin de voor-en achternamen in 1 cel staan, maar ik wil de achternaam in een aparte cel.
Nu ken ik de functie tekst naar kolommen maar dan krijg ik ook de tussenvoegsels in aparte cellen en die wil ik bij de voornaam houden.

Voorbeeld:

Jan Klaasen Jan Klaasen
Peter v. d. Voort Peter v.d. Voort

Er zou dus eigenlijk van achteraf gelezen moeten worden en dan bij eerste spatie splitsen.
Kan dit en hoe krijg ik dit voor elkaar?

Alvast bedankt.
Rob
 
Als de naam in A1 staat, krijg je hiermee het deel na de laatste spatie:
=SPATIES.WISSEN(RECHTS(SUBSTITUEREN(A1;" ";HERHALING(" ";100));100))

Als je dat in C1 hebt. dan levert dit het deel op tot de laatste spatie:
=LINKS(A1;LENGTE(A1)-LENGTE(C1)-1)
 
Hoi MarcelBeug,

Erg bedankt voor deze oplossing; dit werkt, al begrijp ik de formule (nog) niet.
Dit scheelt mij veel handwerk.

Ik had ook iets van een functiemodule op dit forum gevonden, die de naam opsplitste maar de tussenvoegsels apart zette, wat ik dus niet wil.
En mijn kennis is te gering om deze code aan te kunnen passen.

Met jouw oplossing ben ik gered.
Bedankt! :thumb:

gr, Rob
 
Misschien snap je deze formule, die wat makkelijker is, wel:
Achternaam: =ALS.FOUT(RECHTS(A1;LENGTE(A1)-VIND.SPEC(" ";A1));"")
Voornaam: =ALS.FOUT(LINKS(A1;VIND.SPEC(" ";A1));"")
 
@OctaFish; die formules kijken naar de eerste spatie i.p.v. naar de laatste (de bedoeling was om van rechts naar links bekeken de eerste spatie te vinden, dus de laatste als je gewoon van links naar rechts kijkt).

Toelichting op mijn formule: alle spaties in A1 worden vervangen door 100 spaties; daarvan worden de rechtse 100 tekens genomen: dat is dus bijvoorbeeld 95 spaties en 5 letters bij een achternaam van 5 tekens.
Daarvan worden weer de spaties gewist zodat die 5 tekens overblijven.

(In het algemeen: SPATIES.WISSEN wist alle spaties aan het begin en het einde van een string, en vervangt meerdere aaneengesloten spaties in het midden van een string door enkele spaties).
 
Nog een manier om de achternaam (het tekstdeel na de laatste spatie) af te splitsen:
Code:
=RECHTS(A1;LENGTE(A1)-VIND.SPEC("|";SUBSTITUEREN(A1;" ";"|";LENGTE(A1)-LEN(SUBSTITUEREN(A1;" ";"")))))
 
@Marcelbeug: splitsen van voor-en achternaam kun je beter doen op basis van de eerste spatie, en niet de laatste. Een tussenvoegsel kan bijvoorbeeld uit meerdere woorden bestaan (van der bijvoorbeeld) en achternamen ook. In die gevallen is de achterste spatie verkeerd.
Ik gebruik zelf een functie die met de meeste gevallen rekening houdt, maar dat valt buiten het bestek van de vraag.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan