It brûken fan Excel REPLACE en SUBSTITUTE funksjes - formulefoarbylden

  • Diel Dit
Michael Brown

De tutorial ferklearret de funksjes fan Excel REPLACE en SUBSTITUTE mei foarbylden fan gebrûk. Sjoch hoe't jo de REPLACE-funksje brûke kinne mei tekststrings, sifers en datums, en hoe't jo ferskate REPLACE- of SUBSTITUTE-funksjes yn ien formule nestelje kinne.

Ferline wike hawwe wy ferskate manieren besprutsen foar it brûken fan FYN- en SEARCH-funksjes binnen jo Excel-wurkblêden. Hjoed sille wy in djipper besjen op twa oare funksjes om tekst yn in sel te ferfangen op basis fan syn lokaasje of ien tekststring te ferfangen troch in oare basearre op ynhâld. Lykas jo miskien hawwe rieden, haw ik it oer de funksjes Excel REPLACE en SUBSTITUTE.

    Excel REPLACE-funksje

    De REPLACE-funksje yn Excel lit jo ien of meardere wikselje tekens yn in tekststring mei in oar karakter of in set karakters.

    REPLACE(old_text, start_num, num_chars, new_text)

    Sa't jo sjogge, hat de Excel REPLACE-funksje 4 arguminten, dy't allegear ferplicht binne.

    • Alde_tekst - de orizjinele tekst (of in ferwizing nei in sel mei de orizjinele tekst) wêryn jo guon tekens ferfange wolle.
    • Start_num - de posysje fan it earste karakter binnen old_text dat jo ferfange wolle.
    • Num_chars - it oantal karakters dat jo ferfange wolle.
    • Nije_tekst - de ferfangende tekst.

    Om bygelyks it wurd " sinne " te feroarjen yn " soan ", kinne jo de folgjende brûkeformule:

    =REPLACE("sun", 2, 1, "o")

    En as jo it orizjinele wurd yn in sel pleatse, sis mar A2, kinne jo de korrespondearjende selreferinsje leverje yn it argumint old_text:

    =REPLACE(A2, 2, 1, "o")

    Opmerking. As it argumint start_num of num_chars negatyf of net-numerike is, jout in Excel Replace-formule de #VALUE! flater.

    It brûken fan Excel REPLACE-funksje mei numerike wearden

    De REPLACE-funksje yn Excel is ûntworpen om te wurkjen mei tekststrings. Fansels kinne jo it brûke om numerike karakters te ferfangen dy't diel útmeitsje fan in tekststring, bygelyks:

    =REPLACE(A2, 7, 4, "2016")

    Opmerking dat wy "2016" omfetsje " yn dûbele oanhalingstekens lykas jo gewoanlik dogge mei tekstwearden.

    Op in fergelykbere wize kinne jo ien of mear sifers binnen in nûmer ferfange. Bygelyks:

    =REPLACE(A4, 4, 4,"6")

    En nochris moatte jo de ferfangende wearde yn dûbele oanhalingstekens ("6") ynslute.

    Noat. In Excel REPLACE-formule jout altyd in tekststring werom, net in nûmer. Merk yn 'e skermôfbylding hjirboppe de lofterôfstimming fan' e weromjûne tekstwearde yn B2, en fergelykje it mei it rjochts rjochte orizjinele nûmer yn A2. En om't it in tekstwearde is, kinne jo dizze net brûke yn oare berekkeningen, útsein as jo it weromsette nei nûmer, bygelyks troch fermannichfâldigjen mei 1 of troch in oare metoade te brûken dy't beskreaun is yn Hoe tekst te konvertearjen nei nûmer.

    It brûken fan Excel REPLACE-funksje mei datums

    As jo ​​krekt hawwe sjoen, wurket de REPLACE-funksje goed meinûmers, útsein dat it in tekststring werombringt :) Unthâld dat yn it ynterne Excel-systeem datums wurde opslein as sifers, kinne jo besykje wat formules te brûken op datums. Resultaten soene nochal beskamsum wêze.

    Jo hawwe bygelyks in datum yn A2, sis 1-okt-14, en jo wolle " okt " feroarje yn " nov. ". Dat, jo skriuwe de formule REPLACE(A2, 4, 3, "Nov") dy't Excel fertelt om 3 tekens te ferfangen yn sellen A2 begjinnend mei it 4e teken ... en krige it folgjende resultaat:

    Wêrom is dat? Om't "01-okt-14" allinich in fisuele foarstelling is fan it ûnderlizzende serialnûmer (41913) dat de datum foarstelt. Dat, ús formule Ferfange feroaret de lêste 3 sifers yn it boppesteande serialnûmer nei " Nov " en jout de tekststring "419Nov" werom.

    Om de Excel REPLACE-funksje te krijen om goed te wurkjen mei datums, kinne jo earst datums konvertearje nei tekststrings troch de TEXT-funksje te brûken as in oare technyk demonstrearre yn Hoe datum omsette nei tekst yn Excel. As alternatyf kinne jo de funksje TEXT direkt ynbêde yn it argumint old_text fan de funksje REPLACE:

    =REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov")

    Tink derom dat it resultaat fan boppesteande formule is in tekststring , en dêrom wurket dizze oplossing allinnich as jo net fan plan binne de wizige datums te brûken yn fierdere berekkeningen. As jo ​​​​daten nedich binne ynstee fan tekststrings, brûk dan de DATEVALUE-funksje om de wearden werom te kearen trochde Excel REPLACE-funksje werom nei datums:

    =DATEVALUE(REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov"))

    Nêste REPLACE-funksjes om meardere ferfangings yn in sel te dwaan

    Hiel faak moatte jo mear dan ien ferfanging dwaan yn deselde sel. Fansels kinne jo ien ferfanging dwaan, in tuskenresultaat útfiere yn in ekstra kolom, en dan de REPLACE-funksje opnij brûke. In bettere en profesjonelere manier is lykwols om nêste REPLACE-funksjes te brûken wêrmei jo ferskate ferfangings kinne útfiere mei ien formule. Yn dit ferbân betsjut "nêsten" it pleatsen fan ien funksje binnen in oare.

    Besjoch it folgjende foarbyld. Stel dat jo in list mei telefoannûmers hawwe yn kolom A opmakke as "123456789" en jo wolle dat se mear op telefoannûmers lykje troch koppeltekens ta te foegjen. Mei oare wurden, jo doel is om "123456789" te feroarjen yn "123-456-789".

    It ynfoegjen fan it earste koppelteken is maklik. Jo skriuwe in gewoane Excel Replace-formule dy't nul tekens ferfangt mei in keppelteken, dat wol sizze in keppelteken taheakket op de 4e posysje yn in sel:

    =REPLACE(A2,4,0,"-")

    It resultaat fan de hjirboppe Formule ferfange is as folget:

    Okee, en no moatte wy noch ien keppelteken ynfoegje op de 8ste posysje. Om dit te dwaan, pleatse jo de boppesteande formule yn in oare Excel REPLACE-funksje. Mear krekter, jo ynbêde it yn it old_text argumint fan 'e oare funksje, sadat de twadde REPLACE-funksje de wearde behannelet dy't weromjûn wurdt troch deearst REPLACE, en net de wearde yn sel A2:

    =REPLACE(REPLACE(A2,4,0,"-"),8,0,"-")

    As resultaat krije jo de telefoannûmers yn de winske opmaak:

    Op in fergelykbere wize kinne jo ynstelde REPLACE-funksjes brûke om tekststrings op datums te meitsjen troch in foarútstribjende slash (/) ta te foegjen wêr passend:

    =(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))

    Boppedat kinne jo tekststrings omsette yn echte datums troch de boppesteande REPLACE-formule yn te pakken mei de DATEVALUE-funksje:

    =DATEVALUE(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))

    En fansels binne jo net beheind yn it oantal funksjes jo kinne nêst binnen ien formule (de moderne ferzjes fan Excel 2010, 2013 en 2016 tastean maksimaal 8192 tekens en maksimaal 64 nêste funksjes yn in formule).

    Jo kinne bygelyks 3 nêste REPLACE-funksjes brûke om in nûmer yn A2 ferskine as datum en tiid:

    =REPLACE(REPLACE(REPLACE(REPLACE(A2,3,0,"/") ,6,0,"/"), 9,0, " "), 12,0, ":")

    In tekenrige ferfange dy't op in oare posysje yn elke sel ferskynt

    Oant no ta hawwe wy yn alle foarbylden te krijen mei wearden fan in ferlykbere aard en hawwe ferfangings yn deselde positi makke op yn elke sel. Mar taken yn it echte libben binne faak yngewikkelder dan dat. Yn jo wurkblêden kinne de te ferfangen karakters miskien net op itselde plak yn elke sel ferskine, en dêrom moatte jo de posysje fine fan it earste karakter dat ferfongen wurde moat. It folgjende foarbyld sil demonstrearje wêr't ik it oer ha.

    Stel dat jo in list mei e-post hawweadressering yn kolom A. En de namme fan ien bedriuw is feroare fan "ABC" nei bygelyks "BCA". Sa moatte jo alle e-mailadressen fan 'e kliïnten dienlik bywurkje.

    Mar it probleem is dat de kliïntnammen fan ferskillende lingte binne, en dêrom kinne jo net krekt oanjaan wêr't de bedriuwsnamme begjint. Mei oare wurden, jo witte net hokker wearde te leverjen yn it argumint start_num fan 'e Excel REPLACE-funksje. Om it út te finen, brûk de Excel FIND-funksje om de posysje fan it earste teken te bepalen yn 'e tekenrige "@abc":

    =FIND("@abc",A2)

    En leverje dan de boppesteande FIND-funksje yn it start_num argumint fan jo REPLACE formule:

    =REPLACE(A2, FIND("@abc",A2), 4, "@bca")

    Tip. Wy befetsje "@" yn ús Excel Fyn en ferfange formule om tafallige ferfangingen te foarkommen yn it nammediel fan e-mailadressen. Fansels is d'r in tige lytse kâns dat sokke wedstriden foarkomme, en dochs wolle jo op 'e feilige kant wêze.

    Sa't jo sjogge yn 'e folgjende skermôfbylding, hat de formule gjin probleem mei it finen en ferfangen fan de âlde tekst mei de nije. As de te ferfangen tekstteken lykwols net fûn wurdt, jout de formule de #VALUE! flater:

    En wy wolle dat de formule it orizjinele e-mailadres werombringt ynstee fan de flater. Sa, lit ús enclose ús FIND & amp; Formule REPLACE yn 'e IFERROR-funksje:

    =IFERROR(REPLACE(A2, FIND("@abc",A2), 4, "@bca"),A2)

    En dizze ferbettere formule wurket perfekt, is it net?

    In oare praktysketapassing fan de funksje REPLACE is om de earste letter yn in sel mei haadletters te meitsjen. Elke kear as jo te krijen hawwe mei in list mei nammen, produkten, en sa, kinne jo de hjirboppe keppele formule brûke om de earste letter te feroarjen yn HOOFLETTERS.

    Tip. As jo ​​de ferfangings yn 'e orizjinele gegevens meitsje wolle, soe in maklikere manier wêze om it dialoochfinster fan Excel FIND en REPLACE te brûken.

    Excel SUBSTITUTE-funksje

    De SUBSTITUTE-funksje yn Excel ferfangt ien of mear eksimplaren fan in opjûne karakter of tekststring mei in spesifisearre karakter(s).

    De syntaksis fan de Excel SUBSTITUTE-funksje is as folget:

    SUBSTITUTE(text, old_text, new_text, [instance_num])

    De earste trije arguminten binne ferplicht en de lêste is opsjoneel.

    • Tekst - de oarspronklike tekst wêryn jo karakters ferfange wolle. Kin oanlevere wurde as in teststring, selferwizing, of as resultaat fan in oare formule.
    • Alde_tekst - de karakter(s) dy't jo ferfange wolle.
    • Nije_tekst - de nije karakter(en) om âlde_tekst te ferfangen.
    • Instance_num - it foarkommen fan âlde_tekst dy't jo ferfange wolle. As it weilitten wurdt, wurdt elk foarkommen fan de âlde tekst feroare yn de nije tekst.

    Bygelyks, alle ûndersteande formules ferfange "1" mei "2" yn sel A2, mar jouwe oare resultaten werom. ôfhinklik fan hokker nûmer jo leverje yn it lêste argumint:

    =SUBSTITUTE(A2, "1", "2", 1) - Ferfangt it earste foarkommen fan "1" mei"2".

    =SUBSTITUTE(A2, "1", "2", 2) - Ferfangt it twadde foarkommen fan "1" troch "2".

    =SUBSTITUTE(A2, "1", "2") - Ferfangt alle foarkommen fan "1" troch "2".

    Yn 'e praktyk wurdt de SUBSTITUTE-funksje ek brûkt foar it fuortheljen fan net-winske tekens út sellen. Sjoch foar foarbylden út it echte libben:

    • Hoe kinne jo tekens of wurden fan tekenrige fuortsmite
    • Hoe kinne jo net-winske tekens út sellen wiskje

    Opmerking. De funksje SUBSTITUTE yn Excel is hoofdlettergefoel . De folgjende formule ferfangt bygelyks alle eksimplaren fan 'e haadletter "X" mei "Y" yn sel A2, mar it sil gjin eksimplaren fan 'e lytse letter "x" ferfange.

    Ferfange meardere wearden mei ien formule (nêste SUBSTITUTE)

    Lykas it gefal is mei de Excel REPLACE-funksje, kinne jo ferskate SUBSTITUTE-funksjes nestele binnen ien formule om ferskate substitúsjes tagelyk te dwaan, d.w.s. ferskate tekens of substrings mei ien formule.

    Stel dat jo in tekststring hawwe lykas " PR1, ML1, T1 " yn sel A2, wêrby't "PR" stiet foar "Project, "ML " stiet foar "Milestone" en "T" betsjut "Taak". Wat jo wolle is om de trije koades te ferfangen troch folsleine nammen. Om dit te berikken kinne jo 3 ferskillende SUBSTITUTE formules skriuwe:

    =SUBSTITUTE(A2,"PR", "Project ")

    =SUBSTITUTE(A2, "ML", "Milestone ")

    =SUBSTITUTE(A2, "T", "Task ")

    En nêst se dan yn elkoar:

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"PR","Project "),"ML","Milestone "),"T","Task ")

    Let op dat wy in spaasje tafoege hawwe oan 'e ein fan elk new_text argumint foar betterlêsberens.

    Om oare manieren te learen om meardere wearden tagelyk te ferfangen, sjoch asjebleaft Hoe't jo massa sykje en ferfange yn Excel dwaan.

    Excel REPLACE vs. Excel SUBSTITUTE

    De Excel REPLACE- en SUBSTITUTE-funksjes lykje tige op elkoar yn dat beide binne ûntworpen om tekststrings te wikseljen. De ferskillen tusken de twa funksjes binne as folget:

    • SUBSTITUTE ferfangt ien of mear eksimplaren fan in opjûn karakter of in tekststring. Dus, as jo de tekst witte dy't ferfongen wurde, brûk dan de Excel SUBSTITUTE-funksje.
    • REPLACE feroaret tekens yn in spesifisearre posysje fan in tekststring. Dus, as jo de posysje kenne fan it(e) karakter(en) dat ferfongen wurde moat, brûk dan de Excel REPLACE-funksje.
    • De funksje SUBSTITUTE yn Excel makket it mooglik om in opsjonele parameter (instance_num) ta te foegjen dy't spesifisearret hokker foarfal fan âlde_tekst moat wizige wurde yn nije_tekst.

    Dit is hoe't jo de FERGESE- en FERGESE-funksjes brûke yn Excel. Hooplik sille dizze foarbylden nuttich wêze by it oplossen fan jo taken. Ik tankje jo foar it lêzen en hoopje nije wike op ús blog te sjen!

    Download oefenwurkboek

    Ferfange en FERGESE formulefoarbylden (.xlsx-bestân)

    Michael Brown is in tawijd technology-entûsjast mei in passy foar it ferienfâldigjen fan komplekse prosessen mei software-ark. Mei mear as in desennium ûnderfining yn 'e tech-yndustry hat hy syn feardigens yn Microsoft Excel en Outlook, lykas Google Blêden en Docs, oanskerpe. Michael's blog is wijd oan it dielen fan syn kennis en ekspertize mei oaren, en biedt maklik te folgjen tips en tutorials foar it ferbetterjen fan produktiviteit en effisjinsje. Oft jo in betûfte profesjonele of in begjinner binne, Michael's blog biedt weardefolle ynsjoch en praktysk advys om it measte út dizze essensjele software-ark te heljen.