Sadržaj
Naučite formule i načine bez formula da skratite razmake, uklonite posebne simbole (čak i prvih/zadnjih N znakova) i iste tekstualne nizove prije/poslije određenih znakova iz više ćelija odjednom.
Uklanjanje istog dijela teksta iz nekoliko ćelija odjednom može biti jednako važno i nezgodno kao i dodavanje istog. Čak i ako znate neke od načina, sigurno ćete pronaći nove u današnjem blogu. Dijelim mnoštvo funkcija i njihovih gotovih formula i, kao i uvijek, čuvam najlakše — bez formule — za kraj ;)
Formule za Google tablice za uklanjanje teksta iz ćelija
Počet ću sa standardnim funkcijama za Google Sheets koje će ukloniti vaše tekstualne nizove i znakove iz ćelija. Ne postoji univerzalna funkcija za ovo, pa ću dati različite formule i njihove kombinacije za različite slučajeve.
Google Sheets: uklonite razmak
Beli razmak može lako kliznuti u ćelije nakon uvoza ili ako više korisnika uređivati list u isto vrijeme. U stvari, dodatni razmaci su toliko uobičajeni da Google Sheets ima poseban alat za obrezivanje za uklanjanje svih praznina.
Samo odaberite sve ćelije Google Sheets gdje želite ukloniti razmak i odaberite Podaci > Odrežite razmak u meniju proračunske tabele:
Kada kliknete na opciju, svi vodeći i zadnji razmaci u odabiru će biti potpuno oduzeti dok su svi dodatni razmaci u-riječima, ovaj dodatak za Google tablice će ukloniti vremensku jedinicu iz vremenske oznake:
Možete imati sve ove i preko 30 drugih ušteda vremena za proračunske tabele instaliranjem dodatak iz Google Store-a. Prvih 30 dana je potpuno besplatno i potpuno funkcionalno, tako da imate vremena da odlučite isplati li se ulagati.
Ako imate pitanja u vezi s bilo kojim dijelom ovog blog posta, vidimo se u odjeljak za komentare ispod!
između podataka će se smanjiti na jedan:
Uklonite druge specijalne znakove iz tekstualnih nizova u Google tablicama
Nažalost, Google tablice ne nude alat da 'skratite' druge znakove osim razmaka. Ovdje morate raditi s formulama.
Savjet. Ili umjesto toga koristite naš alat — Power Tools će osloboditi vaš raspon od svih znakova koje navedete jednim klikom, uključujući razmak.
Ovdje sam se obratio hashtagovima ispred brojeva stanova i telefonskih brojeva sa crticama i zagradama između:
Koristit ću formule da uklonim te posebne znakove.
Funkcija SUBSTITUTE će mi pomoći u tome. Obično se koristi za zamjenu jednog znaka drugim, ali to možete pretvoriti u svoju korist i zamijeniti neželjene znakove sa... pa, ništa :) Drugim riječima, uklonite ga.
Da vidimo koji je argument funkcija zahtijeva:
SUBSTITUTE(text_to_search, search_for, replace_with, [broj_pojave])- text_to_search je ili tekst za obradu ili ćelija koja sadrži taj tekst. Obavezno.
- traži_za je znak koji želite pronaći i izbrisati. Obavezno.
- replace_with — znak koji ćete umetnuti umjesto neželjenog simbola. Obavezno.
- broj_pojavljivanja — ako postoji nekoliko instanci znaka koji tražite, ovdje možete odrediti koji želite zamijeniti. Potpuno je opciono,i ako izostavite ovaj argument, sve instance će biti zamijenjene nečim novim ( replace_for ).
Pa hajde da se igramo. Moram pronaći hashtag ( # ) u A1 i zamijeniti ga sa 'ništa' što je u proračunskim tabelama označeno dvostrukim navodnicima ( "" ). Imajući sve to na umu, mogu napraviti sljedeću formulu:
=SUBSTITUTE(A1,"#","")
Savjet. Hashtag je također u dvostrukim navodnicima jer je to način na koji treba spomenuti tekstualne nizove u formulama Google Sheets.
Zatim kopirajte ovu formulu niz kolonu ako Google Sheets ne nudi da to uradi automatski, i dobićete svoje adrese bez hashtagova:
Ali šta o tim crticama i zagradama? Trebate li kreirati dodatne formule? Ne sve! Ako ugnijezdite više funkcija SUBSTITUTE u jednu formulu Google Sheets, uklonit ćete sve ove znakove iz svake ćelije:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"#",""),"(",""),")",""),"-","")
Ova formula uklanja znakove jedan po jedan i svaki SUBSTITUTE, počevši od sredine , postaje raspon koji treba tražiti za sljedeću ZAMJENU:
Savjet. Štaviše, ovo možete umotati u ArrayFormula i pokriti cijelu kolonu odjednom. U ovom slučaju promijenite i referencu ćelije ( A1 ) na svoje podatke u stupcu ( A1:A7 ):
=ArrayFormula(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1:A7,"#",""),"(",""),")",""),"-",""))
Uklonite određeni tekst iz ćelije u Google tablicama
Iako možete koristiti gore spomenutu funkciju SUBSTITUTE za Google tablice za uklanjanje teksta iz ćelija, želio bih pokazatijoš jedna funkcija — REGEXREPLACE.
Njegovo ime je akronim od 'regular expression replace'. I koristiću regularne izraze da tražim nizove da ih uklonim i zamijenim sa ' ništa' ( "" ).
Savjet. Ako niste zainteresirani za korištenje regularnih izraza, na kraju ovog blog posta opisujem mnogo lakši način.
Savjet. Ako tražite načine da pronađete i uklonite duplikate u Google tabelama, umjesto toga posjetite ovaj blog post. REGEXREPLACE(tekst, regularni_izraz, zamjena)
Kao što vidite, postoje tri argumenta za funkciju:
- tekst — je mjesto gdje tražite tekst niz za uklanjanje. To može biti sam tekst u dvostrukim navodnicima ili referenca na ćeliju/opseg s tekstom.
- regular_expression — vaš obrazac pretraživanja koji se sastoji od različitih kombinacija znakova. Tražit ćete sve žice koje odgovaraju ovom uzorku. Ovaj argument je mjesto gdje se događa sva zabava, ako mogu tako reći.
- zamjena — novi željeni tekstualni niz.
Pretpostavimo moje ćelije s podacima također sadrži naziv zemlje ( SAD ) ako su različita mjesta u ćelijama:
Kako će mi REGEXREPLACE pomoći da ga uklonim?
=REGEXREPLACE(A1,"(.*)US(.*)","$1 $2")
Evo kako formula točno funkcionira:
- ona skenira sadržaj ćelije A1
- za podudaranja sa ovom maskom: "(.*)US(.*)"
Ova maska govori funkciji dapotražite US bez obzira koji broj drugih znakova može prethoditi (.*) ili slijediti (.*) naziv zemlje.
I cijela maska se stavlja u dvostruke navodnike prema zahtjevima funkcije :)
- zadnji argument — "$1 $2" — je ono što želim dobiti umjesto toga. $1 i $2 svaki predstavlja jednu od te 2 grupe znakova — (.*) — iz prethodnog argumenta. Trebali biste spomenuti te grupe u trećem argumentu na ovaj način kako bi formula mogla vratiti sve što je moguće prije i poslije US
Što se tiče samog US , jednostavno ne da to spomenem u 3. argumentu — što znači, želim da vratim sve iz A1 bez US .
Savjet. Postoji posebna stranica na koju možete referencirati da biste napravili različite regularne izraze i tražili tekst na različitim pozicijama ćelija.
Savjet. Što se tiče onih preostalih zareza, gore opisana funkcija SUBSTITUTE će vam pomoći da ih se riješite ;) Možete čak priložiti REGEXREPLACE sa SUBSTITUTE i sve riješiti jednom formulom:
=SUBSTITUTE(REGEXREPLACE(A1,"(.*)US(.*)","$1 $2"),",","")
Uklonite tekst prije/poslije određeni znakovi u svim odabranim ćelijama
Primjer 1. REGEXREPLACE funkcija za Google Sheets
Kada je riječ o uklanjanju svega prije i poslije određenih znakova, REGEXREPLACE također pomaže. Zapamtite, funkcija zahtijeva 3 argumenta:
REGEXREPLACE(tekst,regular_expression, replacement)I, kao što sam spomenuo gore kada sam predstavio funkciju, to je druga koju treba pravilno koristiti kako bi funkcija znala šta da pronađe i ukloni.
Pa kako da uklonim adrese i zadržati samo brojeve telefona u ćelijama?
Evo formule koju ću koristiti:
=REGEXREPLACE(A1,".*\n.*(\+.*)","$1")
- Evo regularnog izraza koji koristim u ovom slučaju: ".*\n.*(\+.*)"
U prvom dijelu — .*\n .* — Koristim povratnu kosu crtu+n da kažem da moja ćelija ima više od jednog reda. Tako da želim da funkcija ukloni sve prije i poslije tog prijeloma reda (uključujući i njega).
Drugi dio koji je u zagradama (\+.*) kaže da želim zadržati znak plus i sve što ga prati netaknuto. Uzimam ovaj dio u zagrade da ga grupišem i zadržim na umu za kasnije.
Savjet. Obrnuta kosa crta se koristi prije plusa kako bi se pretvorila u znak koji tražite. Bez njega bi plus bio samo dio izraza koji označava neke druge znakove (kao što, na primjer, čini zvjezdica).
- Što se tiče posljednjeg argumenta — $1 — čini funkciju da vrati samo onu grupu iz drugog argumenta: znak plus i sve što slijedi (\+.*) .
Na sličan način, možete izbrisati sve telefonske brojeve, ali zadržati adrese:
=REGEXREPLACE(A1,"(.*\n).*","$1")
Samo ovaj put, vi kažete funkciji da grupira (i vratiti) sve prijeprijelom reda i obrišite ostatak:
Primjer 2. DESNO+LEN+FIND
Postoji još nekoliko funkcija Google Sheets koje vam omogućavaju da uklonite tekst ispred određenog znaka. Oni su DESNO, LEN i FIND.
Napomena. Ove funkcije će pomoći samo ako je evidencija iste dužine, kao što su brojevi telefona u mom slučaju. Ako nisu, samo upotrijebite REGEXREPLACE ili, još bolje, lakši alat opisan na kraju.
Upotreba ovog trojca u određenom redoslijedu pomoći će mi da dobijem isti rezultat i uklonim cijeli tekst prije znaka — znak plus:
=RIGHT(A1,(LEN(A1)-(FIND("+",A1)-1)))
Dozvolite mi da objasnim kako ova formula funkcionira:
- FIND("+",A1)-1 locira broj pozicije znaka plus u A1 ( 24 ) i oduzima 1 tako da zbroj ne uključuje sam plus: 23 .
- LEN(A1)-(FIND("+",A1)- 1) provjerava ukupan broj znakova u A1 ( 40 ) i oduzima 23 (prebrojano pomoću FIND) od njega: 17 .
- I onda DESNO vraća 17 znakova sa kraja (desno) A1.
Nažalost, ovaj način neće puno pomoći da u mom slučaju uklonim tekst nakon prijeloma reda (obrisati brojeve telefona i zadržati adrese), jer su adrese različite dužine.
Pa, to je u redu. Alat na kraju ionako bolje radi ovaj posao ;)
Uklonite prvih/zadnjih N znakova iz nizova u Google tablicama
Kad god trebate uklonitiodređeni broj različitih znakova s početka ili kraja ćelije, REGEXREPLACE i DESNO/LIJEVO+LEN će također pomoći.
Napomena. Pošto sam ove funkcije već predstavio gore, ovo ću kratko zadržati i dati neke gotove formule. Ili slobodno skočite na najlakše rješenje opisano na samom kraju.
Pa, kako mogu izbrisati kodove sa ovih brojeva telefona? Ili, drugim riječima, uklonite prvih 9 znakova iz ćelija:
- Koristite REGEXREPLACE. Kreirajte regularni izraz koji će pronaći i izbrisati sve do 9. znaka (uključujući taj 9. znak):
=REGEXREPLACE(A1,"(.{9})(.*)","$2")
.
Savjet. Da biste uklonili zadnjih N znakova, samo zamijenite grupe u regularnom izrazu:
=REGEXREPLACE(A1,"(.*)(.{9})","$1")
- DESNO/LIJEVO+LEN također brojite broj znakova za brisanje i vratite preostali dio od kraja ili početka ćelije:
=RIGHT(A1,LEN(A1)-9)
Savjet. Da biste uklonili posljednjih 9 znakova iz ćelija, zamijenite DESNO sa LIJEVO:
=LEFT(A1,LEN(A1)-9)
- Posljednja, ali ne i najmanje važna, je funkcija ZAMJENA. Kažete mu da uzme 9 znakova počevši s lijeve strane i zamijeni ih ničim ( "" ):
=REPLACE(A1,1,9,"")
Napomena. Budući da REPLACE zahtijeva početnu poziciju za obradu teksta, neće raditi ako trebate izbrisati N znakova s kraja ćelije.
Način bez formula za uklanjanje određenog teksta u Google Sheets — Power Toolsdodatak
Funkcije i sve je dobro kad god imate vremena za ubijanje. Ali znate li da postoji poseban alat koji obuhvata sve gore navedene načine i sve što trebate učiniti je odabrati željeno radio dugme? :) Bez formula, bez dodatnih kolona — boljeg pomoćnika ne možete poželjeti ;D
Ne morate mi vjerovati na riječ, samo instalirajte Power Tools i uvjerite se sami:
- Prva grupa vam omogućava uklanjanje više podnizova ili pojedinačnih znakova sa bilo koje pozicije u svim odabranim ćelijama u isto vrijeme:
Drugi alat iz Power Tools-a će ukloniti jedinice vremena i datuma iz vremenskih oznaka. Zove se Split Date & Vrijeme:
Kakve veze ima alat za cijepanje sa uklanjanjem jedinica vremena i datuma? Pa, da uklonite vrijeme iz vremenskih oznaka, odaberite Datum jer je to dio koji želite zadržati i također označite Zamijeni izvorne podatke , baš kao na slici iznad.
Alatka će izdvojiti jedinicu datuma i njome zamijeniti cijelu vremensku oznaku. Ili u drugom