Satura rādītājs
Šajā pamācībā ir izskaidrotas Excel REPLACE un SUBSTITUTE funkcijas, pievienojot to izmantošanas piemērus. Skatiet, kā REPLACE funkciju izmantot ar teksta virknēm, skaitļiem un datumiem un kā vienā formulā ievietot vairākas REPLACE vai SUBSTITUTE funkcijas.
Pagājušajā nedēļā mēs aplūkojām dažādus veidus, kā Excel darblapās izmantot funkcijas FIND un SEARCH. Šodien mēs padziļināti aplūkosim divas citas funkcijas, lai aizvietotu tekstu šūnā, pamatojoties uz tā atrašanās vietu, vai aizvietotu vienu teksta virkni ar citu, pamatojoties uz saturu. Kā jau, iespējams, nojaušat, es runāju par Excel REPLACE un SUBSTITUTE funkcijām.
Excel REPLACE funkcija
Ar REPLACE funkciju programmā Excel varat nomainīt vienu vai vairākas rakstzīmes teksta virknē pret citu rakstzīmi vai rakstzīmju kopumu.
REPLACE(old_text, start_num, num_chars, new_text)Kā redzat, Excel REPLACE funkcijai ir 4 argumenti, no kuriem visi ir obligāti.
- Old_text - sākotnējo tekstu (vai atsauci uz šūnu ar sākotnējo tekstu), kurā vēlaties aizstāt dažas rakstzīmes.
- Start_num - pirmā simbola pozīcija old_text, kuru vēlaties aizstāt.
- Num_chars - rakstzīmju skaitu, ko vēlaties aizstāt.
- New_text - aizstājējtekstu.
Piemēram, lai mainītu vārdu " saule " uz " dēls ", varat izmantot šādu formulu:
=REPLACE("saule", 2, 1, "o")
Un, ja sākotnējo vārdu ievietojat kādā šūnā, piemēram, A2, argumentā old_text varat norādīt atbilstošo šūnas atsauci:
=REPLACE(A2, 2, 1, "o")
Piezīme. Ja arguments start_num vai num_chars ir negatīvs vai nav skaitlis, Excel aizstāšanas formula atgriež kļūdu #VALUE!.
Excel REPLACE funkcijas izmantošana ar skaitliskām vērtībām
Programmas Excel funkcija REPLACE ir paredzēta darbam ar teksta virknēm. Protams, to var izmantot, lai aizstātu, piemēram, teksta virknē esošas skaitļu zīmes:
=REPLACE(A2, 7, 4, "2016")
Ievērojiet, ka "2016" ir ievietots dubultās pēdiņās, kā tas parasti tiek darīts ar teksta vērtībām.
Līdzīgā veidā varat aizstāt vienu vai vairākus ciparus skaitļa iekšienē. Piemēram:
=REPLACE(A4, 4, 4, 4, "6")
Arī šajā gadījumā aizvietošanas vērtība ir jāietver dubultās pēdiņās ("6").
Piezīme. Excel REPLACE formula vienmēr atgriež teksta virkne , nevis skaitlis. Iepriekš redzamajā ekrānšāviņas attēlā pamaniet atgrieztās teksta vērtības B2 izlīdzinājumu pa kreisi un salīdziniet to ar sākotnējo skaitli A2, kas izlīdzināts pa labi. Tā kā tā ir teksta vērtība, to nevarēsiet izmantot citos aprēķinos, ja vien nepārvērsīsiet to atpakaļ skaitlī, piemēram, reizinot ar 1 vai izmantojot jebkuru citu metodi, kas aprakstīta sadaļā Kā tekstu pārvērst skaitlī.
Izmantojot Excel REPLACE funkciju ar datumiem
Kā tikko redzējāt, REPLACE funkcija darbojas labi ar skaitļiem, izņemot to, ka tā atgriež teksta virkni :) Atceroties, ka Excel iekšējā sistēmā datumi tiek saglabāti kā skaitļi, jūs varat mēģināt izmantot dažas Replace formulas datumiem. Rezultāti būtu diezgan mulsinoši.
Piemēram, A2 ir norādīts datums, piemēram, 1-Oct-14, un jūs vēlaties mainīt " Oktobris " uz " Novembris ". Tātad jūs rakstāt formulu REPLACE(A2, 4, 3, 3, "Nov"), kas liek Excel aizstāt 3 rakstzīmes šūnās A2, sākot ar 4. rakstzīmi... un ieguva šādu rezultātu:
Tāpēc, ka "01-Oct-14" ir tikai vizuāls attēls sērijas numuram (41913), kas apzīmē datumu. Tātad mūsu aizvietošanas formula maina iepriekš minētā sērijas numura pēdējos 3 ciparus uz "". Novembris " un atgriež teksta virkni "419Nov".
Lai Excel REPLACE funkcija pareizi darbotos ar datumiem, varat vispirms pārvērst datumus teksta virknēs, izmantojot funkciju TEXT vai jebkuru citu paņēmienu, kas aprakstīts sadaļā Kā pārvērst datumu tekstā programmā Excel. Varat arī iestrādāt funkciju TEXT tieši funkcijas REPLACE argumentā old_text:
=REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov")
Lūdzu, atcerieties, ka iepriekš minētās formulas rezultāts ir teksta virkne , tāpēc šis risinājums darbojas tikai tad, ja neplānojat izmantot pārveidotos datumus turpmākajos aprēķinos. Ja jums ir vajadzīgi datumi, nevis teksta virknes, izmantojiet funkciju DATEVALUE, lai Excel REPLACE funkcijas atgrieztās vērtības pārvērstu datumos:
=DATEVALUE(REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov"))
Ievietotās REPLACE funkcijas, lai veiktu vairākus aizvietojumus šūnā
Bieži vien vienā šūnā var būt nepieciešams veikt vairāk nekā vienu aizvietošanu. Protams, jūs varētu veikt vienu aizvietošanu, izvadīt starprezultātu papildu kolonnā un pēc tam atkal izmantot REPLACE funkciju. Tomēr labāks un profesionālāks veids ir izmantot funkciju. ieliktās REPLACE funkcijas kas ļauj veikt vairākas aizstāšanas ar vienu formulu. Šajā kontekstā "ligzdošana" nozīmē vienas funkcijas ievietošanu citā.
Pieņemsim, ka A slejā ir telefona numuru saraksts, kas formatēts kā "123456789", un jūs vēlaties, pievienojot defisi, padarīt tos līdzīgākus tālruņa numuriem. Citiem vārdiem sakot, jūsu mērķis ir pārvērst "123456789" par "123-456-789".
Pirmā defise ievietošana ir vienkārša. Jūs rakstāt parasto Excel aizstāšanas formulu, kas aizstāj nulle rakstzīmju ar defisi, t. i., pievieno defisi šūnas 4. pozīcijā:
=REPLACE(A2,4,0,"-")
Iepriekš minētās aizvietošanas formulas rezultāts ir šāds:
Labi, un tagad mums 8. pozīcijā ir jāieliek vēl viens defise. Lai to izdarītu, iepriekš minēto formulu ievietojiet citā Excel REPLACE funkcijā. Precīzāk, jūs to iestrādājat programmā old_text otras funkcijas argumentu, lai otrā REPLACE funkcija apstrādātu pirmās REPLACE funkcijas atdoto vērtību, nevis A2 šūnas vērtību:
=REPLACE(REPLACE(A2,4,0,"-"),8,0,"-")
Rezultātā tālruņu numuri tiek atlasīti vēlamajā formātā:
Līdzīgā veidā varat izmantot ieliktās REPLACE funkcijas, lai teksta virknes izskatītos kā datumi, attiecīgā gadījumā pievienojot priekšējo slīpsvītru (/):
=(AIZSTĀT(AIZSTĀT(A2,3,0,"/"),6,0,"/"))
Turklāt teksta virknes var pārvērst reālos datumos, iepriekš minēto REPLACE formulu papildinot ar DATEVALUE funkciju:
=DATU VĒRTĪBA(AIZSTĀT(AIZSTĀT(A2,3,0,"/"),6,0,"/"))
Protams, nav ierobežots funkciju skaits, ko var ievietot vienā formulā (mūsdienu Excel 2010, 2013 un 2016 versijās formulā ir atļauts ievietot līdz 8192 rakstzīmēm un līdz 64 ievietotām funkcijām).
Piemēram, varat izmantot 3 ievietotas REPLACE funkcijas, lai A2 numurs parādītos kā datums un laiks:
= AIZSTĀT(AIZSTĀT(AIZSTĀT(AIZSTĀT(A2,3,0,"/") ,6,0,"/"), 9,0, " "), 12,0, ":")
Virknes, kas katrā šūnā parādās citā vietā, aizstāšana
Līdz šim visos piemēros mēs strādājām ar līdzīgām vērtībām un veicām aizstāšanu katrā šūnā vienā un tajā pašā vietā. Taču reālās dzīves uzdevumi bieži vien ir sarežģītāki. Jūsu darblapās aizvietojamās rakstzīmes ne vienmēr atrodas vienā un tajā pašā vietā katrā šūnā, un tāpēc jums būs nepieciešams atrast pirmās rakstzīmes pozīciju kas būtu jāaizstāj. Nākamajā piemērā ir parādīts, par ko es runāju.
Pieņemsim, ka A slejā ir e-pasta adrešu saraksts. Un viena uzņēmuma nosaukums ir mainījies no "ABC" uz, teiksim, "BCA". Tātad jums attiecīgi jāatjaunina visu klientu e-pasta adreses.
Taču problēma ir tā, ka klientu nosaukumi ir dažāda garuma, tāpēc jūs nevarat precīzi norādīt, kurā vietā sākas uzņēmuma nosaukums. Citiem vārdiem sakot, jūs nezināt, kādu vērtību norādīt Excel REPLACE funkcijas argumentā start_num. Lai to noskaidrotu, izmantojiet Excel funkciju FIND, lai noteiktu pirmā burta pozīciju virknē "@abc":
=FIND("@abc",A2)
Un pēc tam ievadiet iepriekš minēto funkciju FIND formulas REPLACE argumentā start_num:
=REPLACE(A2, FIND("@abc",A2), 4, "@bca")
Padoms. Mēs iekļaujam burtu "@" Excel meklēšanas un aizstāšanas formulā, lai izvairītos no nejaušas aizvietošanas e-pasta adrešu nosaukuma daļā. Protams, ir ļoti maza iespēja, ka šādi sakritības gadījumi notiks, tomēr varat būt drošībā.
Kā redzams nākamajā ekrānšāviņas attēlā, formulai nav problēmu atrast un aizstāt veco tekstu ar jauno. Tomēr, ja aizvietojamā teksta virkne netiek atrasta, formula atgriež #VALUE! kļūdu:
Un mēs vēlamies, lai formula atgrieztu sākotnējo e-pasta adresi, nevis kļūdu. Tātad, iekļausim mūsu FIND & amp; REPLACE formulu funkcijā IFERROR:
=IFERROR(REPLACE(A2, FIND("@abc",A2), 4, "@bca"),A2),A2)
Un šī uzlabotā formula darbojas perfekti, vai ne?
Vēl viens praktisks REPLACE funkcijas pielietojums ir pirmā burta rakstīšana ar lielo burtu šūnā. Kad strādājat ar nosaukumu, produktu u. tml. sarakstu, varat izmantot iepriekš minēto formulu, lai pirmo burtu nomainītu uz UPPERCASE.
Padoms. Ja vēlaties veikt aizstāšanu sākotnējos datos, vieglāk to izdarīt, izmantojot Excel dialoglodziņu FIND un REPLACE.
Excel SUBSTITUTE funkcija
Funkcija SUBSTITUTE programmā Excel aizvieto vienu vai vairākus dotā simbola vai teksta virknes eksemplārus ar norādītu(-iem) simbolu(-iem).
Excel funkcijas SUBSTITUTE sintakse ir šāda:
SUBSTITUTE(text, old_text, new_text, [instance_num])Pirmie trīs argumenti ir obligāti, bet pēdējais arguments nav obligāts.
- Teksts - Sākotnējais teksts, kurā vēlaties aizstāt rakstzīmes. Var norādīt kā testa virkni, šūnu atsauci vai citas formulas rezultātu.
- Old_text - rakstzīmi(-es), ko vēlaties aizstāt.
- New_text - jauno(-ās) rakstzīmi(-es), ar kuru(-ām) aizstāt old_text.
- Instance_num - old_text, kuru vēlaties aizstāt. Ja tas netiek norādīts, katrs vecā teksta gadījums tiks mainīts uz jauno tekstu.
Piemēram, visas turpmāk norādītās formulas aizvieto "1" ar "2" šūnā A2, taču atkarībā no tā, kādu skaitli norādāt kā pēdējo argumentu, tiek iegūti atšķirīgi rezultāti:
=SUBSTITUTE(A2, "1", "2", 1)
- Aizstāj pirmo "1" gadījumu ar "2".
=SUBSTITUTE(A2, "1", "2", 2)
- Aizstāj "1" otro atkārtojumu ar "2".
=SUBSTITUTE(A2, "1", "2")
- Aizstāj visus "1" gadījumus ar "2".
Praksē funkciju SUBSTITUTE izmanto arī nevēlamu rakstzīmju izņemšanai no šūnām. Reālus piemērus skatiet:
- Kā no virknes noņemt rakstzīmes vai vārdus
- Kā dzēst nevēlamas rakstzīmes no šūnām
Piezīme. Funkcija SUBSTITUTE programmā Excel ir šāda. lielo un mazo izmēru Piemēram, ar šādu formulu A2 šūnā visi lielo burtu "X" gadījumi tiek aizstāti ar "Y", bet netiek aizstāti mazo burtu "x" gadījumi.
Vairāku vērtību aizvietošana ar vienu formulu (iegultā SUBSTITUTE)
Tāpat kā Excel REPLACE funkcijas gadījumā, vienā formulā var ievietot vairākas SUBSTITUTE funkcijas, lai veiktu vairākas aizstāšanas vienlaicīgi, t. i., ar vienu formulu aizstāt vairākas rakstzīmes vai apakšvirknes.
Pieņemsim, ka jums ir teksta virkne, piemēram, " PR1, ML1, T1 " šūnā A2, kur "PR" apzīmē "Project", "ML" - "Milestone" un "T" - "Task". Jūs vēlaties aizstāt šos trīs kodus ar pilniem nosaukumiem. Lai to panāktu, varat uzrakstīt 3 dažādas SUBSTITUTE formulas:
=SUBSTITUTE(A2, "PR", "Projekts ")
=SUBSTITUTE(A2, "ML", "Pavērsiena punkts ")
=SUBSTITUTE(A2, "T", "Uzdevums ")
Un pēc tam tās savieno viena ar otru:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "PR", "Projekts "), "ML", "Pavērsiena punkts "), "T", "Uzdevums ")
Ievērojiet, ka katra argumenta new_text beigās esam pievienojuši atstarpi, lai nodrošinātu labāku lasāmību.
Lai uzzinātu citus veidus, kā aizstāt vairākas vērtības vienlaikus, skatiet sadaļu Kā veikt masveida meklēšanu un aizstāšanu programmā Excel.
Excel REPLACE vs Excel SUBSTITUTE
Excel REPLACE un SUBSTITUTE funkcijas ir ļoti līdzīgas viena otrai, jo abas ir paredzētas teksta virkņu aizstāšanai. Abu funkciju atšķirības ir šādas:
- SUBSTITUTE aizstāj vienu vai vairākus gadījumi Ja zināt aizvietojamo tekstu, izmantojiet Excel funkciju SUBSTITUTE. Tātad, ja zināt aizvietojamo tekstu, izmantojiet Excel funkciju SUBSTITUTE.
- REPLACE maina rakstzīmes norādītajā pozīcija Tātad, ja zināt aizstājamās(-o) rakstzīmes(-u) pozīciju, izmantojiet Excel REPLACE funkciju.
- Funkcija SUBSTITUTE programmā Excel ļauj pievienot izvēles parametru (instance_num), kas norāda, kurš notikums old_text jāmaina uz new_text.
Šādi Excel programmā tiek izmantotas funkcijas SUBSTITUTE un REPLACE. Cerams, ka šie piemēri būs noderīgi jūsu uzdevumu risināšanā. Paldies, ka izlasījāt, un ceru, ka nākamnedēļ tiksimies mūsu blogā!
Lejupielādēt prakses darba burtnīcu
REPLACE un SUBSTITUTE formulu piemēri (.xlsx fails)