Posljednja riječ

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):

Posljednja riječ

Sada smo pomoću funkcije odrezali 20 znakova s ​​kraja dobivenog teksta PRAVO (PRAVO):

Posljednja riječ

Postaje toplije, zar ne? Ostaje ukloniti dodatne razmake pomoću funkcije TRIM (TRIM) i problem će biti riješen:

Posljednja riječ

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:

Posljednja riječ

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)

Posljednja riječ

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):

Posljednja riječ

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):

Posljednja riječ

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:

Posljednja riječ

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…):

Posljednja riječ

I kao rezultat dobivamo:

Posljednja riječ

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

Ostavi odgovor