Kazalo
Pri delu z nestrukturiranimi besedilnimi podatki v delovnih listih jih morate pogosto razčleniti, da bi pridobili ustrezne informacije. V tem članku boste spoznali nekaj preprostih načinov za odstranitev poljubnega števila znakov z leve ali desne strani besedilnega niza.
Kako odstraniti znake z leve strani v Excelu
Odstranjevanje prvih znakov iz niza je eno najpogostejših opravil v Excelu, ki ga lahko izvedete s tremi različnimi formulami.
Odstranjevanje prvega znaka v Excelu
Če želite iz niza izbrisati prvi znak, lahko uporabite funkcijo REPLACE ali kombinacijo funkcij RIGHT in LEN.
PONOVNO ZAMENJAVLJANJE( niz , 1, 1, "")V tem primeru preprosto vzamemo 1 znak na prvem mestu in ga nadomestimo s praznim nizom ("").
PRAVICA( niz , LEN( niz ) - 1)V tej formuli s funkcijo LEN izračunamo skupno dolžino niza in od nje odštejemo 1 znak. Razlika je prikazana na desni strani, zato se s konca niza odvzame toliko znakov.
Če želite na primer iz celice A2 odstraniti prvi znak, so formule naslednje:
=PREMESTITEV(A2, 1, 1, 1, "")
=DESNO(A2, LEN(A2) - 1)
Odstranjevanje znakov z leve strani
Za odstranjevanje vodilnih znakov z leve strani niza uporabite tudi funkcije REPLACE ali RIGHT in LEN, vendar vsakič določite, koliko znakov želite odstraniti:
PONOVNO ZAMENJAVLJANJE( niz , 1, num_chars , "")Ali
PRAVICA( niz , LEN( niz ) - num_chars )Če želite na primer odstraniti prva 2 znaka iz niza v A2 so formule naslednje:
=PREDSTAVI(A2, 1, 2, "")
=DESNO(A2, LEN(A2) - 2)
Odstranitev prvi 3 znaki , so formule v tej obliki:
=PREDSTAVI(A2, 1, 3, "")
=DESNO(A2, LEN(A2) - 3)
Spodnja slika prikazuje formulo REPLACE v akciji. Z RIGHT LEN bi bili rezultati popolnoma enaki.
Funkcija po meri za brisanje prvih n znakov
Če vas ne moti uporaba VBA v delovnih listih, lahko ustvarite lastno uporabniško funkcijo za brisanje znakov z začetka niza z imenom RemoveFirstChars Koda funkcije je preprosta:
Funkcija RemoveFirstChars(str As String , num_chars As Long ) RemoveFirstChars = Right(str, Len(str) - num_chars) Konec funkcijeKo kodo vstavite v delovni zvezek (podrobna navodila so tukaj), lahko s to kompaktno in intuitivno formulo odstranite prvih n znakov iz dane celice:
RemoveFirstChars(string, num_chars)Če želite na primer izbrisati prvi znak iz niza v A2, je formula v B2:
=Odstranitev prvih znakov(A2, 1)
Odstranjevanje prva dva znakov iz A3, formula v B3 je:
=Odstranitev prvih znakov(A4, 2)
Brisanje prvi trije znakov iz A4, formula v B4 je:
=Odstranitev prvih znakov(A4, 3)
Več o uporabi funkcij po meri v Excelu.
Kako odstraniti znake z desne strani
Za odstranjevanje znakov z desne strani niza lahko uporabite tudi izvirne funkcije ali pa ustvarite svojo.
Odstranjevanje zadnjega znaka v Excelu
Za brisanje zadnjega znaka v celici je splošna formula:
LEVA( niz , LEN( niz ) - 1)V tej formuli od skupne dolžine niza odštejete 1 in razliko posredujete funkciji LEFT, ki iz začetka niza izloči toliko znakov.
Če želite na primer iz celice A2 odstraniti zadnji znak, je formula v celici B2 naslednja:
=LEVO(A2, LEN(A2) - 1)
Odstranjevanje znakov z desne strani
Splošna formula za odstranitev določenega števila znakov s konca celice je:
LEVA( niz , LEN( niz ) - num_chars )Logika je enaka kot v zgornji formuli, spodaj pa je nekaj primerov.
Če želite odstraniti zadnji 3 znaki , uporabite 3 za num_chars :
=LEVO(A2, LEN(A2) - 3)
Brisanje zadnjih 5 znakov , dobava 5 za num_chars :
=LEVO(A2, LEN(A2) - 5)
Funkcija po meri za odstranitev zadnjih n znakov v Excelu
Če želite imeti lastno funkcijo za odstranjevanje poljubnega števila znakov z desne strani, v delovni zvezek dodajte to kodo VBA:
Funkcija RemoveLastChars(str As String , num_chars As Long ) RemoveLastChars = Left(str, Len(str) - num_chars) Konec funkcijeFunkcija se imenuje RemoveLastChars in njegove sintakse skoraj ni treba razlagati:
RemoveLastChars(string, num_chars)Da bi jo preizkusili na terenu, se znebimo zadnji znak v A2:
=Odstranitev zadnjih znakov(A2, 1)
Poleg tega bomo odstranili zadnja 2 znaka z desne strani niza v A3:
=Odstranitev zadnjih znakov(A3, 2)
Brisanje zadnji 3 znaki iz celice A4 je formula:
=Odstranitev zadnjih znakov(A4, 3)
Kot lahko vidite na spodnji sliki zaslona, naša funkcija po meri odlično deluje!
Kako odstraniti znake z desne in leve strani hkrati
Kadar morate izbrisati znake na obeh straneh niza, lahko zaporedno zaženete obe zgornji formuli ali pa delo optimizirate s pomočjo funkcije MID.
MID( niz , levo _ znaki + 1, LEN( niz ) - ( levo _ znaki + desno _ znaki )Kje:
- chars_left - število znakov, ki jih želite izbrisati z leve strani.
- chars_right - število znakov, ki jih želite izbrisati z desne strani.
Recimo, da želite izvleči uporabniško ime iz niza, kot je mailto:[email protected] Za to je treba z začetka odstraniti del besedila ( mailto: - 7 znakov) in od konca ( @gmail.com - 11 znakov).
Zgornje številke vnesite v formulo:
=MID(A2, 7+1, LEN(A2) - (7+10))
...in rezultat vas ne bo pustil čakati:
Da bi razumeli, kaj se tu dejansko dogaja, se spomnimo sintakse funkcije MID, ki se uporablja za izločanje podreza določene velikosti iz sredine prvotnega niza:
MID(besedilo, start_številka, število_znakov)Spletna stran besedilo argument ne vzbuja vprašanj - gre za izvorni niz (v našem primeru A2).
Če želite pridobiti položaj prvega znaka, ki ga želite izločiti ( start_num ), številu znakov, ki jih je treba odstraniti z leve strani, dodate 1 (7+1).
Določanje števila znakov, ki jih je treba vrniti ( num_chars ), izračunate vsoto odstranjenih znakov (7 + 11) in jo odštejete od dolžine celotnega niza: LEN(A2) - (7+10)).
Pridobite rezultat kot število
Ne glede na to, katero od zgornjih formul uporabljate, je rezultat vedno besedilo, tudi če vrnjena vrednost vsebuje samo številke. rezultat kot število , osnovno formulo zapakirajte v funkcijo VALUE ali pa izvedite neko matematično operacijo, ki ne vpliva na rezultat, npr. pomnožite z 1 ali prištejte 0. Ta tehnika je še posebej uporabna, kadar želite rezultate dodatno izračunati.
Predpostavimo, da ste iz celic A2:A6 odstranili prvi znak in želite sešteti dobljene vrednosti. Presenetljivo je, da trivialna formula SUM vrne ničlo. Zakaj? Očitno zato, ker seštevate nize in ne števila. Izvedite eno od spodnjih operacij in težava je odpravljena!
=VREDNOST(ZAMENJAVA(A2, 1, 1, 1, ""))
=DESNO(A2, LEN(A2) - 1) * 1
=RemoveFirstChars(A2, 1) + 0
Odstranjevanje prvega ali zadnjega znaka s funkcijo Flash Fill
V Excelu 2013 in novejših različicah je na voljo še en preprost način za brisanje prvih in zadnjih znakov v Excelu - funkcija Flash Fill.
- V celico poleg prve celice z izvirnimi podatki vnesite želeni rezultat, pri čemer izpustite prvi ali zadnji znak iz izvirnega niza, in pritisnite Enter .
- V naslednjo celico začnite vnašati pričakovano vrednost. Če Excel zazna vzorec v podatkih, ki jih vnašate, bo sledil istemu vzorcu v preostalih celicah in prikazal predogled vaših podatkov brez prvega/ zadnjega znaka.
- Za potrditev predogleda pritisnite tipko Enter.
Odstranjevanje znakov po položaju s paketom Ultimate Suite
Uporabniki našega paketa Ultimate Suite lahko to nalogo tradicionalno opravijo z nekaj kliki, ne da bi si morali zapomniti kopico različnih formul.
Če želite iz niza izbrisati prvih ali zadnjih n znakov, morate storiti naslednje:
- Na Podatkovni zapisi o napravah Ablebits v zavihku Besedilo skupino, kliknite Odstranite > Odstranjevanje po položaju .
Za odstranitev prvega znaka na primer nastavimo naslednjo možnost:
To je način, kako v Excelu odstraniti podredzico z leve ali desne strani. Zahvaljujem se vam za branje in se veselim, da se naslednji teden vidimo na našem blogu!
Razpoložljivi prenosi
Odstranjevanje prvih ali zadnjih znakov - primeri (.xlsm datoteka)
Ultimate Suite - preizkusna različica (.exe datoteka)