Posljednja riječ

Jednostavan, na prvi pogled, problem s neočiglednim rješenjem: izdvojiti posljednju riječ iz reda teksta. Pa, ili, u opštem slučaju, poslednji fragment, odvojen datim znakom za razdvajanje (razmak, zarez, itd.) Drugim rečima, potrebno je implementirati obrnutu pretragu (od kraja do početka) u nizu dati znak, a zatim izdvojiti sve znakove desno od njega.

Pogledajmo tradicionalno nekoliko načina za izbor: formule, makroi i kroz Power Query.

Metoda 1. Formule

Da bismo lakše razumjeli suštinu i mehaniku formule, počnimo malo izdaleka. Prvo, povećajmo broj razmaka između riječi u našem izvornom tekstu na, na primjer, 20 komada. To možete učiniti pomoću funkcije zamjene. SUBSTITUTE (ZAMJENA) i funkcija ponavljanja datog znaka N-puta – REPEAT (REPT):

Posljednja riječ

Sada odsijecamo 20 znakova od kraja rezultirajućeg teksta pomoću funkcije PRAVO (DESNO):

Posljednja riječ

Postaje toplije, zar ne? Ostaje ukloniti dodatne razmake pomoću funkcije PODREZATI (PODREZATI) i problem ce se resiti:

Posljednja riječ

U engleskoj verziji naša formula će izgledati ovako:

=ODREZ (DESNO(ZAMJENA(A1;» «;POVRAT(» «;20));20))

Nadam se da je jasno da u principu nije potrebno unositi tačno 20 razmaka – bilo koji broj će biti dovoljan, sve dok je duži od dužine najduže reč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:

Posljednja riječ

Metoda 2. Makro funkcija

Zadatak izdvajanja posljednje riječi ili fragmenta iz teksta također se može riješiti korištenjem makroa, odnosno pisanjem funkcije obrnute pretrage u Visual Basicu koja će učiniti ono što nam treba – tražiti dati podniz u nizu u suprotnom smjeru – od od kraja do početka.

Pritisnite prečicu na tastaturi alt+F11 ili dugme Visual Basic tabulator Developer (programer)da otvorite makro uređivač. Zatim dodajte novi modul preko menija Umetak – Modul i tamo kopirajte sljedeći kod:

 Funkcija LastWord(txt As String, Optional Delim As String = " ", Optional n As Integer = 1) Kao String arFragments = Split(txt, delim) LastWord = arFragments(UBound(arFragments) - n + 1) End Funkcija  

Sada možete spremiti radnu knjigu (u formatu omogućenom za makroe!) i koristiti kreiranu funkciju u sljedećoj sintaksi:

=Posljednja riječ(txt; delim; n)

gdje

  • TXT – ćelija sa izvornim tekstom
  • delim — znak za razdvajanje (podrazumevano — razmak)
  • n – koju riječ treba izdvojiti s kraja (podrazumevano – prva s kraja)

Posljednja riječ

Uz bilo kakve promjene u izvornom tekstu u budućnosti, naša makro funkcija će se preračunavati u hodu, kao i svaka standardna Excel funkcija lista.

Metod 3. Power Query

power query je besplatni Microsoftov dodatak za uvoz podataka u Excel iz gotovo bilo kojeg izvora, a zatim pretvaranje preuzetih podataka u bilo koji oblik. Snaga i hladnoća ovog dodatka su toliko sjajni da je Microsoft ugradio sve njegove funkcije u Excel 2016 prema zadanim postavkama. Za Excel 2010-2013 Power Query možete besplatno preuzeti ovdje.

Naš zadatak odvajanja posljednje riječi ili fragmenta kroz dati separator pomoću Power Queryja rješava se vrlo lako.

Prvo, pretvorimo našu tablicu podataka u pametnu tablicu koristeći prečice na tipkovnici. Ctrl+T ili komande Početna – Formatirajte kao tabelu (Početna — Format kao tabela):

Posljednja riječ

Zatim učitavamo kreiranu „pametnu tabelu“ u Power Query pomoću naredbe Iz tabele/opseg (Iz tabele/dometa) tabulator podaci (ako imate Excel 2016) ili na kartici power query (ako imate Excel 2010-2013):

Posljednja riječ

U prozoru uređivača upita koji se otvori, na kartici transformacija (Transformacija) izabrati tim Razdvojite kolonu – po graničniku (Podijeljena kolona — Po graničniku) a zatim ostaje postaviti znak za razdvajanje i odabrati opciju Krajnji desni graničnikne iseći sve riječi, već samo posljednju:

Posljednja riječ

Posle klika na OK posljednja riječ će biti odvojena u novu kolonu. Nepotrebnu prvu kolonu možete ukloniti desnim klikom na njeno zaglavlje i odabirom ukloniti (Izbriši). Također možete preimenovati preostalu kolonu u zaglavlju tabele.

Rezultati se mogu učitati nazad na list pomoću naredbe Početna — Zatvori i učitaj — Zatvori i učitaj na… (Početna — Zatvori i učitaj — Zatvori i učitaj do…):

Posljednja riječ

I kao rezultat dobijamo:

Posljednja riječ

Ovako – jeftino i veselo, bez formula i makroa, gotovo bez dodirivanja tastature 🙂

Ako se originalna lista promijeni u budućnosti, biće dovoljno kliknuti desnim tasterom miša ili koristiti prečicu na tastaturi Ctrl+alt+F5 ažurirati naš zahtjev.


  • Dijeljenje ljepljivog teksta u kolone
  • Parsiranje i raščlanjivanje teksta sa regularnim izrazima
  • Izdvajanje prvih riječi iz teksta sa funkcijom SUBSTITUTE

Ostavite odgovor