2010.12.03. 10:26
Nevek felbontása vezetéknévre és keresztnévre
Ha van egy olyan névlistánk, amelyben a teljes (vezetéknév és keresztnév) nevek egy oszlopban szerepelnek, ilyenformán:
Név |
Kabos Gyula |
Latabár Kálmán |
Salamon Béla |
és a további felhasználás miatt külön oszlopban szeretnénk szerepeltetni a vezetékneveket és a keresztneveket, akkor ez manuálisan a lista hosszától függően óriási munka lehet. Szerencsére az Excel szövegfeldolgozó képletei némi ügyeskedéssel kitűnő megoldást kínálnak a problémára.
Az alapeset
Az első teendőnk megkeresni minden névben a vezetéknév és a keresztnév közötti szóközt, mert ennek alapján tudjuk majd a két szót szétválasztani. Ezt a SZÖVEG.KERES (angolul FIND) függvény fogja nekünk elvégezni. A függvény első argumentuma a keresett karakter, jelen esetben a szóköz, a második argumentum az a szöveg vagy hivatkozás, amiben ezt a karaktert keressük, vagyis a teljes név.
Írjuk az alábbi képletet a B2 cellába:
=SZÖVEG.KERES(" ";A2)
Ezt kapjuk:
A | B | |
---|---|---|
1 | Teljes név | Hányadik karakter a szóköz? |
2 | Kabos Gyula | 6 |
Tehát a szóköz a 6. karakter a szövegben, ami azt is jelenti, hogy a vezetéknév ötbetűs. Ebből a BAL (angolul LEFT) függvény segítségével el tudjuk különíteni az első szóköz előtti karakterláncot. Az első argumentum a teljes szöveg, a második az a szöveghossz, amit eredményképpen látni szeretnénk. A C3 cellába írjuk tehát ezt:
=BAL(A2;B2-1)
És itt az eredmény:
A | B | C | |
---|---|---|---|
1 | Teljes név | Hányadik karakter a szóköz? | Vezetéknév |
2 | Kabos Gyula | 6 | Kabos |
Az utónév elkülönítéséhez két újabb függvényre lesz szükségünk. A KÖZÉP (angolul MID) függvény egy karakterlánc közepéről megadott helytől kezdve egy adott hosszúságú karakterláncot eredményez, a HOSSZ (angolul LEN) függvény pedig egy adott karakterlánc hosszát adja vissza. Írjuk a D3 cellába a következő képletet:
=KÖZÉP(A2;B2+1;HOSSZ(A2))
A KÖZÉP függvény argumentuma azt mondja meg, honnan kezdve szeretnénk eredményt kapni. Mivel a szóköz a 6. karakter, hozzá kell adnunk 1-et. A függvény harmadik argumentuma a HOSSZ(A2), melynek értéke ez esetben 11, az A2 cella szövegének hossza. Ez több, mint amire szükségünk van, de ez nem baj, mert csak az a fontos, hogy rövidebb ne legyen.
A kapott eredmény a kiinduló példára ez lesz:
A | B | C | D | |
---|---|---|---|---|
1 | Teljes név | Hányadik karakter a szóköz? | Vezetéknév | Keresztnév |
2 | Kabos Gyula | 6 | Kabos | Gyula |
3 | Latabár Kálmán | 8 | Latabár | Kálmán |
4 | Salamon Béla | 8 | Salamon | Béla |
Ezzel a feladatot alapszinten megoldottuk. Gyakorlottabb Excelmesterek persze a B oszlopot kihagyhatják és a SZÖVEG.KERES képletet beágyazhatják a C és D oszlop képleteibe.
Ha letöltjük a példát, és elkezdünk játszani az A oszlopban szereplő nevekkel, hamar rájövünk, hogy ezt az alapszintű megoldást azért elég könnyen zavarba lehet hozni. Ha a névben egynél több szóköz szerepel (Déryné Széppataki Róza), akkor a kapott eredmény már nem az lesz, amit esetleg szeretnénk, ha pedig a Teljes név egytagú (Alfonzó), akkor bizony a megoldásunk teljesen összeomlik. Természetesen ezekre újabb képletek bevonásával fel lehet készülni - ezt egy másik alkalommal fogjuk ismertetni.
A bejegyzés trackback címe:
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.