Defnyddio swyddogaethau REPLACE a SUBSTITUTE Excel - enghreifftiau o fformiwla

  • Rhannu Hwn
Michael Brown

Mae'r tiwtorial yn esbonio swyddogaethau Excel REPLACE a SUBSTITUTE gydag enghreifftiau o ddefnydd. Dewch i weld sut i ddefnyddio'r ffwythiant REPLACE gyda llinynnau testun, rhifau a dyddiadau, a sut i nythu sawl swyddogaeth REPLACE neu SUBSTITUTE o fewn un fformiwla.

Yr wythnos diwethaf buom yn trafod gwahanol ffyrdd o ddefnyddio ffwythiannau FIND a CHWILIO o fewn eich taflenni gwaith Excel. Heddiw, byddwn yn edrych yn ddyfnach ar ddwy swyddogaeth arall i ddisodli testun mewn cell yn seiliedig ar ei leoliad neu amnewid un llinyn testun ag un arall yn seiliedig ar gynnwys. Fel y gallech fod wedi dyfalu, rwy'n sôn am swyddogaethau Excel REPLACE a SUBSTITUTE.

    Swyddogaeth REPLACE Excel

    Mae'r swyddogaeth REPLACE yn Excel yn eich galluogi i gyfnewid un neu sawl un. nodau mewn llinyn testun gyda nod arall neu set o nodau.

    REPLACE(old_text, start_num, num_chars, new_text)

    Fel y gwelwch, mae gan ffwythiant Excel REPLACE 4 arg, ac mae angen pob un ohonynt.<3

    • Hen_destun - y testun gwreiddiol (neu gyfeiriad at gell gyda'r testun gwreiddiol) yr ydych am amnewid rhai nodau ynddo.
    • Start_num - lleoliad y nod cyntaf o fewn hen_destun yr ydych am ei ddisodli.
    • Num_chars - nifer y nodau rydych am eu disodli.
    • Test_newydd - y testun newydd.

    Er enghraifft, i newid y gair " haul " i " mab ", gallwch ddefnyddio'r canlynolfformiwla:

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

    Ac os rhowch y gair gwreiddiol mewn rhyw gell, dywedwch A2, gallwch gyflenwi'r cyfeirnod cell cyfatebol yn yr arg hen_text:

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

    Nodyn. Os yw'r arg start_num neu num_chars yn negyddol neu'n anrhifol, mae fformiwla Excel Replace yn dychwelyd y #VALUE! gwall.

    Defnyddio ffwythiant REPLACE Excel gyda gwerthoedd rhifol

    Mae ffwythiant REPLACE yn Excel wedi ei gynllunio i weithio gyda llinynnau testun. Wrth gwrs, gallwch ei ddefnyddio i ddisodli nodau rhifol sy'n rhan o linyn testun, er enghraifft:

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

    Sylw ein bod yn amgáu "2016 " " mewn dyfynodau dwbl fel y gwnewch fel arfer gyda gwerthoedd testun.

    Mewn modd tebyg, gallwch ddisodli un neu fwy o ddigidau o fewn rhif. Er enghraifft:

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

    Ac eto, mae'n rhaid i chi amgáu'r gwerth amnewid mewn dyfynbrisiau dwbl ("6").

    Nodyn. Mae fformiwla Excel REPLACE bob amser yn dychwelyd llinyn testun , nid rhif. Yn y sgrinlun uchod, sylwch ar aliniad chwith gwerth y testun a ddychwelwyd yn B2, a'i gymharu â'r rhif gwreiddiol wedi'i alinio i'r dde yn A2. Ac oherwydd ei fod yn werth testun, ni fyddwch yn gallu ei ddefnyddio mewn cyfrifiadau eraill oni bai eich bod yn ei drosi yn ôl i rif, er enghraifft trwy luosi ag 1 neu drwy ddefnyddio unrhyw ddull arall a ddisgrifir yn Sut i drosi testun yn rif.

    Defnyddio ffwythiant REPLACE Excel gyda dyddiadau

    Fel yr ydych newydd weld, mae'r swyddogaeth REPLACE yn gweithio'n iawn gydarhifau, ac eithrio ei fod yn dychwelyd llinyn testun :) Gan gofio bod dyddiadau yn y system Excel fewnol yn cael eu storio fel rhifau, efallai y byddwch yn ceisio defnyddio rhai fformiwlâu Amnewid ar ddyddiadau. Byddai canlyniadau yn eithaf chwithig.

    Er enghraifft, mae gennych ddyddiad yn A2, dyweder 1-Hydref-14, ac rydych am newid " Hydref " i " Tach ". Felly, rydych chi'n ysgrifennu'r fformiwla REPLACE(A2, 4, 3, "Tach") sy'n dweud wrth Excel am ddisodli 3 char yng nghelloedd A2 gan ddechrau gyda'r 4ydd torgoch… a chael y canlyniad canlynol:

    Pam hynny? Oherwydd mai dim ond cynrychiolaeth weledol o'r rhif cyfresol gwaelodol (41913) sy'n cynrychioli'r dyddiad yw "01-Oct-14". Felly, mae ein fformiwla Amnewid yn newid y 3 digid olaf yn y rhif cyfresol uchod i " Tach " ac yn dychwelyd y llinyn testun "419Tach".

    I gael swyddogaeth Excel REPLACE i weithio'n gywir ag ef dyddiadau, gallwch drosi dyddiadau i linynnau testun yn gyntaf trwy ddefnyddio'r swyddogaeth TEXT neu unrhyw dechneg arall a ddangosir yn Sut i drosi dyddiad i destun yn Excel. Fel arall, gallwch fewnosod y ffwythiant TEXT yn uniongyrchol yn arg hen_text y ffwythiant REPLACE:

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

    Cofiwch mai canlyniad y fformiwla uchod yw llinyn testun , ac felly mae'r datrysiad hwn yn gweithio dim ond os nad ydych yn bwriadu defnyddio'r dyddiadau addasedig mewn cyfrifiadau pellach. Os oes angen dyddiadau arnoch yn hytrach na llinynnau testun, defnyddiwch y swyddogaeth DATEVALUE i droi'r gwerthoedd a ddychwelwyd erbyny swyddogaeth Excel REPLACE yn ôl i ddyddiadau:

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

    Swyddogaethau REPLACE nythu i wneud amnewidiadau lluosog mewn cell

    Yn aml iawn, efallai y bydd angen i chi wneud mwy nag un amnewid yn yr un gell. Wrth gwrs, fe allech chi wneud un amnewidiad, allbynnu canlyniad canolradd i golofn ychwanegol, ac yna defnyddio'r swyddogaeth REPLACE eto. Fodd bynnag, ffordd well a mwy proffesiynol yw defnyddio swyddogaethau REPLACE nythu sy'n caniatáu ichi berfformio sawl un yn ei le ag un fformiwla. Yn y cyd-destun hwn, mae "nythu" yn golygu gosod un swyddogaeth o fewn un arall.

    Ystyriwch yr enghraifft ganlynol. Gan dybio bod gennych restr o rifau ffôn yng ngholofn A wedi'i fformatio fel "123456789" a'ch bod am wneud iddynt edrych yn debycach i rifau ffôn trwy ychwanegu cysylltnodau. Mewn geiriau eraill, eich nod yw troi "123456789" yn "123-456-789".

    Mae mewnosod y cysylltnod cyntaf yn hawdd. Rydych chi'n ysgrifennu fformiwla Excel Replace arferol sy'n disodli nodau sero gyda chysylltnod, h.y. yn ychwanegu cysylltnod yn y 4ydd safle mewn cell:

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

    Canlyniad y uchod Mae disodli'r fformiwla fel a ganlyn:

    Iawn, a nawr mae angen i ni fewnosod un cysylltnod arall yn yr 8fed safle. I wneud hyn, rydych chi'n gosod y fformiwla uchod o fewn swyddogaeth Excel REPLACE arall. Yn fwy manwl gywir, rydych yn ei fewnosod yn arg old_text y ffwythiant arall, fel y bydd yr ail ffwythiant REPLACE yn trin y gwerth a ddychwelir gan yyn gyntaf REPLACE, ac nid y gwerth yng nghell A2:

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

    O ganlyniad, byddwch yn cael y rhifau ffôn yn y fformat a ddymunir:

    Yn yr un modd, gallwch ddefnyddio ffwythiannau REPLACE nythu i wneud i linynnau testun edrych fel dyddiadau drwy ychwanegu blaenslaes (/) lle bo'n briodol:

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

    <3

    Ar ben hynny, gallwch drosi llinynnau testun yn ddyddiadau real drwy lapio'r fformiwla REPLACE uchod gyda'r ffwythiant DATEVALUE:

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

    Ac yn naturiol, nid ydych yn gyfyngedig o ran nifer y ffwythiannau gallwch nythu o fewn un fformiwla (mae fersiynau modern Excel 2010, 2013 a 2016 yn caniatáu hyd at 8192 nod a hyd at 64 ffwythiant nythu mewn fformiwla).

    Er enghraifft, gallwch ddefnyddio 3 ffwythiant REPLACE nythu i cael rhif yn A2 yn ymddangos fel dyddiad ac amser:

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

    Amnewid llinyn sy'n ymddangos mewn safle gwahanol ym mhob cell

    Hyd yn hyn, ym mhob un o’r enghreifftiau rydym wedi bod yn ymdrin â gwerthoedd o natur debyg ac wedi gwneud cyfnewidiadau yn yr un sefyllfa ymlaen ym mhob cell. Ond mae tasgau bywyd go iawn yn aml yn fwy cymhleth na hynny. Yn eich taflenni gwaith, efallai na fydd y nodau i'w disodli o reidrwydd yn ymddangos yn yr un lle ym mhob cell, ac felly bydd yn rhaid i chi ddod o hyd i leoliad y nod cyntaf y dylid ei ddisodli. Bydd yr enghraifft ganlynol yn dangos yr hyn rwy'n siarad amdano.

    Gan dybio bod gennych restr o e-bystcyfeirio yng ngholofn A. Ac mae enw un cwmni wedi newid o "ABC" i, dyweder, "BCA". Felly, mae'n rhaid i chi ddiweddaru holl gyfeiriadau e-bost y cleientiaid yn unol â hynny.

    Ond y broblem yw bod enwau'r cleientiaid o wahanol hyd, a dyna pam na allwch nodi'n union ble mae enw'r cwmni yn dechrau. Mewn geiriau eraill, nid ydych chi'n gwybod pa werth i'w gyflenwi yn nadl start_num swyddogaeth Excel REPLACE. I ddarganfod hyn, defnyddiwch y ffwythiant FIND Excel i bennu lleoliad y torgoch cyntaf yn y llinyn "@abc":

    =FIND("@abc",A2)

    Ac yna, darparwch y ffwythiant FIND uchod yn y start_num dadl eich fformiwla REPLACE:

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

    Awgrym. Rydym yn cynnwys "@" yn ein fformiwla Darganfod ac Amnewid Excel i osgoi amnewidiadau damweiniol yn rhan enw cyfeiriadau e-bost. Wrth gwrs, prin iawn yw'r siawns y bydd cyfatebiaethau o'r fath yn digwydd, ac efallai y byddwch am fod ar yr ochr ddiogel o hyd. hen destun gyda'r un newydd. Fodd bynnag, os na chanfyddir y llinyn testun i'w ddisodli, mae'r fformiwla yn dychwelyd y #VALUE! gwall:

    Ac rydym am i'r fformiwla ddychwelyd y cyfeiriad e-bost gwreiddiol yn lle'r gwall. Felly, gadewch i ni amgáu ein FIND & AMnewid y fformiwla yn y ffwythiant IFERROR:

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

    Ac mae'r fformiwla well yma'n gweithio'n berffaith, on'd ydy?

    > Ymarferol arallcymhwyso'r ffwythiant REPLACE yw priflythrennu'r llythyren gyntaf mewn cell. Pryd bynnag y byddwch yn delio â rhestr o enwau, cynhyrchion, ac yn y blaen, gallwch ddefnyddio'r fformiwla uchod i newid y llythyren gyntaf i UPPERCASE.

    Awgrym. Os ydych am wneud y cyfnewidiadau yn y data gwreiddiol, ffordd haws fyddai defnyddio'r ymgom Excel FIND and REPLACE.

    Swyddogaeth Excel SUBSTITUTE

    Mae'r ffwythiant SUBSTITUTE yn Excel yn disodli un neu fwy o achosion nod penodol neu linyn testun gyda nod(au) penodedig.

    Mae cystrawen y ffwythiant Excel SUBSTITUTE fel a ganlyn:

    SUBSTITUTE(testun, hen_destun, testun_newydd, [instance_num])

    Mae angen y tair arg gyntaf ac mae'r un olaf yn ddewisol.

    • Testun - y testun gwreiddiol yr ydych am amnewid nodau ynddo. Gellir ei gyflenwi fel llinyn prawf, cyfeirnod cell, neu ganlyniad fformiwla arall.
    • Old_text - y nod(au) rydych am eu disodli.
    • >New_text - y nod(au) newydd i ddisodli old_text gyda.
    • Instance_num - y digwyddiad o hen_destun yr ydych am ei ddisodli. Os caiff ei hepgor, bydd pob digwyddiad o'r hen destun yn cael ei newid i'r testun newydd.

    Er enghraifft, mae pob un o'r fformiwlâu isod yn rhoi "1" yn lle "2" yng nghell A2, ond yn dychwelyd canlyniadau gwahanol yn dibynnu ar ba rif rydych chi'n ei roi yn y ddadl olaf:

    =SUBSTITUTE(A2, "1", "2", 1) - Yn amnewid y digwyddiad cyntaf o "1" gyda"2".

    =SUBSTITUTE(A2, "1", "2", 2) - Yn amnewid yr ail ddigwyddiad o "1" gyda "2".

    =SUBSTITUTE(A2, "1", "2") - Yn amnewid pob digwyddiad o "1" gyda "2".

    <0

    Yn ymarferol, defnyddir y ffwythiant SUBSTITUTE hefyd i dynnu nodau diangen o gelloedd. Am enghreifftiau o fywyd go iawn, gweler:

    • Sut i dynnu nodau neu eiriau o'r llinyn
    • Sut i ddileu nodau diangen o gelloedd

    Nodyn. Mae swyddogaeth SUBSTITUTE yn Excel yn sensitif i achosion . Er enghraifft, mae'r fformiwla ganlynol yn disodli pob achos o'r priflythrennau "X" gyda "Y" yng nghell A2, ond ni fydd yn disodli unrhyw enghreifftiau o'r llythrennau bach "x".

    Amnewid gwerthoedd lluosog ag un fformiwla (SUBSTITUTE nythu)

    Fel sy'n wir am swyddogaeth Excel REPLACE, gallwch nythu sawl swyddogaeth SUBSTITUTE o fewn un fformiwla i wneud sawl amnewidiad ar y tro, h.y. amnewidiadau ar y tro, h.y. amnewidiadau sawl nod neu is-linyn ag un fformiwla.

    Gan dybio bod gennych chi linyn testun fel " PR1, ML1, T1 " yng nghell A2, lle mae "PR" yn sefyll am "Project, "ML " yn sefyll am " Carreg Filltir " a " T " yn golygu "Tasg". Yr hyn yr ydych ei eisiau yw disodli'r tri chod ag enwau llawn. I gyflawni hyn, gallwch ysgrifennu 3 fformiwlâu SUBSTITUTE gwahanol:

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

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

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

    Ac yna eu nythu i mewn i'w gilydd:

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

    Sylw ein bod wedi ychwanegu bwlch ar ddiwedd pob dadl testun_newydd er gwelldarllenadwyedd.

    I ddysgu ffyrdd eraill o ddisodli gwerthoedd lluosog ar y tro, gweler Sut i ddarganfod màs a disodli yn Excel.

    Excel REPLACE vs . Excel SUBSTITUTE

    Mae swyddogaethau Excel REPLACE a SUBSTITUTE yn debyg iawn i'w gilydd gan fod y ddau wedi'u cynllunio i gyfnewid llinynnau testun. Mae'r gwahaniaethau rhwng y ddwy ffwythiant fel a ganlyn:

    • SUBSTITUTE yn disodli un neu fwy o enghraifftiau nod penodol neu linyn testun. Felly, os ydych chi'n gwybod y testun i'w ddisodli, defnyddiwch y ffwythiant Excel SUBSTITUTE.
    • Mae REPLACE yn newid nodau mewn lleoliad penodedig llinyn testun. Felly, os ydych yn gwybod lleoliad y nod(au) i'w disodli, defnyddiwch y ffwythiant Excel REPLACE.
    • Mae'r ffwythiant SUBSTITUTE yn Excel yn caniatáu ychwanegu paramedr dewisol (instance_num) sy'n pennu pa ddigwyddiad o hen_destun i destun_newydd.

    Dyma sut rydych chi'n defnyddio'r swyddogaethau SUBSTITUTE a REPLACE yn Excel. Gobeithio y bydd yr enghreifftiau hyn yn ddefnyddiol wrth ddatrys eich tasgau. Diolch i chi am ddarllen a gobeithio gweld ar ein blog yr wythnos nesaf!

    Lawrlwythwch llyfr gwaith ymarfer

    Enghreifftiau fformiwla REPLACE a SUBSTITUTE (ffeil .xlsx)

    Mae Michael Brown yn frwd dros dechnoleg ymroddedig ac yn frwd dros symleiddio prosesau cymhleth gan ddefnyddio offer meddalwedd. Gyda mwy na degawd o brofiad yn y diwydiant technoleg, mae wedi hogi ei sgiliau yn Microsoft Excel ac Outlook, yn ogystal â Google Sheets a Docs. Mae blog Michael yn ymroddedig i rannu ei wybodaeth a'i arbenigedd ag eraill, gan ddarparu awgrymiadau a thiwtorialau hawdd eu dilyn ar gyfer gwella cynhyrchiant ac effeithlonrwydd. P'un a ydych chi'n weithiwr proffesiynol profiadol neu'n ddechreuwr, mae blog Michael yn cynnig mewnwelediadau gwerthfawr a chyngor ymarferol ar gyfer cael y gorau o'r offer meddalwedd hanfodol hyn.