zaterdag 29 januari 2011

In Excel een kolom met volledige naam opsplitsen naar Voornaam en Familienaam

Title: Excel: split 1 column into 2 colums, based on a special character.
Vaststelling: Je krijgt een adresbestand waarbij de naam en familienaam in 1 kolom staan. Je wenst de naam en voornaam apart te gebruiken.
Observation: 1 column in Excel contains Firstname and Name (Name and Firstname). How to split up in 2 columns.

Oorzaak: Kan ten gevolge diverse redenen zijn.
Cause: Can be different.
Remedie: Op basis van de spatie kan de kolom opgesplitst worden. We kunnen niet het menu Gegevens>Tekst naar Kolommen splitsen gebruiken. Deze functie heeft 2 opties maar 
- omdat een familienaam meerdere spaties bevat, kun je niet op basis van scheidingsteken werken
- omdat de voornamen geen vaste lengte hebben, kun je niet op lengte werken.
Solution: We split the column based on the space in de name. We can not use the menu Data>Convert text to Columns. This function has 2 options but
- because a familyname can has more dan 1 space in the name, you can not use the Delimited options
- becasue a firstname has not a fixed length, you can not use the fixed width option.
Acties:
Er zijn 2 verschillende startsituaties:
  • combinatie 1 VOORNAAM+ FAMILIENAAM:
  • Redenering:
    • Als in kolom A de volledige naam staat, dan komt in kolom B de voornaam en kolom C de familienaam.
    • Met de functie VIND.ALLES() zoeken we de positie van de spatie (=spatiepositie).
    • De letters LINKS() van de spatiepositie, is de voornaam.
    • De letters RECHTS() van die spatiepositie vormen de familienaam.
    • Het aantal letters die rechts staan, kun je met behulp van de functie LENGTE() berekenen: namelijk lengte() - spatiepositie. Dus gecombineerd wordt dat RECHTS([volledigenaam];LENGTE()-spatiepostie)
  • Werkwijze:
    • in een hulpkolom B berekenen we voor de eenvoud de spatiepositie (ipv geneste functies)
    • in kolom C de voornaam
    • in kolom D de familienaam
    • als alle formules gemaakt en gekopieerd zijn, selecteren we kolom B,C en D. We kiezen Kopieren. Zonder onze selectie te veranderen, klikken we nu Plakken Speciaal>Waarden. Op die manier zijn de formules "weg", en houden we de waarden over.
    • kolom B was een hulpmiddel. Die kolom kunnen we nu verwijderen.
    • Resultaat: in kolom B staat voornaam, in kolom C staat familienaam.
  • Formules:














  • combinatie 2 FAMILIENAAM+ VOORNAAM:

  • Redenering:

    • Als in kolom A de volledige naam staat, dan komt in kolom B de voornaam en kolom C de familienaam.
    • Met de functie VIND.ALLES() zoeken we de positie van de 1e spatie. Daarna zoeken we verder tot we de laatste spatie in de naam vinden (=spatiepositie). De moeilijkheid hier is dat je niet weet hoeveel spaties er zijn. Je maakt zoveel kolommen als nodig. Met de functie ALS... en ISFOUT() - of vanaf Excel 2007 gecombineerd in ALS.FOUT() - kun je telkens de laatst gevonden spatie 'doorgeven'.
    • De letters LINKS() van de spatiepositie, is de voornaam.
    • De letters RECHTS() van die spatiepositie vormen de familienaam.
    • Het aantal letters die rechts staan, kun je met behulp van de functie LENGTE() berekenen: namelijk lengte() - spatiepositie. Dus gecombineerd wordt dat RECHTS([volledigenaam];LENGTE()-spatiepostie)
  • Werkwijze:

    • we maken hulpkolommen: in kolom B berekenen we de 1e spatiepositie.
    • we maken een 2e hulpkolom C waarin we de volgende spatie zoeken (verder zoeken na de 1e gevonden). Indien er geen spatie meer instaat, krijg je een fout. Ipv een fout te tonen, toon je de waarde van kolom B.
    • we maken zoveel kolommen van het type C als nodig (=tot we geen fouten meer krijgen).
    • in kolom E de voornaam
    • in kolom F de familienaam
    • als alle formules gemaakt en gekopieerd zijn, selecteren we kolom B tem F. We kiezen Kopieren. Zonder onze selectie te veranderen, klikken we nu Plakken Speciaal>Waarden. Op die manier zijn de formules "weg", en houden we de waarden over.
    • kolom B tem D zijn een hulpmiddel. Die kolom kunnen we nu verwijderen.
    • Resultaat: in kolom B staat voornaam, in kolom C staat familienaam.

    Action: We have 2 combinations:
    Combination 1: FIRSTNAME + NAME

    Combination 2: NAME + FIRSTNAME

    1 opmerking: