Jednostavan, na prvi pogled, problem s neočitim rješenjem: izdvojiti posljednju riječ iz retka teksta. Pa, ili, u općem slučaju, posljednji fragment, odvojen zadanim znakom razgraničenja (razmak, zarez, itd.) Drugim riječima, potrebno je implementirati obrnuto pretraživanje (od kraja prema početku) u nizu dati znak, a zatim izdvojiti sve znakove desno od njega.
Pogledajmo tradicionalno nekoliko načina za odabir: formule, makronaredbe i putem Power Queryja.
Metoda 1. Formule
Da bismo lakše razumjeli bit i mehaniku formule, krenimo malo izdaleka. Prvo, povećajmo broj razmaka između riječi u izvornom tekstu na, primjerice, 20 komada. To možete učiniti pomoću funkcije zamjene. ZAMJENA (ZAMJENA) i funkcija ponavljanja zadanog znaka N-puta – PONOVITI (PONAVLJANJE):
Sada smo pomoću funkcije odrezali 20 znakova s kraja dobivenog teksta PRAVO (PRAVO):
Postaje toplije, zar ne? Ostaje ukloniti dodatne razmake pomoću funkcije TRIM (TRIM) i problem će biti riješen:
U engleskoj verziji naša formula će izgledati ovako:
=TRIM(RIGHT(SUBSTITUTE(A1;» «;REPT(» «;20));20))
Nadam se da je jasno da u načelu nije potrebno umetnuti točno 20 razmaka – bilo koji broj je dovoljan, sve dok je duži od duljine najduže riječi u izvornom tekstu.
A ako izvorni tekst treba podijeliti ne razmakom, već drugim znakom za razdvajanje (na primjer, zarezom), tada će našu formulu trebati malo ispraviti:
Metoda 2. Makro funkcija
Zadatak izdvajanja posljednje riječi ili fragmenta iz teksta također se može riješiti pomoću makronaredbi, naime pisanjem funkcije obrnutog pretraživanja u Visual Basicu koja će učiniti ono što trebamo – tražiti zadani podniz u nizu u suprotnom smjeru – od s kraja na početak.
Pritisnite tipkovnički prečac drugo+F11 ili gumb Visual Basic kartica razvijač (Programer)za otvaranje uređivača makronaredbi. Zatim dodajte novi modul putem izbornika Umetak – Modul i tamo kopirajte sljedeći kod:
Funkcija LastWord(txt kao niz, izborno razdvajanje kao niz = " ", izborno n kao cijeli broj = 1) kao niz arFragments = Split(txt, delim) LastWord = arFragments(UBound(arFragments) - n + 1) Kraj funkcije
Sada možete spremiti radnu knjigu (u formatu s omogućenim makronaredbama!) i koristiti stvorenu funkciju u sljedećoj sintaksi:
=ZadnjaRiječ(txt ; razdvoj ; n)
gdje
- txt – ćelija s izvornim tekstom
- razgraničiti — znak za razdvajanje (zadano — razmak)
- n – koju riječ treba izvući s kraja (standardno – prva s kraja)
S bilo kakvim budućim promjenama u izvornom tekstu, naša makro funkcija će se ponovno izračunati u hodu, kao i svaka standardna Excel funkcija lista.
Metoda 3. Power Query
Upit snage je besplatan Microsoftov dodatak za uvoz podataka u Excel iz gotovo bilo kojeg izvora i zatim pretvaranje preuzetih podataka u bilo koji oblik. Snaga i cool ovog dodatka toliko su veliki da je Microsoft ugradio sve njegove značajke u Excel 2016 prema zadanim postavkama. Za Excel 2010-2013 Power Query možete besplatno preuzeti odavde.
Naš zadatak odvajanja posljednje riječi ili fragmenta kroz zadani separator pomoću Power Queryja rješava se vrlo jednostavno.
Prvo, pretvorimo našu podatkovnu tablicu u pametnu tablicu pomoću tipkovničkih prečaca. Ctrl+T ili naredbe Početna – Format kao tablica (Početna — Formatiraj kao tablicu):
Zatim kreiranu “pametnu tablicu” učitavamo u Power Query pomoću naredbe Iz tablice/raspona (Iz tablice/raspona) kartica Datum (ako imate Excel 2016) ili na kartici Upit snage (ako imate Excel 2010-2013):
U prozoru uređivača upita koji se otvori, na kartici transformacija (Transformirati) izabrati tim Podijeli stupac – prema razdjelniku (Podijeli stupac — prema razdjelniku) a zatim ostaje postaviti znak za razdvajanje i odabrati opciju Krajnji desni graničnikda izrežem ne sve riječi, nego samo posljednju:
Nakon što kliknete OK zadnja riječ će biti odvojena u novi stupac. Nepotrebni prvi stupac može se ukloniti desnim klikom na njegovo zaglavlje i odabirom ukloniti (Izbrisati). Također možete preimenovati preostali stupac u zaglavlju tablice.
Rezultati se mogu prenijeti natrag na list pomoću naredbe Početna — Zatvori i učitaj — Zatvori i učitaj u… (Početna — Zatvori i učitaj — Zatvori i učitaj u…):
I kao rezultat dobivamo:
Ovako – jeftino i veselo, bez formula i makroa, gotovo bez dodirivanja tipkovnice 🙂
Ako se izvorni popis u budućnosti promijeni, bit će dovoljno kliknuti desnom tipkom miša ili upotrijebiti tipkovni prečac Ctrl+drugo+F5 ažurirati naš zahtjev.
- Dijeljenje ljepljivog teksta u stupce
- Raščlanjivanje i raščlanjivanje teksta regularnim izrazima
- Izdvajanje prvih riječi iz teksta funkcijom SUBSTITUTE