Sadržaj
Vodič objašnjava funkcije Excel REPLACE i SUBSTITUTE s primjerima korištenja. Pogledajte kako koristiti funkciju REPLACE s tekstualnim nizovima, brojevima i datumima i kako ugnijezditi nekoliko funkcija REPLACE ili SUBSTITUTE unutar jedne formule.
Prošle sedmice smo raspravljali o različitim načinima korištenja funkcija FIND i SEARCH unutar vaše Excel radne listove. Danas ćemo detaljnije pogledati dvije druge funkcije za zamjenu teksta u ćeliji na osnovu njene lokacije ili za zamjenu jednog tekstualnog niza drugim na temelju sadržaja. Kao što ste možda pretpostavili, govorim o Excel funkcijama REPLACE i SUBSTITUTE.
Excel funkcija REPLACE
Funkcija REPLACE u Excelu vam omogućava da zamijenite jednu ili nekoliko znakovi u tekstualnom nizu s drugim karakterom ili skupom znakova.
REPLACE(old_text, start_num, num_chars, new_text)Kao što vidite, Excel REPLACE funkcija ima 4 argumenta, od kojih su svi obavezni.
- Stari_tekst - originalni tekst (ili referenca na ćeliju s originalnim tekstom) u kojoj želite zamijeniti neke znakove.
- Početni_broj - pozicija prvog znaka unutar starog_teksta koji želite zamijeniti.
- Broj_znakova - broj znakova koje želite zamijeniti.
- Novi_tekst - zamjenski tekst.
Na primjer, da promijenite riječ " sun " u " son ", možete koristiti sljedećeformula:
=REPLACE("sun", 2, 1, "o")
I ako stavite originalnu riječ u neku ćeliju, recimo A2, možete dati odgovarajuću referencu ćelije u argumentu old_text:
=REPLACE(A2, 2, 1, "o")
Napomena. Ako je argument start_num ili num_chars negativan ili nenumerički, formula za zamjenu programa Excel vraća #VALUE! greška.
Korišćenje Excel funkcije REPLACE s numeričkim vrijednostima
Funkcija REPLACE u Excelu je dizajnirana za rad s tekstualnim nizovima. Naravno, možete ga koristiti za zamjenu numeričkih znakova koji su dio tekstualnog niza, na primjer:
=REPLACE(A2, 7, 4, "2016")
Primijetite da prilažemo "2016 " u dvostrukim navodnicima kao što obično radite sa tekstualnim vrijednostima.
Na sličan način možete zamijeniti jednu ili više cifara unutar broja. Na primjer:
=REPLACE(A4, 4, 4,"6")
I opet, morate staviti zamjensku vrijednost u dvostruke navodnike ("6").
Bilješka. Excel REPLACE formula uvijek vraća tekstualni niz , a ne broj. Na snimku ekrana iznad, primijetite lijevo poravnanje vraćene vrijednosti teksta u B2 i uporedite ga sa desnim poravnatim originalnim brojem u A2. A budući da je riječ o tekstualnoj vrijednosti, nećete je moći koristiti u drugim izračunima osim ako je ne pretvorite natrag u broj, na primjer množenjem sa 1 ili korištenjem bilo koje druge metode opisane u Kako pretvoriti tekst u broj.
Korišćenje Excel funkcije REPLACE s datumima
Kao što ste upravo vidjeli, funkcija REPLACE radi dobro sabrojeva, osim što vraća tekstualni niz :) Imajući u vidu da se u internom Excel sistemu datumi pohranjuju kao brojevi, možete pokušati koristiti neke zamjenske formule za datume. Rezultati bi bili prilično neugodni.
Na primjer, imate datum u A2, recimo 1-14.10., i želite promijeniti " Okt " u " Nov ". Dakle, pišete formulu REPLACE(A2, 4, 3, "Nov") koja govori Excelu da zamijeni 3 znaka u ćelijama A2 počevši od 4. znaka... i dobili ste sljedeći rezultat:
Zašto? Jer "01-Oct-14" je samo vizuelni prikaz osnovnog serijskog broja (41913) koji predstavlja datum. Dakle, naša formula Replace mijenja posljednje 3 cifre u gornjem serijskom broju u " Nov " i vraća tekstualni niz "419Nov".
Da bi funkcija Excel REPLACE ispravno radila datume, možete prvo pretvoriti datume u tekstualne nizove pomoću funkcije TEXT ili bilo koje druge tehnike prikazane u Kako pretvoriti datum u tekst u Excelu. Alternativno, možete ugraditi funkciju TEXT direktno u argument old_text funkcije REPLACE:
=REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov")
Ne zaboravite da je rezultat gornje formule tekstualni niz , i stoga ovo rješenje radi samo ako ne planirate koristiti izmijenjene datume u daljim proračunima. Ako su vam potrebni datumi, a ne tekstualni nizovi, koristite funkciju DATEVALUE da pretvorite vrijednosti koje vraćaExcel funkcija REPLACE nazad na datume:
=DATEVALUE(REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov"))
Ugniježđene funkcije REPLACE za višestruke zamjene u ćeliji
Prilično često ćete možda morati izvršiti više od jedne zamjene u ista ćelija. Naravno, možete izvršiti jednu zamjenu, ispisati srednji rezultat u dodatni stupac, a zatim ponovo koristiti funkciju REPLACE. Međutim, bolji i profesionalniji način je korištenje ugniježđenih funkcija REPLACE koje vam omogućuju da izvršite nekoliko zamjena s jednom formulom. U ovom kontekstu, "ugniježđenje" znači stavljanje jedne funkcije u drugu.
Razmotrite sljedeći primjer. Pretpostavimo da imate listu telefonskih brojeva u koloni A formatiranu kao "123456789" i želite da učinite da izgledaju više kao telefonski brojevi dodavanjem crtica. Drugim riječima, vaš cilj je pretvoriti "123456789" u "123-456-789".
Umetanje prve crtice je jednostavno. Pišete uobičajenu Excel Replace formulu koja zamjenjuje nula znakova crticom, tj. dodaje crticu na 4. poziciju u ćeliji:
=REPLACE(A2,4,0,"-")
Rezultat Formula za zamjenu iznad je sljedeća:
U redu, i sada moramo umetnuti još jednu crticu na 8. poziciju. Da biste to učinili, postavite gornju formulu u drugu Excel funkciju REPLACE. Preciznije, ugrađujete ga u argument old_text druge funkcije, tako da će druga funkcija REPLACE obraditi vrijednost koju vraćaprvo ZAMIJENI, a ne vrijednost u ćeliji A2:
=REPLACE(REPLACE(A2,4,0,"-"),8,0,"-")
Kao rezultat, dobijate telefonske brojeve u željenom formatu:
Na sličan način, možete koristiti ugniježđene REPLACE funkcije da tekstualni nizovi izgledaju kao datumi dodavanjem kose crte (/) gdje je prikladno:
=(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))
Štaviše, tekstualne nizove možete pretvoriti u stvarne datume tako što ćete gornju formulu REPLACE omotati funkcijom DATEVALUE:
=DATEVALUE(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))
I naravno, niste ograničeni u broju funkcija možete ugniježditi unutar jedne formule (moderne verzije programa Excel 2010, 2013 i 2016 dozvoljavaju do 8192 znaka i do 64 ugniježđene funkcije u formuli).
Na primjer, možete koristiti 3 ugniježđene funkcije REPLACE za neka se broj u A2 pojavi kao datum i vrijeme:
=REPLACE(REPLACE(REPLACE(REPLACE(A2,3,0,"/") ,6,0,"/"), 9,0, " "), 12,0, ":")
Zamjena niza koji se pojavljuje na različitoj poziciji u svakoj ćeliji
Do sada smo se u svim primjerima bavili vrijednostima slične prirode i vršili zamjene u istoj poziciji uključeno u svakoj ćeliji. Ali zadaci u stvarnom životu često su složeniji od toga. U vašim radnim listovima, znakovi koje treba zamijeniti se ne moraju nužno pojaviti na istom mjestu u svakoj ćeliji, i stoga ćete morati pronaći poziciju prvog znaka koji treba zamijeniti. Sljedeći primjer će pokazati o čemu govorim.
Pretpostavimo da imate listu e-pošteadresiranje u koloni A. I naziv jedne kompanije je promijenjen iz "ABC" u, recimo, "BCA". Dakle, morate u skladu s tim ažurirati adrese e-pošte svih klijenata.
Ali problem je u tome što su imena klijenata različite dužine i zbog toga ne možete točno odrediti gdje počinje naziv kompanije. Drugim riječima, ne znate koju vrijednost treba unijeti u argument start_num funkcije REPLACE programa Excel. Da biste to saznali, koristite Excel funkciju FIND da odredite poziciju prvog znaka u nizu "@abc":
=FIND("@abc",A2)
A zatim unesite gornju funkciju FIND u start_num argument vaše REPLACE formule:
=REPLACE(A2, FIND("@abc",A2), 4, "@bca")
Savjet. Uključujemo "@" u našu formulu za pronalaženje i zamjenu programa Excel kako bismo izbjegli slučajne zamjene u dijelu imena adresa e-pošte. Naravno, postoji vrlo mala šansa da će se takva poklapanja dogoditi, a ipak biste trebali biti sigurni.
Kao što vidite na sljedećem snimku ekrana, formula nema problema s pronalaženjem i zamjenom stari tekst sa novim. Međutim, ako tekstualni niz koji treba zamijeniti nije pronađen, formula vraća #VALUE! greška:
I želimo da formula vrati originalnu adresu e-pošte umjesto greške. Dakle, priložimo naš FIND & ZAMIJENI formulu u funkciji IFERROR:
=IFERROR(REPLACE(A2, FIND("@abc",A2), 4, "@bca"),A2)
I ova poboljšana formula radi savršeno, zar ne?
Još jedna praktičnaprimjena funkcije REPLACE je veliko slovo u ćeliji. Kad god se bavite listom imena, proizvoda i slično, možete koristiti gornju formulu da promijenite prvo slovo u VELIKO slovo.
Savjet. Ako želite izvršiti zamjene u originalnim podacima, lakši način bi bio korištenje Excel dijaloškog okvira PRONAĐI i ZAMJENA.
Excel funkcija ZAMJENA
Funkcija ZAMJENA u Excelu zamjenjuje jednu ili više instanci datog znaka ili tekstualnog niza sa specificiranim karakterom(ovima).
Sintaksa funkcije SUBSTITUTE Excel je sljedeća:
SUBSTITUTE(tekst, stari_tekst, novi_tekst, [broj_instance])Prva tri argumenta su obavezna, a posljednji je opcionalan.
- Tekst - originalni tekst u koji želite zamijeniti znakove. Može se dostaviti kao testni niz, referenca ćelije ili rezultat druge formule.
- Stari_tekst - znakovi koje želite zamijeniti.
- Novi_tekst - novi karakter(ovi) za zamjenu starog_teksta.
- Broj_instance - pojavljivanje starog_teksta koji želite zamijeniti. Ako se izostavi, svako pojavljivanje starog teksta bit će promijenjeno u novi tekst.
Na primjer, sve donje formule zamjenjuju "1" sa "2" u ćeliji A2, ali vraćaju različite rezultate ovisno o tome koji broj navedete u posljednjem argumentu:
=SUBSTITUTE(A2, "1", "2", 1)
- Zamjenjuje prvo pojavljivanje "1" sa"2".
=SUBSTITUTE(A2, "1", "2", 2)
- Zamjenjuje drugo pojavljivanje "1" sa "2".
=SUBSTITUTE(A2, "1", "2")
- Zamjenjuje sva pojavljivanja "1" sa "2".
U praksi se funkcija SUBSTITUTE također koristi za uklanjanje neželjenih znakova iz ćelija. Za primjere iz stvarnog života pogledajte:
- Kako ukloniti znakove ili riječi iz stringa
- Kako izbrisati neželjene znakove iz ćelija
Napomena. Funkcija SUBSTITUTE u Excelu je osjetljiva na velika i mala slova . Na primjer, sljedeća formula zamjenjuje sve instance velikog slova "X" sa "Y" u ćeliji A2, ali neće zamijeniti nijednu instancu malih slova "x".
Zamijenite više vrijednosti jednom formulom (ugniježđena ZAMJENA)
Kao što je slučaj s Excel funkcijom REPLACE, možete ugnijezditi nekoliko funkcija SUBSTITUTE unutar jedne formule kako biste izvršili nekoliko zamjena odjednom, tj. zamjenu nekoliko znakova ili podnizova s jednom formulom.
Pretpostavimo da imate tekstualni niz poput " PR1, ML1, T1 " u ćeliji A2, gdje "PR" znači "Projekat, "ML " označava "Milestone" i "T" znači "Zadatak". Ono što želite je zamijeniti tri koda punim nazivima. Da biste to postigli, možete napisati 3 različite ZAMJENSKE formule:
=SUBSTITUTE(A2,"PR", "Project ")
=SUBSTITUTE(A2, "ML", "Milestone ")
=SUBSTITUTE(A2, "T", "Task ")
A zatim ih ugnijezdite jedno u drugo:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"PR","Project "),"ML","Milestone "),"T","Task ")
Primijetite da smo dodali razmak na kraju svaki argument new_text za bolječitljivost.
Da biste naučili druge načine zamjene više vrijednosti u isto vrijeme, pogledajte Kako napraviti masovno pronalaženje i zamjenu u Excelu.
Excel REPLACE vs . Excel SUBSTITUTE
Excel funkcije REPLACE i SUBSTITUTE su veoma slične jedna drugoj po tome što su obe dizajnirane da menjaju tekstualne nizove. Razlike između ove dvije funkcije su sljedeće:
- SUBSTITUTE zamjenjuje jednu ili više instanci datog znaka ili tekstualnog niza. Dakle, ako znate tekst koji treba zamijeniti, koristite funkciju SUBSTITUTE Excela.
- REPLACE mijenja znakove na navedenoj poziciji tekstualnog niza. Dakle, ako znate poziciju znakova koji treba zamijeniti, koristite Excel funkciju REPLACE.
- Funkcija SUBSTITUTE u Excelu omogućava dodavanje opcionog parametra (instance_num) koji određuje koja pojava starog_teksta treba promijeniti u novi_tekst.
Ovako koristite funkcije SUBSTITUTE i REPLACE u Excelu. Nadamo se da će ovi primjeri biti korisni u rješavanju vaših zadataka. Zahvaljujem vam na čitanju i nadam se da ćemo se sljedeće sedmice vidjeti na našem blogu!
Preuzmite radnu svesku za vježbu
ZAMJENI i ZAMJENI primjere formule (.xlsx datoteka)