Turinys
Mokomojoje programoje paaiškinamos "Excel" REPLACE ir SUBSTITUTE funkcijos ir pateikiami jų naudojimo pavyzdžiai. Sužinokite, kaip naudoti REPLACE funkciją su teksto eilutėmis, skaičiais ir datomis ir kaip vienoje formulėje įterpti kelias REPLACE arba SUBSTITUTE funkcijas.
Praėjusią savaitę aptarėme įvairius būdus, kaip "Excel" darbalapiuose naudoti funkcijas FIND ir SEARCH. Šiandien giliau panagrinėsime kitas dvi funkcijas, kuriomis galima pakeisti tekstą ląstelėje pagal jo vietą arba pakeisti vieną teksto eilutę kita pagal turinį. Kaip turbūt numanote, kalbu apie "Excel" funkcijas REPLACE ir SUBSTITUTE.
"Excel" REPLACE funkcija
Naudodami "Excel" funkciją REPLACE galite vieną ar kelis teksto eilutės simbolius pakeisti kitu simboliu ar simbolių rinkiniu.
REPLACE(old_text, start_num, num_chars, new_text)Kaip matote, "Excel" funkcija REPLACE turi 4 argumentus, kurie visi yra privalomi.
- Old_text - pradinį tekstą (arba nuorodą į ląstelę su pradiniu tekstu), kuriame norite pakeisti kai kuriuos simbolius.
- Start_num - pirmojo simbolio old_text, kurį norite pakeisti, pozicija.
- Num_chars - simbolių, kuriuos norite pakeisti, skaičių.
- Naujas_tekstas - pakaitinį tekstą.
Pavyzdžiui, norėdami pakeisti žodį " saulė " į " sūnus ", galite naudoti šią formulę:
=REPLACE("saulė", 2, 1, "o")
Jei pradinį žodį įrašote į kokį nors langelį, tarkime, A2, argumente old_text galite pateikti atitinkamą langelio nuorodą:
=REPLACE(A2, 2, 1, "o")
Pastaba. Jei argumentas start_num arba num_chars yra neigiamas arba neskaitmeninis, "Excel" pakeitimo formulė grąžina klaidą #VALUE!.
"Excel" funkcijos REPLACE naudojimas su skaitinėmis reikšmėmis
"Excel" funkcija REPLACE skirta darbui su teksto eilutėmis. Žinoma, ją galite naudoti norėdami pakeisti skaitinius simbolius, kurie yra teksto eilutės dalis, pvz:
=REPLACE(A2, 7, 4, "2016")
Atkreipkite dėmesį, kad žodį "2016" uždarome dvigubomis kabutėmis, kaip paprastai daroma su teksto reikšmėmis.
Panašiai galite pakeisti vieną ar kelis skaitmenis skaičiuje. Pavyzdžiui:
=PAKEISTI(A4, 4, 4, 4, "6")
Ir vėlgi, pakaitinę reikšmę reikia pateikti dvigubose kabutėse ("6").
Pastaba. "Excel" REPLACE formulė visada grąžina teksto eilutė pirmiau pateiktoje ekrano nuotraukoje atkreipkite dėmesį į grąžintos teksto reikšmės B2 išlyginimą į kairę ir palyginkite ją su pradiniu skaičiumi A2, kuris išlygintas į dešinę. Kadangi tai yra teksto reikšmė, negalėsite jos naudoti kituose skaičiavimuose, nebent konvertuosite ją atgal į skaičių, pavyzdžiui, padaugindami iš 1 arba naudodami bet kurį kitą metodą, aprašytą skyrelyje Kaip konvertuoti tekstą į skaičių.
"Excel" funkcijos REPLACE naudojimas su datomis
Kaip ką tik matėte, REPLACE funkcija puikiai veikia su skaičiais, tik ji grąžina teksto eilutę :) Atminkite, kad vidinėje "Excel" sistemoje datos saugomos kaip skaičiai, galite pabandyti naudoti kai kurias "Replace" formules datoms. Rezultatai būtų gana nepatogūs.
Pavyzdžiui, A2 laukelyje turite datą, pavyzdžiui, 2014 m. spalio 1 d., ir norite pakeisti " Spalio mėn. " į " lapkritis ". Taigi, parašykite formulę REPLACE(A2, 4, 3, "Nov"), kuri nurodo "Excel" pakeisti 3 simbolius ląstelėse A2, pradedant nuo 4 simbolio... ir gausite tokį rezultatą:
Kodėl? Todėl, kad "01-Oct-14" yra tik vizualus pagrindinio serijos numerio (41913), kuris nurodo datą, atvaizdas. Taigi, mūsų pakeitimo formulė pakeičia paskutinius 3 pirmiau nurodyto serijos numerio skaitmenis į " lapkritis " ir grąžina teksto eilutę "419Nov".
Kad "Excel" funkcija REPLACE tinkamai veiktų su datomis, pirmiausia galite konvertuoti datas į teksto eilutes naudodami funkciją TEXT arba bet kurį kitą metodą, aprašytą skyrelyje "Kaip konvertuoti datą į tekstą "Excel". Taip pat galite įterpti funkciją TEXT tiesiogiai į funkcijos REPLACE argumentą old_text:
=REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov")
Atminkite, kad pirmiau pateiktos formulės rezultatas yra teksto eilutė , todėl šis sprendimas tinka tik tuo atveju, jei pakeistų datų neplanuojate naudoti tolesniuose skaičiavimuose. Jei jums reikia datų, o ne teksto eilučių, naudokite funkciją DATEVALUE, kad "Excel" REPLACE funkcijos grąžinamas vertes vėl paverstumėte datomis:
=DATEVALUE(REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov"))
Įdėtos REPLACE funkcijos, skirtos keliems pakeitimams ląstelėje atlikti
Dažnai gali prireikti toje pačioje ląstelėje atlikti daugiau nei vieną pakeitimą. Žinoma, galite atlikti vieną pakeitimą, išvesti tarpinį rezultatą į papildomą stulpelį ir vėl naudoti funkciją REPLACE. Tačiau geresnis ir profesionalesnis būdas yra naudoti įterptinės REPLACE funkcijos kurios leidžia atlikti kelis pakeitimus naudojant vieną formulę. Šiame kontekste "įterpimas" reiškia, kad viena funkcija įterpiama į kitą.
Tarkime, kad A stulpelyje turite telefono numerių sąrašą, suformatuotą kaip "123456789", ir norite, kad jie atrodytų panašesni į telefono numerius, pridėdami brūkšnelius. Kitaip tariant, jūsų tikslas - paversti "123456789" į "123-456-789".
Pirmąjį brūkšnelį įterpti nesunku. Parašykite įprastą "Excel" pakeitimo formulę, kuri pakeičia nulis simbolių su brūkšneliu, t. y. prideda brūkšnelį ketvirtoje langelio vietoje:
=REPLACE(A2,4,0,"-")
Pirmiau pateiktos Pakeisti formulės rezultatas yra toks:
Gerai, o dabar reikia įterpti dar vieną brūkšnelį 8 pozicijoje. Norėdami tai padaryti, pirmiau pateiktą formulę įterpkite į kitą "Excel" funkciją REPLACE. Tiksliau, įterpkite ją į old_text kitos funkcijos argumentą, kad antroji REPLACE funkcija tvarkytų pirmosios REPLACE grąžintą vertę, o ne A2 ląstelės vertę:
=REPLACE(REPLACE(A2,4,0,"-"),8,0,"-")
Todėl telefono numeriai bus suformatuoti taip, kaip reikia:
Panašiai galite naudoti įterptas REPLACE funkcijas, kad teksto eilutės atrodytų kaip datos, prireikus pridėdami pasvirąjį brūkšnį (/):
=(PAKEISTI(PAKEISTI(A2,3,0,"/"),6,0,"/"))
Be to, teksto eilutes galite konvertuoti į realias datas, pirmiau pateiktą REPLACE formulę papildydami funkcija DATEVALUE:
=DUOMENŲ VERTĖ(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))
Ir, žinoma, neribojamas funkcijų, kurias galite įterpti į vieną formulę, skaičius (šiuolaikinėse "Excel 2010", "2013" ir "2016" versijose formulėje galima naudoti iki 8192 simbolių ir iki 64 įterptų funkcijų).
Pavyzdžiui, galite naudoti 3 įterptas REPLACE funkcijas, kad skaičius A2 būtų rodomas kaip data ir laikas:
=PAKEISTI(PAKEISTI(PAKEISTI(PAKEISTI(A2,3,0,"/") ,6,0,"/"), 9,0, " "), 12,0, ":")
Eilutės, kuri kiekvienoje ląstelėje yra skirtingoje vietoje, pakeitimas
Iki šiol visuose pavyzdžiuose dirbome su panašaus pobūdžio reikšmėmis ir pakeitėme jas toje pačioje kiekvieno langelio vietoje. Tačiau realios užduotys dažnai būna sudėtingesnės. Jūsų darbalapiuose keičiami simboliai nebūtinai bus toje pačioje kiekvieno langelio vietoje, todėl turėsite rasti pirmojo simbolio padėtį kurį reikėtų pakeisti. Toliau pateiktame pavyzdyje bus parodyta, apie ką kalbu.
Tarkime, kad turite el. pašto adresų sąrašą stulpelyje A. Ir vienos įmonės pavadinimas pasikeitė iš "ABC" į, tarkime, "BCA". Taigi turite atitinkamai atnaujinti visų klientų el. pašto adresus.
Tačiau problema ta, kad klientų pavadinimai yra skirtingo ilgio, todėl negalite tiksliai nurodyti, nuo kurios vietos prasideda įmonės pavadinimas. Kitaip tariant, nežinote, kokią reikšmę nurodyti "Excel" funkcijos REPLACE argumente start_num. Norėdami tai sužinoti, naudokite "Excel" funkciją FIND ir nustatykite pirmojo simbolio vietą eilutėje "@abc":
=FIND("@abc",A2)
Tada į REPLACE formulės start_num argumentą įrašykite pirmiau nurodytą FIND funkciją:
=REPLACE(A2, FIND("@abc",A2), 4, "@bca")
Patarimas. Į "Excel" radimo ir pakeitimo formulę įtraukiame "@", kad išvengtume atsitiktinių pavadinimo dalies pakeitimų el. pašto adresuose. Žinoma, tikimybė, kad tokių atitikmenų pasitaikys, yra labai maža, tačiau vis tiek galite norėti pasisaugoti.
Kaip matote toliau pateiktoje ekrano nuotraukoje, formulė be problemų randa ir pakeičia senąjį tekstą naujuoju. Tačiau jei keičiama teksto eilutė nerandama, formulė grąžina #VALUE! klaidą:
Norime, kad formulė grąžintų pradinį el. pašto adresą, o ne klaidą. Taigi savo formulę FIND & REPLACE įtraukime į funkciją IFERROR:
=IFERROR(REPLACE(A2, FIND("@abc",A2), 4, "@bca"),A2),A2)
Ir ši patobulinta formulė puikiai veikia, ar ne?
Kitas praktinis REPLACE funkcijos pritaikymas - pirmosios ląstelės raidės rašymas didžiąja raide. Kai susiduriate su pavadinimų, produktų ir pan. sąrašu, naudodami pirmiau nurodytą formulę galite pakeisti pirmąją raidę į didžiąją.
Patarimas. Jei norite atlikti pakeitimus pradiniuose duomenyse, paprasčiau būtų naudoti "Excel" dialogo langą FIND and REPLACE (surasti ir pakeisti).
"Excel" funkcija SUBSTITUTE
Funkcija SUBSTITUTE programoje "Excel" pakeičia vieną ar daugiau tam tikro simbolio ar teksto eilutės egzempliorių nurodytu (-ais) simboliu (-iais).
"Excel" funkcijos SUBSTITUTE sintaksė yra tokia:
SUBSTITUTE(text, old_text, new_text, [instance_num])Pirmieji trys argumentai yra privalomi, o paskutinis - neprivalomas.
- Tekstas - pradinį tekstą, kuriame norite pakeisti simbolius. Gali būti pateikta kaip bandomoji eilutė, ląstelės nuoroda arba kitos formulės rezultatas.
- Old_text - simbolį (-ius), kurį (-iuos) norite pakeisti.
- Naujas_tekstas - naują (-us) simbolį (-ius), kuriuo (-iais) pakeisti old_text.
- Instance_num - old_text, kurį norite pakeisti. Jei praleidžiama, kiekvienas senojo teksto atvejis bus pakeistas naujuoju tekstu.
Pavyzdžiui, visos toliau pateiktos formulės ląstelėje A2 pakeičia "1" skaičiumi "2", tačiau grąžina skirtingus rezultatus, priklausomai nuo to, kokį skaičių nurodysite kaip paskutinį argumentą:
=SUBSTITUTE(A2, "1", "2", 1)
- Pirmąjį "1" atvejį pakeičia "2".
=SUBSTITUTE(A2, "1", "2", 2)
- Pakeičia antrą kartą pasikartojančią raidę "1" raide "2".
=SUBSTITUTE(A2, "1", "2")
- Pakeičia visus "1" atvejus į "2".
Praktikoje funkcija SUBSTITUTE taip pat naudojama nepageidaujamiems ženklams iš langelių pašalinti. Realių pavyzdžių žr:
- Kaip pašalinti simbolius ar žodžius iš eilutės
- Kaip ištrinti nepageidaujamus simbolius iš ląstelių
Pastaba. "Excel" funkcija SUBSTITUTE yra , kai atsižvelgiama į mažąsias ir didžiąsias raides. Pavyzdžiui, toliau pateikta formulė pakeičia visus didžiosios raidės "X" atvejus į "Y" ląstelėje A2, tačiau nepakeičia nė vieno mažosios raidės "x" atvejo.
Kelių verčių pakeitimas viena formule (įterptinė SUBSTITUTE)
Kaip ir "Excel" REPLACE funkcijos atveju, vienoje formulėje galite įterpti kelias SUBSTITUTE funkcijas, kad vienu metu atliktumėte keletą pakeitimų, t. y. viena formule pakeistumėte keletą simbolių ar posistemių.
Tarkime, kad turite tokią teksto eilutę kaip " PR1, ML1, T1 " ląstelėje A2, kur "PR" reiškia "Project" (projektas), "ML" - "Milestone" (etapas), o "T" - "Task" (užduotis). Norite pakeisti šiuos tris kodus pilnais pavadinimais. Kad tai pasiektumėte, galite parašyti 3 skirtingas SUBSTITUTE formules:
=SUBSTITUTE(A2, "PR", "Projektas ")
=SUBSTITUTE(A2, "ML", "Etapas ")
=SUBSTITUTE(A2, "T", "Užduotis ")
O paskui įkelkite juos vieną į kitą:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "PR", "Projektas "), "ML", "Etapas "), "T", "Užduotis ")
Atkreipkite dėmesį, kad kiekvieno argumento new_text pabaigoje pridėjome tarpą, kad būtų lengviau skaityti.
Jei norite sužinoti kitų būdų, kaip vienu metu pakeisti kelias reikšmes, skaitykite straipsnį Kaip atlikti masinį radimą ir pakeitimą programoje "Excel".
"Excel REPLACE" ir "Excel SUBSTITUTE
"Excel" funkcijos REPLACE ir SUBSTITUTE yra labai panašios viena į kitą, nes abi skirtos teksto eilutėms sukeisti vietomis. Šių dviejų funkcijų skirtumai yra tokie:
- SUBSTITUTE pakeičia vieną ar daugiau egzemplioriai tam tikro simbolio arba teksto eilutės. Taigi, jei žinote tekstą, kurį reikia pakeisti, naudokite "Excel" funkciją SUBSTITUTE.
- REPLACE pakeičia nurodytus simbolius pozicija teksto eilutėje. Taigi, jei žinote keičiamo (-ų) simbolio (-ų) vietą, naudokite "Excel" funkciją REPLACE.
- "Excel" funkcija SUBSTITUTE leidžia pridėti neprivalomą parametrą (instance_num), kuris nurodo, kuris įvykis old_text turėtų būti pakeistas į new_text.
Taip "Excel" programoje naudojamos funkcijos SUBSTITUTE ir REPLACE. Tikiuosi, kad šie pavyzdžiai bus naudingi sprendžiant jūsų uždavinius. Dėkoju, kad perskaitėte, ir tikiuosi, kad kitą savaitę susitiksime mūsų tinklaraštyje!
Atsisiųsti praktikos sąsiuvinį
REPLACE ir SUBSTITUTE formulių pavyzdžiai (.xlsx failas)