Sadržaj
Udžbenik objašnjava Excelove funkcije REPLACE i SUBSTITUTE s primjerima upotrebe. Pogledajte kako koristiti funkciju REPLACE s tekstualnim nizovima, brojevima i datumima te kako ugniježditi nekoliko funkcija REPLACE ili SUBSTITUTE unutar jedne formule.
Prošli smo tjedan raspravljali o različitim načinima upotrebe funkcija FIND i SEARCH unutar svoje Excel radne listove. Danas ćemo dublje proučiti dvije druge funkcije za zamjenu teksta u ćeliji na temelju njegove lokacije ili zamjenu jednog tekstualnog niza drugim na temelju sadržaja. Kao što ste možda pogodili, govorim o Excel funkcijama REPLACE i SUBSTITUTE.
Excel REPLACE funkcija
Funkcija REPLACE u Excelu omogućuje vam da zamijenite jednu ili više znakova u tekstualnom nizu drugim znakom ili skupom znakova.
REPLACE(old_text, start_num, num_chars, new_text)Kao što vidite, funkcija Excel REPLACE ima 4 argumenta, od kojih su svi obavezni.
- Stari_tekst - originalni tekst (ili referenca na ćeliju s originalnim tekstom) u kojem želite zamijeniti neke znakove.
- Start_num - pozicija prvog znaka unutar old_text koji želite zamijeniti.
- Num_chars - broj znakova koje želite zamijeniti.
- New_text - zamjenski tekst.
Na primjer, za promjenu riječi " sunce " u " son ", možete koristiti sljedećeformula:
=REPLACE("sun", 2, 1, "o")
A ako stavite izvornu 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 nije numerički, formula za zamjenu programa Excel vraća #VALUE! greška.
Korištenje Excelove funkcije REPLACE s numeričkim vrijednostima
Funkcija REPLACE u Excelu dizajnirana je 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 s tekstualnim vrijednostima.
Na sličan način možete zamijeniti jednu ili više znamenki unutar broja. Na primjer:
=REPLACE(A4, 4, 4,"6")
I opet, zamjensku vrijednost morate staviti u dvostruke navodnike ("6").
Bilješka. Excel REPLACE formula uvijek vraća tekstualni niz , a ne broj. Na gornjoj snimci zaslona primijetite lijevo poravnanje vraćene tekstualne vrijednosti u B2 i usporedite ga s desno poravnatim izvornim brojem u A2. Budući da je to tekstualna vrijednost, nećete je moći koristiti u drugim izračunima osim ako je ne pretvorite natrag u broj, na primjer množenjem s 1 ili korištenjem bilo koje druge metode opisane u Kako pretvoriti tekst u broj.
Korištenje Excelove funkcije REPLACE s datumima
Kao što ste upravo vidjeli, funkcija REPLACE radi dobro sbrojeva, osim što vraća tekstualni niz :) Imajući na umu da su u internom Excel sustavu datumi pohranjeni kao brojevi, možete pokušati koristiti neke Zamijenite formule na datumima. Rezultati bi bili prilično neugodni.
Na primjer, imate datum u A2, recimo 1-listopad-14, i želite promijeniti " listopad " u " stu ". Dakle, napisali ste 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? Budući da je "01-Oct-14" samo vizualni prikaz osnovnog serijskog broja (41913) koji predstavlja datum. Dakle, naša formula Zamijeni mijenja posljednje 3 znamenke u gornjem serijskom broju u " Nov " i vraća tekstualni niz "419Nov".
Da bi funkcija Excel REPLACE pravilno radila s datume, prvo možete 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 izravno u argument old_text funkcije REPLACE:
=REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov")
Zapamtite da je rezultat gornje formule tekstualni niz , stoga ovo rješenje radi samo ako ne planirate koristiti modificirane datume u daljnjim izračunima. Ako su vam potrebni datumi umjesto tekstualnih nizova, upotrijebite funkciju DATEVALUE za pretvaranje vrijednosti koje vraćafunkcija Excel REPLACE do danas:
=DATEVALUE(REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov"))
Ugniježđene REPLACE funkcije za višestruke zamjene u ćeliji
Često ćete možda trebati napraviti više od jedne zamjene u ista ćelija. Naravno, možete napraviti jednu zamjenu, ispisati međurezultat u dodatni stupac, a zatim ponovno koristiti funkciju REPLACE. Međutim, bolji i profesionalniji način je korištenje ugniježđenih REPLACE funkcija koje vam omogućuju izvođenje nekoliko zamjena jednom formulom. U ovom kontekstu, "gniježđenje" znači postavljanje jedne funkcije unutar druge.
Razmotrite sljedeći primjer. Pretpostavimo da imate popis telefonskih brojeva u stupcu A oblikovan kao "123456789" i želite 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. Napišete uobičajenu formulu Excel Replace koja zamjenjuje nula znakova crticom, tj. dodaje crticu na 4. mjesto u ćeliji:
=REPLACE(A2,4,0,"-")
Rezultat iznad Zamijeni formula je sljedeća:
U redu, a sada moramo umetnuti još jednu crticu na 8. mjesto. Da biste to učinili, smjestite gornju formulu unutar druge Excel funkcije REPLACE. Točnije, ugradite 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, dobivaš telefonske brojeve u željenom formatu:
Na sličan način možete upotrijebiti ugniježđene REPLACE funkcije kako bi tekstualni nizovi izgledali kao datumi dodavanjem kose crte (/) gdje je to prikladno:
=(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))
Štoviše, tekstualne nizove možete pretvoriti u stvarne datume omotavanjem gornje formule REPLACE 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 dopuštaju do 8192 znaka i do 64 ugniježđene funkcije u formuli).
Na primjer, možete koristiti 3 ugniježđene funkcije REPLACE za imaju broj u A2 kao datum i vrijeme:
=REPLACE(REPLACE(REPLACE(REPLACE(A2,3,0,"/") ,6,0,"/"), 9,0, " "), 12,0, ":")
Zamjena niza koji se pojavljuje na drugom mjestu u svakoj ćeliji
Do sada smo u svim primjerima imali posla s vrijednostima slične prirode i izvršili smo zamjene u istoj poziciji na u svakoj ćeliji. Ali zadaci u stvarnom životu često su kompliciraniji od toga. U vašim radnim listovima, znakovi koje treba zamijeniti možda se neće nužno pojaviti na istom mjestu u svakoj ćeliji, pa ćete stoga morati pronaći poziciju prvog znaka koji treba zamijeniti. Sljedeći primjer će pokazati o čemu govorim.
Pretpostavimo da imate popis e-pošteadresiranje u stupcu A. I ime jedne tvrtke se promijenilo iz "ABC" u, recimo, "BCA". Dakle, morate ažurirati sve adrese e-pošte klijenata u skladu s tim.
Ali problem je u tome što su imena klijenata različite dužine i zato ne možete odrediti gdje točno počinje naziv tvrtke. Drugim riječima, ne znate koju vrijednost unijeti u argument start_num Excel funkcije REPLACE. Da biste to saznali, upotrijebite funkciju Excel FIND za određivanje položaja 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 u programu Excel kako bismo izbjegli slučajne zamjene u dijelu s imenom adresa e-pošte. Naravno, postoji vrlo mala vjerojatnost da će do takvih podudaranja doći, ali ipak biste trebali biti na sigurnoj strani.
Kao što vidite na sljedećoj snimci zaslona, formula nema problema s pronalaženjem i zamjenom stari tekst s novim. Međutim, ako tekstualni niz koji treba zamijeniti nije pronađen, formula vraća #VALUE! error:
I želimo da formula vrati izvornu adresu e-pošte umjesto pogreške. Dakle, priložimo naš FIND & ZAMIJENITE 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 imate posla s popisom imena, proizvoda i sličnog, možete upotrijebiti formulu s gornjom vezom da prvo slovo promijenite u VELIKA SLOVA.
Savjet. Ako želite izvršiti zamjene u izvornim podacima, jednostavniji bi način bio korištenje dijaloškog okvira Excel FIND i REPLACE.
Excelova funkcija ZAMJENA
Funkcija ZAMJENA u Excelu zamjenjuje jednu ili više instanci zadanog znaka ili tekstualnog niza s određenim znakovima).
Sintaksa Excelove funkcije SUBSTITUTE je sljedeća:
SUBSTITUTE(tekst, stari_tekst, novi_tekst, [broj_instance])Prva tri argumenta su obavezna, a posljednji nije obavezan.
- Tekst - izvorni tekst u kojem želite zamijeniti znakove. Može se dostaviti kao testni niz, referenca ćelije ili rezultat druge formule.
- Stari_tekst - znakovi koje želite zamijeniti.
- New_text - novi znakovi za zamjenu old_text.
- Instance_num - pojavljivanje old_texta koji želite zamijeniti. Ako se izostavi, svako pojavljivanje starog teksta bit će promijenjeno u novi tekst.
Na primjer, sve donje formule zamjenjuju "1" s "2" u ćeliji A2, ali vraćaju različite rezultate ovisno o tome koji broj unesete u zadnji argument:
=SUBSTITUTE(A2, "1", "2", 1)
- Zamjenjuje prvo pojavljivanje "1" s"2".
=SUBSTITUTE(A2, "1", "2", 2)
- Zamjenjuje drugo pojavljivanje "1" s "2".
=SUBSTITUTE(A2, "1", "2")
- Zamjenjuje sva pojavljivanja "1" s "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 niza
- Kako izbrisati neželjene znakove iz ćelija
Napomena. Funkcija SUBSTITUTE u Excelu razlikuje velika i mala slova . Na primjer, sljedeća formula zamjenjuje sve instance velikih slova "X" s "Y" u ćeliji A2, ali neće zamijeniti nijednu instancu malih slova "x".
Zamijenite više vrijednosti jednom formulom (ugniježđeni SUBSTITUTE)
Kao što je slučaj s Excel funkcijom REPLACE, možete ugniježditi nekoliko SUBSTITUTE funkcija unutar jedne formule kako biste izvršili nekoliko zamjena odjednom, tj. zamijenili nekoliko znakova ili podnizova s jednom formulom.
Pretpostavimo da imate tekstualni niz poput " PR1, ML1, T1 " u ćeliji A2, gdje "PR" označava "Projekt, "ML " označava "prekretnicu", a "T" znači "zadatak". Ono što želite je zamijeniti tri koda punim imenima. Da biste to postigli, možete napisati 3 različite formule ZAMJENE:
=SUBSTITUTE(A2,"PR", "Project ")
=SUBSTITUTE(A2, "ML", "Milestone ")
=SUBSTITUTE(A2, "T", "Task ")
I zatim ih ugniježdite 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 saznali druge načine za zamjenu više vrijednosti u isto vrijeme, pogledajte Kako napraviti masovno traženje i zamjenu u Excelu.
Excel ZAMJENA vs Excel SUBSTITUTE
Excel REPLACE i SUBSTITUTE funkcije su vrlo slične jedna drugoj po tome što su obje dizajnirane za zamjenu tekstualnih nizova. Razlike između ove dvije funkcije su sljedeće:
- SUBSTITUTE zamjenjuje jednu ili više instanci danog znaka ili tekstualnog niza. Dakle, ako znate tekst koji treba zamijeniti, upotrijebite Excelovu funkciju SUBSTITUTE.
- REPLACE mijenja znakove na određenom poziciji tekstualnog niza. Dakle, ako znate položaj znakova koje treba zamijeniti, upotrijebite Excelovu funkciju REPLACE.
- Funkcija SUBSTITUTE u Excelu omogućuje dodavanje izbornog parametra (instance_num) koji navodi koje pojavljivanje od old_text treba promijeniti u new_text.
Ovako koristite funkcije SUBSTITUTE i REPLACE u Excelu. Nadamo se da će vam ovi primjeri biti korisni u rješavanju vaših zadataka. Zahvaljujem vam na čitanju i nadam se da ćemo ga vidjeti na našem blogu sljedeći tjedan!
Preuzmite radnu bilježnicu
ZAMIJENI i ZAMIJENI primjere formula (.xlsx datoteka)