Mai kis okosságunként folytassuk egy, a tegnapinál egyszerűbb Excel-kérdés megválaszolásával, amely nagyon sok helyzetben, sokféle táblázatnál hasznos lehet számunkra, ráadásul tökéletesen megmutatja, hogy a SUBSTITUTE függvény milyen széles skálán alkalmazható problémák megoldására az egyszerű karaktercsere mellett.
Szóval a kérdés annyi lenne csak, hogy a lent látható példában hogyan tudnánk azt kilistázni a második oszlopba, hogy egy-egy hallgató nevének mi az utolsó része (azaz mondjuk mi az utolsó keresztneve, tehát nagyjából az utolsó szóköz utáni szövegrész érdekelne minket)?
A megoldáshoz alapvetően öt függvényt fogunk egymásba ágyazni, szóval ha valakinek van egyszerűbb módszere, nyugodtan szóljon - mindenesetre mi most kezdjük kapásból a REPT függvénnyel, ami igen egyszerű célt szolgál, az első paramétereként megadott karaktereket, számokat, szövegeket, a második paraméterként megadott darabszámszor megismétli.
Ergó a REPT("Siker",10) függvény, a Siker szót fogja egy cellába 10 alkalommal beírni egymás után.
A LEN függvényt nem nagyon kell bemutatni a nem túl tapasztalt Excel-felhasználók számára sem, egyszerűen megadja, hogy a paraméterként megadott cellában lévő szöveg/tartalom hány karakterből áll.
Azaz LEN(A1) megadja, hogy az A1 cellában lévő tartalom hány karakterből áll.
Folytatva a sort, jöjjön megoldásunk lelke, a SUBSTITUTE függvény, amely szintén nem egy kvantumfizika, hiszen egy megadott cellában lévő adaton belül, a második paraméterként megadott részt a harmadik paraméterként megadott részre fog lecserélni.
Így értelemszerűen SUBSTITUTE(A1," ","A") az A1 cellában lévő tartalom szóközeit cseréli le A betűre. Ugye, hogy nem egy komplikált téma ez sem.
A RIGHT függvény a mindennapokban szinte kötelezően használandó és szükséges darab, a cellánk jobb oldaláról vág le és ír ki nekünk annyi karaktert, ahányat második paraméterként megadunk neki, azaz RIGHT(A1,5) az A1 cella tartalmának utolsó 5 karakterét fogja kiírni.
Ezzel pedig el is érkeztünk az utolsó függvényünkhöz ma, ami a TRIM, ez egyszerűen egy megadott cellából tünteti el az összes felesleges szóközt - TRIM(A1) tehát az A1 összes szóközét törli (vagyis az összes feleslegeset, hiszen a szavak között egy-egy szóközt mindig meghagy).
Miután ezeket megismertük, következhet a fentebb taglalt probléma megoldása, ami a következő függvénykombináció lesz:
TRIM(RIGHT(SUBSTITUTE(D5," ",REPT(" ",LEN(D5))),LEN(D5)))
Először próbáljuk meg magunk értelmezni, hiszen nem annyira bonyult mint amilyennek látszik. Elsőként az általunk kiválasztott névnél, jelen esetben Mikor Kálmán esetében fogjuk a REPT(" ",LEN(D5)) függvénnyel a szóköz(öke)t annyiszor megsokszorozni, amilyen hosszú maga a cella, majd ezt a megsokszorozott szóközt fogjuk a SUBSTITUTE(D5," ",REPT(" ",LEN(D5))) kombinációval a szóközök helyére beírni, tehát valami ilyesminél járunk most:
Mire van most szükségünk? A RIGHT függvény segítségével levágunk annyit az új eredményünkből jobbról, amennyi az eredeti cella tartalmának hosszúsága, hiszen így levágjuk az utolsó nevet és legalább ugyanennyi szóközt, azaz kapunk valami ilyesmit:
Aztán már csak a TRIM-mel kell eltávolítani a szóközöket és kész is vagyunk. Ha valaki végigcsinálta a leírás alapján, az most biztos elmosolyodik, mert ez az Excel igazi szépsége, az ilyen szuper kis megoldások, makró és mindenféle másolgatás nélkül.