vsebina
Včeraj na maratonu 30 Excelovih funkcij v 30 dneh uporabili smo funkcijo OFFSET (OFFSET), da vrne sklic, in videl, da je zelo podoben funkciji INDEX (KAZALO). Poleg tega smo izvedeli, da funkcija OFFSET (OFFSET) se znova izračuna vsakič, ko se spremenijo podatki na delovnem listu, in INDEX (INDEX) samo pri spreminjanju svojih argumentov.
27. dan maratona bomo študirali funkcijo NAMESTITEV (NADOMESTITEV). Tako kot funkcija REPLACE (REPLACE), zamenja staro besedilo z novim, lahko pa tudi večkrat zamenja isto besedilo v nizu.
Kot kaže praksa, je v nekaterih situacijah hitreje in lažje uporabljati ukaze Najdi/Zamenjaj (Poišči/Zamenjaj), ko je treba narediti nadomestno občutljivo na velike in male črke.
Torej, poglejmo podrobneje informacije in primere na NAMESTITEV (NADOMESTITEV). Če imate druge informacije ali primere uporabe te funkcije, jih delite v komentarjih.
Funkcija 27: NADOMESTITEV
funkcija NAMESTITEV (SUBSTITUTE) nadomesti staro besedilo z novim besedilom znotraj besedilnega niza. Funkcija bo zamenjala vse ponovitve starega besedila, dokler ne bo izpolnjen določen pogoj. Razlikuje med velikimi in malimi črkami.
Kako lahko uporabite funkcijo SUBSTITUTE?
funkcija NAMESTITEV (SUBSTITUTE) nadomesti staro besedilo z novim besedilom znotraj besedilnega niza. Uporabite ga lahko za:
- Spremenite ime regije v glavi poročila.
- Odstranite nenatisljive znake.
- Zamenjaj zadnji presledek.
NADOMESTITEV Sintaksa
funkcija NAMESTITEV (SUBSTITUTE) ima naslednjo sintakso:
SUBSTITUTE(text,old_text,new_text,instance_num)
ПОДСТАВИТЬ(текст;стар_текст;нов_текст;номер_вхождения)
- besedilo (besedilo) – besedilni niz ali povezava, kjer bo besedilo zamenjano.
- staro_besedilo (staro_besedilo) – besedilo za zamenjavo.
- novo_besedilo (novo_besedilo) – besedilo za vstavljanje.
- instance_num (številka_vnosa) je številka pojavitve besedila, ki ga želite zamenjati (neobvezno).
NADOMESTEK Pasti
- funkcija NAMESTITEV (SUBSTITUTE) lahko nadomesti vse ponovitve starega besedila, tako da, če morate zamenjati le določen pojav, uporabite argument instance_num (vnosna_številka).
- Če morate izvesti zamenjavo, ki ne razlikuje med velikimi in malimi črkami, uporabite funkcijo REPLACE (ZAMENJATI).
Primer 1: Sprememba imena regije v naslovu poročila
Uporaba funkcij NAMESTITEV (NADOMESTITEV) Ustvarite lahko naslov poročila, ki se samodejno spreminja glede na izbrano regijo. V tem primeru je naslov poročila vnesen v celico C11, ki je poimenovana RptTitle. Simbol glej v besedilu naslova bo nadomeščeno z imenom regije, izbrane v celici D13.
=SUBSTITUTE(RptTitle,"yyy",D13)
=ПОДСТАВИТЬ(RptTitle;"yyy";D13)
Primer 2: Odstranite nenatisljive znake
Pri kopiranju podatkov s spletne strani se lahko v besedilu pojavijo dodatni presledki. Besedilo lahko vsebuje običajne presledke (znak 32) in neprekinjene presledke (znak 160). Ko jih poskusite izbrisati, boste ugotovili, da funkcija TRIM (TRIM) ne more odstraniti neprekinjenih presledkov.
Na srečo lahko uporabite funkcijo NAMESTITEV (SUPSTITUTE), da zamenjate vsak neprekinjen presledek z običajnim, nato pa uporabite funkcijo TRIM (TRIM), odstranite vse dodatne presledke.
=TRIM(SUBSTITUTE(B3,CHAR(160)," "))
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(B3;СИМВОЛ(160);" "))
Primer 3: Zamenjava zadnjega presledka
Če se želite izogniti zamenjavi vseh pojavitev besedilnega niza, lahko uporabite argument instance_num (številka_vnosa), da označite, kateri pojav zamenjati. Naslednji primer je seznam sestavin za recept, kjer je treba zamenjati samo zadnji presledek.
funkcija LEN (DLSTR) v celici C3 prešteje število znakov v celici B3. funkcija NAMESTITEV (SUBSTITUTE) zamenja vse presledke s praznim nizom in drugo funkcijo LEN (DLSTR) poišče dolžino obdelanega niza. Dolžina je 2 znaka krajša, kar pomeni, da sta bila v nizu 2 presledka.
=LEN(B3)-LEN(SUBSTITUTE(B3," ",""))
=ДЛСТР(B3)-ДЛСТР(ПОДСТАВИТЬ(B3;" ";""))
V celici D3 je funkcija NAMESTITEV (SUBSTITUTE) zamenja drugi presledek z novim nizom » | “.
=SUBSTITUTE(B3," "," | ",C3)
=ПОДСТАВИТЬ(B3;" ";" | ";C3)
Da ne bi uporabili dveh formul za rešitev te težave, jih lahko združite v eno dolgo:
=SUBSTITUTE(B3," "," | ",LEN(B3)-LEN(SUBSTITUTE(B3," ","")))
=ПОДСТАВИТЬ(B3;" ";" | ";ДЛСТР(B3)-ДЛСТР(ПОДСТАВИТЬ(B3;" ";"")))