Sadržaj
U posljednjih nekoliko članaka raspravljali smo o različitim tekstualnim funkcijama - onima koje se koriste za manipuliranje tekstualnim nizovima. Danas je naš fokus na funkciji RIGHT, koja je dizajnirana da vrati određeni broj znakova s krajnje desne strane niza. Kao i druge tekstualne funkcije programa Excel, RIGHT je vrlo jednostavna i jasna, no usprkos tome ima nekoliko neočitih upotreba koje bi se mogle pokazati korisnima u vašem radu.
Sintaksa funkcije Excel RIGHT
Funkcija RIGHT u programu Excel vraća navedeni broj znakova s kraja tekstualnog niza.
Sintaksa funkcije RIGHT je sljedeća:
RIGHT(tekst, [broj_znakova])Gdje :
- Tekst (obavezno) - tekstualni niz iz kojeg želite izdvojiti znakove.
- Broj_znakova (neobavezno) - broj znakova za izdvajanje, počevši od krajnjeg desnog znaka.
- Ako je num_chars izostavljen, vraća se 1 zadnji znak niza (zadano).
- Ako je num_chars veći od ukupnog broja znakova u nizu, vraćaju se svi znakovi.
- Ako je num_chars negativan broj, Right formula vraća #VALUE! pogreška.
Na primjer, da biste izdvojili posljednja 3 znaka iz niza u ćeliji A2, koristite ovu formulu:
=RIGHT(A2, 3)
Rezultat bi mogao izgledati otprilike ovako:
Važna napomena! Funkcija Excel RIGHT uvijek vraća tekststring , čak i ako je izvorna vrijednost broj. Da biste formulu Right prisilili da ispiše broj, upotrijebite je u kombinaciji s funkcijom VALUE kao što je prikazano u ovom primjeru.
Kako koristiti funkciju RIGHT u Excelu - primjeri formula
U stvarnom životu radne listove, funkcija Excel RIGHT rijetko se koristi sama. U većini slučajeva koristit ćete ga zajedno s drugim Excel funkcijama kao dio složenijih formula.
Kako dobiti podniz koji dolazi nakon određenog znaka
U slučaju da želite izdvojiti podniz koji slijedi iza određenog znaka, upotrijebite funkciju SEARCH ili FIND da odredite položaj tog znaka, oduzmite položaj od ukupne duljine niza koju vraća funkcija LEN i izvucite toliko znakova s krajnje desne strane izvornog niza.
RIGHT( string , LEN( string ) - SEARCH( character , string ))Recimo, ćelija A2 sadrži ime i prezime odvojene razmakom, a vama je cilj povući prezime u drugu ćeliju. Samo uzmite gornju generičku formulu i stavite A2 umjesto niza i " " (razmak) u koraku od znaka:
=RIGHT(A2,LEN(A2)-SEARCH(" ",A2))
Formula će dati sljedeći rezultat:
Na sličan način možete dobiti podniz koji slijedi nakon bilo kojeg drugog znaka, npr. zarez, točka-zarez, crtica itd. Na primjer, da izdvojite podniz koji dolazi nakon crtice,koristite ovu formulu:
=RIGHT(A2,LEN(A2)-SEARCH("-",A2))
Rezultat će izgledati slično ovome:
Kako izdvojiti podniz nakon posljednjeg pojavljivanja graničnika
Kada u radu sa složenim nizovima koji sadrže nekoliko pojavljivanja istog graničnika, često ćete morati dohvatiti tekst s desne strane posljednjeg pojavljivanja graničnika. Da biste stvari lakše razumjeli, pogledajte sljedeće izvorne podatke i željeni rezultat:
Kao što možete vidjeti na gornjoj snimci zaslona, stupac A sadrži popis pogrešaka. Vaš cilj je izvući opis pogreške koji dolazi iza posljednje dvotočke u svakom nizu. Dodatna je komplikacija to što izvorni nizovi mogu sadržavati različit broj instanci graničnika, npr. A3 sadrži 3 dvotočke dok A5 samo jednu.
Ključ za pronalaženje rješenja je određivanje položaja zadnjeg graničnika u izvornom nizu (posljednje pojavljivanje dvotočke u ovom primjeru). Da biste to učinili, morat ćete koristiti pregršt različitih funkcija:
- Dohvatite broj graničnika u izvornom nizu. To je jednostavan dio:
- Prvo, izračunavate ukupnu duljinu niza pomoću funkcije LEN: LEN(A2)
- Drugo, izračunavate duljinu niza bez graničnika pomoću funkcije SUBSTITUTE funkcija koja zamjenjuje sva pojavljivanja dvotočke ničim: LEN(SUBSTITUTE(A2,":",""))
- Na kraju, oduzimate duljinu izvornog nizabez graničnika od ukupne duljine niza: LEN(A2)-LEN(SUBSTITUTE(A2,":",""))
Kako biste bili sigurni da formula radi ispravno, možete je unijeti u odvojite ćeliju, a rezultat će biti 2, što je broj dvotočaka u ćeliji A2.
- Zamijenite zadnji graničnik nekim jedinstvenim znakom. Kako bismo izdvojili tekst koji dolazi nakon posljednjeg graničnika u nizu, moramo na neki način "označiti" to posljednje pojavljivanje graničnika. Za ovo, zamijenimo zadnje pojavljivanje dvotočke znakom koji se ne pojavljuje nigdje u originalnim nizovima, na primjer znakom funte (#).
Ako ste upoznati sa sintaksom funkcije Excel SUBSTITUTE, možda se sjećate da ona ima četvrti izborni argument (instance_num) koji dopušta zamjenu samo određenog pojavljivanja navedenog znaka. A budući da smo već izračunali broj graničnika u nizu, jednostavno unesite gornju funkciju u četvrti argument druge funkcije SUBSTITUTE:
=SUBSTITUTE(A2,":","#",LEN(A2)-LEN(SUBSTITUTE(A2,":","")))
Ako stavite ovu formulu u zasebnu ćeliju , vratio bi ovaj niz: ERROR:432#Veza je istekla
- Dohvati položaj zadnjeg graničnika u nizu. Ovisno o tome kojim znakom ste zamijenili posljednji graničnik, upotrijebite SEARCH koji ne razlikuje velika i mala slova ili FIND koji razlikuje velika i mala slova da odredite položaj tog znaka u nizu. Zamijenili smo zadnju dvotočkusa znakom #, pa koristimo sljedeću formulu da saznamo njegov položaj:
=SEARCH("#", SUBSTITUTE(A2,":","#",LEN(A2)-LEN(SUBSTITUTE(A2,":",""))))
U ovom primjeru, formula vraća 10, što je položaj # u zamijenjenom nizu.
- Vrati podniz s desne strane posljednjeg graničnika. Sada kada znate položaj zadnjeg graničnika u nizu, sve što trebate učiniti je oduzeti taj broj od ukupne duljine niza i dobiti funkciju RIGHT za vraćanje toliko znakova s kraja izvornog niza:
=RIGHT(A2,LEN(A2)-SEARCH("$",SUBSTITUTE(A2,":","$",LEN(A2)-LEN(SUBSTITUTE(A2,":","")))))
Kao što je prikazano na slici ispod, formula radi savršeno:
Ako radite s velikim skupom podataka gdje različite ćelije mogu sadržavati različite graničnike, možda biste trebali da biste gornju formulu uključili u funkciju IFERROR kako biste spriječili moguće pogreške:
=IFERROR(RIGHT(A2,LEN(A2)-SEARCH("$",SUBSTITUTE(A2,":","$",LEN(A2)-LEN(SUBSTITUTE(A2,":",""))))), A2)
U slučaju da određeni niz ne sadrži niti jedno pojavljivanje navedenog graničnika, izvorni niz će biti vraćen, kao u retku 6 na snimci zaslona u nastavku:
Kako ukloniti prvih N znakova iz niza
Osim izdvajanja podniza s kraja niza, Excelova funkcija RIGHT je korisna u situacijama kada želite ukloniti određeni broj znakova s početka niza.
U skupu podataka korištenom u prev. Kao primjer, možda ćete htjeti ukloniti riječ "GREŠKA" koja se pojavljuje na početku svakog niza i ostaviti samo broj pogreške i opis. Imati gagotovo, oduzmite broj znakova koje treba ukloniti od ukupne duljine niza i dodajte taj broj argumentu num_chars funkcije Excel RIGHT:
RIGHT( string , LEN ( string )- number_of_chars_to_remove )U ovom primjeru uklanjamo prvih 6 znakova (5 slova i dvotočku) iz tekstualnog niza u A2, tako da naša formula ide ovako slijedi:
=RIGHT(A2, LEN(A2)-6)
Može li funkcija Excel RIGHT vratiti broj?
Kao što je spomenuto na početku ovog vodiča, funkcija RIGHT u Excelu uvijek vraća tekstualni niz čak i ako je izvorna vrijednost broj. Ali što ako radite s numeričkim skupom podataka i želite da i izlaz bude numerički? Jednostavno zaobilazno rješenje je ugniježđivanje formule Right u funkciju VRIJEDNOST, koja je posebno dizajnirana za pretvaranje niza koji predstavlja broj u broj.
Na primjer, za izvlačenje zadnjih 5 znakova (poštanski broj) iz niza u A2 i pretvorite izdvojene znakove u broj, upotrijebite ovu formulu:
=VALUE(RIGHT(A2, 5))
Snimak zaslona u nastavku prikazuje rezultat - obratite pozornost na brojeve koji su poravnati udesno u stupcu B, za razliku od lijevog - poravnati tekstualni nizovi u stupcu A:
Zašto funkcija RIGHT ne radi s datumima?
Budući da je funkcija Excel RIGHT dizajnirana za rad s tekstualnim nizovima, dok su datumi predstavljeni brojevima u internog sustava Excel, Right formula ne može dohvatiti pojedincadio datuma kao što je dan, mjesec ili godina. Ako to pokušate učiniti, sve što ćete dobiti je nekoliko zadnjih znamenki broja koji predstavlja datum.
Pretpostavimo da imate datum 18-Jan-2017 u ćeliji A1. Ako pokušate izdvojiti godinu pomoću formule RIGHT(A1,4), rezultat bi bio 2753, što su posljednje 4 znamenke broja 42753 koji predstavlja 18. siječnja 2017. u sustavu Excel.
"Dakle, kako mogu dohvatiti određeni dio datuma?", možete me pitati. Korištenjem jedne od sljedećih funkcija:
- Funkcija DAY za izdvajanje dana: =DAY(A1)
- Funkcija MONTH za dobivanje mjeseca: =MONTH(A1)
- YEAR funkcija za izvlačenje godine: =YEAR(A1)
Sljedeća snimka zaslona prikazuje rezultate:
Ako su vaši datumi predstavljeni tekstualnim nizovima , što je čest slučaj kada izvozite podatke iz vanjskog izvora, ništa vas ne sprječava da upotrijebite funkciju DESNO za izvlačenje posljednjih nekoliko znakova u nizu koji predstavljaju određeni dio datuma:
Excel DESNO funkcija ne radi - razlozi i rješenja
Ako prava formula ne radi ispravno na vašem radnom listu, najvjerojatnije je to zbog jednog od sljedećih razloga:
- Postoji jedan ili više razmaci na kraju u izvornim podacima. Za brzo uklanjanje dodatnih razmaka u ćelijama upotrijebite funkciju Excel TRIM ili dodatak Cell Cleaner.
- Argument num_chars je manji od nule . OdNaravno, teško da ćete namjerno htjeti staviti negativan broj u svoju formulu, ali ako je argument num_chars izračunat drugom Excel funkcijom ili kombinacijom različitih funkcija, a vaša Right formula vrati #VALUE! pogreške, svakako provjerite ugniježđene funkcije(e) za pogreške.
- Originalna vrijednost je datum . Ako ste pozorno pratili ovaj vodič, već znate zašto funkcija RIGHT ne može raditi s datumima. Ako je netko preskočio prethodni odjeljak, sve pojedinosti možete pronaći u odjeljku Zašto funkcija Excel RIGHT ne radi s datumima.
Ovako koristite funkciju RIGHT u Excelu. Kako biste pobliže pogledali formule o kojima se govori u ovom vodiču, dobrodošli ste da preuzmete naš primjer radne knjige u nastavku. Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeći tjedan.
Dostupna preuzimanja
Excel RIGHT funkcija - primjeri (.xlsx datoteka)