Eliminați spațiile albe și alte caractere sau șiruri de text în Google Sheets din mai multe celule simultan

  • Imparte Asta
Michael Brown

Învățați formule și modalități fără formule de a tăia spațiile albe, de a elimina simbolurile speciale (chiar și primele/ultimele N caractere) și aceleași șiruri de text înainte/după anumite caractere din mai multe celule deodată.

Îndepărtarea aceleiași părți de text din mai multe celule deodată poate fi la fel de importantă și complicată ca și adăugarea. Chiar dacă cunoașteți unele dintre modalități, cu siguranță veți găsi altele noi în articolul de astăzi de pe blog. Vă împărtășesc o mulțime de funcții și formulele lor gata făcute și, ca întotdeauna, o păstrez pe cea mai ușoară - fără formule - pentru final ;)

    Formule pentru Google Sheets pentru a elimina textul din celule

    Voi începe cu funcțiile standard pentru Google Sheets care vor elimina șirurile de text și caracterele din celule. Nu există o funcție universală pentru acest lucru, așa că voi oferi diferite formule și combinații ale acestora pentru diverse cazuri.

    Google Sheets: eliminați spațiile albe

    Spațiile albe se pot strecura cu ușurință în celule după import sau în cazul în care mai mulți utilizatori editează foaia în același timp. De fapt, spațiile suplimentare sunt atât de frecvente încât Google Sheets are un instrument special Trim pentru a elimina toate spațiile albe.

    Pur și simplu selectați toate celulele Google Sheets în care doriți să eliminați spațiile albe și alegeți Date> Tăiați spațiile albe din meniul foii de calcul:

    Pe măsură ce faceți clic pe această opțiune, toate spațiile de început și de sfârșit ale selecției vor fi eliminate complet, în timp ce toate spațiile suplimentare dintre date vor fi reduse la unul singur:

    Eliminarea altor caractere speciale din șirurile de text în Google Sheets

    Din păcate, Google Sheets nu oferă un instrument pentru a "tăia" alte caractere în afară de spații. Aici trebuie să folosiți formule.

    Sugestie: sau utilizați în schimb instrumentul nostru - Power Tools va elibera intervalul de caractere pe care îl specificați cu un clic, inclusiv spațiile albe.

    Aici m-am adresat cu hashtag-uri înainte de numerele de apartament și numerele de telefon cu liniuțe și paranteze între ele:

    Voi folosi formule pentru a elimina aceste caractere speciale.

    Funcția SUBSTITUTE mă va ajuta în acest sens. În mod normal, este folosită pentru a înlocui un caracter cu altul, dar puteți întoarce acest lucru în avantajul dvs. și să înlocuiți caracterele nedorite cu... ei bine, nimic :) Cu alte cuvinte, eliminați-le.

    Să vedem ce argument necesită funcția:

    SUBSTITUTE(text_la_cercetare, căutare_pentru, înlocuire_cu, [număr_de_întâmplări])
    • text_to_search este fie textul care trebuie procesat, fie o celulă care conține acel text. Necesar.
    • search_for este caracterul pe care doriți să îl găsiți și să îl ștergeți. Necesar.
    • replace_with - un caracter pe care îl veți introduce în locul simbolului nedorit. Necesar.
    • număr_eveniment - în cazul în care există mai multe instanțe ale caracterului pe care îl căutați, aici puteți specifica pe care să îl înlocuiți. Este complet opțional, iar dacă omiteți acest argument, toate instanțele vor fi înlocuite cu ceva nou ( replace_for ).

    Să ne jucăm. Trebuie să găsesc un hashtag ( # ) în A1 și înlocuiți-l cu "nimic", care este marcat în foile de calcul cu ghilimele duble ( "" ). având în vedere toate acestea, pot construi următoarea formulă:

    =SUBSTITUTE(A1, "#","")

    Sfat: Hashtag-ul este, de asemenea, între ghilimele duble, deoarece acesta este modul în care trebuie să menționați șirurile de text în formulele Google Sheets.

    Apoi, copiați această formulă în josul coloanei, dacă Google Sheets nu vă oferă posibilitatea de a face acest lucru automat, și veți obține adresele fără hashtag-uri:

    Dar cum rămâne cu acele liniuțe și paranteze? Trebuie să creați formule suplimentare? Deloc! Dacă aninați mai multe funcții SUBSTITUTE într-o singură formulă Google Sheets, veți elimina toate aceste caractere din fiecare celulă:

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1, "#","""),"(","""),")","""),"-","""),"-","")

    Această formulă elimină caracterele unul câte unul și fiecare SUBSTITUTE, începând de la mijloc, devine intervalul de căutare pentru următorul SUBSTITUTE:

    Sfat. Mai mult, puteți să înfășurați acest lucru în ArrayFormula și să acoperiți întreaga coloană deodată. În acest caz, schimbați referința celulei ( A1 ) la datele dumneavoastră din coloana ( A1:A7 ), de asemenea:

    =ArrayFormula(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1:A7, "#","""),"("","""),"""),"""),"-"",""")))

    Eliminarea unui text specific din celule în Google Sheets

    Deși puteți utiliza funcția SUBSTITUTE menționată mai sus pentru Google Sheets pentru a elimina textul din celule, aș dori să prezint și o altă funcție - REGEXREPLACE.

    Numele său este un acronim de la "regular expression replace" (expresie regulată de înlocuire). Și voi folosi expresiile regulate pentru a căuta șirurile de caractere pe care să le elimin și să le înlocuiesc cu ' nimic" ( "" ).

    Sfat: Dacă nu sunteți interesat să folosiți expresii regulate, la sfârșitul acestei postări de pe blog descriu o modalitate mult mai ușoară.

    Sfat. Dacă sunteți în căutarea unor modalități de a găsi și elimina duplicatele în Google Sheets, vizitați în schimb acest articol de blog. REGEXREPLACE(text, regular_expression, replacement)

    După cum puteți vedea, există trei argumente pentru funcție:

    • text - este locul în care se caută șirul de text care trebuie eliminat. Acesta poate fi textul propriu-zis între ghilimele duble sau o referință la o celulă/un interval cu text.
    • expresie_regulată - modelul de căutare care constă din diverse combinații de caractere. Veți căuta toate șirurile care se potrivesc cu acest model. Acest argument este cel în care se întâmplă toată distracția, dacă îmi permiteți să spun așa.
    • înlocuire - un nou șir de text dorit.

    Să presupunem că celulele mele cu date conțin și numele țării ( SUA ) în diferite locuri din celule:

    Cum mă va ajuta REGEXREPLACE să îl elimin?

    =REGEXREPLACE(A1,"(.*)US(.*)","$1 $2 $2")

    Iată cum funcționează exact formula:

    • se scanează conținutul celulei A1
    • pentru a găsi corespondențe cu această mască: "(.*)US(.*)"

      Această mască îi spune funcției să caute SUA indiferent de numărul de alte caractere care pot preceda (.*) sau urmăriți (.*) numele țării.

      Și întreaga mască este pusă în ghilimele duble conform cerințelor funcției :)

    • ultimul argument - "$1 $2" - este ceea ce vreau să obțin în schimb. $1 și $2 fiecare reprezintă unul din cele 2 grupuri de caractere - (.*) - din argumentul anterior. Ar trebui să menționați aceste grupuri în cel de-al treilea argument în acest fel, astfel încât formula să poată returna tot ceea ce se află înainte și după SUA

      În ceea ce privește SUA în sine, pur și simplu nu-l menționez în al treilea argument - adică vreau să returnez totul din A1 fără la SUA .

    Sfat. Există o pagină specială la care puteți face referire pentru a construi diverse expresii regulate și a căuta textul în diferite poziții ale celulelor.

    Sfat. În ceea ce privește virgulele rămase, funcția SUBSTITUTE descrisă mai sus vă va ajuta să scăpați de ele ;) Puteți chiar să includeți REGEXREPLACE cu SUBSTITUTE și să rezolvați totul cu o singură formulă:

    =SUBSTITUTE(REGEXREPLACE(A1,"(.*)US(.*)","$1 $2"),",",","","")

    Eliminarea textului înainte/după anumite caractere în toate celulele selectate

    Exemplul 1. Funcția REGEXREPLACE pentru Google Sheets

    Când vine vorba de a scăpa de tot ce se află înainte și după anumite caractere, REGEXREPLACE este de asemenea de ajutor. Nu uitați că funcția necesită 3 argumente:

    REGEXREPLACE(text, expresie_regulară, înlocuire)

    Și, așa cum am menționat mai sus când am prezentat funcția, este a doua pe care trebuie să o folosiți corect pentru ca funcția să știe ce să găsească și să elimine.

    Deci, cum elimin adresele și păstrez doar numerele de telefon în celule?

    Iată formula pe care o voi folosi:

    =REGEXREPLACE(A1,".*\n.*(\+.*)","$1")

    • Iată expresia regulată pe care o folosesc în acest caz: ".*\n.*(\+.*)"

      În prima parte - .*\n.* - Eu folosesc backslash+n Așadar, vreau ca funcția să elimine tot ceea ce se află înainte și după acea pauză de linie (inclusiv ea).

      A doua parte care se află între paranteze (\+.*) spune că vreau să păstrez intact semnul plus și tot ceea ce urmează după el. Iau această parte între paranteze pentru a o grupa și a o ține minte pentru mai târziu.

      Sfat: Bara inversă se folosește înaintea semnului plus pentru a-l transforma într-un caracter pe care îl căutați. Fără ea, plusul ar fi doar o parte a expresiei care reprezintă alte caractere (cum este, de exemplu, un asterisc).

    • În ceea ce privește ultimul argument - $1 - acesta face ca funcția să returneze doar grupul din al doilea argument: semnul plus și tot ce urmează. (\+.*) .

    În mod similar, puteți șterge toate numerele de telefon, dar puteți păstra adresele:

    =REGEXREPLACE(A1,"(.*\n).*","$1")

    Numai că, de data aceasta, îi spuneți funcției să grupeze (și să returneze) tot ceea ce se află înainte de întreruperea de linie și să elimine restul:

    Exemplul 2. RIGHT+LEN+FIND

    Mai există câteva funcții Google Sheets care vă permit să eliminați textul înainte de un anumit caracter. Acestea sunt RIGHT, LEN și FIND.

    Notă. Aceste funcții vă vor ajuta numai dacă înregistrările care trebuie păstrate au aceeași lungime, cum ar fi numerele de telefon în cazul meu. În caz contrar, utilizați în schimb REGEXREPLACE sau, chiar mai bine, instrumentul mai ușor descris la sfârșit.

    Utilizarea acestui trio într-o anumită ordine mă va ajuta să obțin același rezultat și să elimin întregul text înainte de un caracter - semnul plus:

    =RIGHT(A1,(LEN(A1)-(FIND("+",A1)-1))))

    Permiteți-mi să vă explic cum funcționează această formulă:

    • FIND("+",A1)-1 localizează numărul de poziție al semnului plus în A1 ( 24 ) și scade 1, astfel încât totalul să nu includă plusul însuși: 23 .
    • LEN(A1)-(FIND("+",A1)-1) verifică numărul total de caractere din A1 ( 40 ) și scade 23 (numărat de FIND) din acesta: 17 .
    • Și apoi RIGHT returnează 17 caractere de la sfârșitul (dreapta) lui A1.

    Din păcate, în cazul meu, acest mod nu va ajuta prea mult la eliminarea textului după întreruperea de linie (numere de telefon clare și păstrarea adreselor), deoarece adresele sunt de lungimi diferite.

    Ei bine, nu-i nimic, instrumentul de la capăt face oricum mai bine treaba asta ;)

    Eliminarea primelor/ultimelor N caractere din șiruri de caractere în Google Sheets

    Ori de câte ori aveți nevoie să eliminați un anumit număr de caractere diferite de la începutul sau sfârșitul unei celule, REGEXREPLACE și RIGHT/LEFT+LEN vă vor fi de asemenea de ajutor.

    Notă. Deoarece am introdus deja aceste funcții mai sus, voi fi scurt și voi oferi câteva formule gata făcute. Sau puteți să treceți la cea mai simplă soluție descrisă la sfârșit.

    Deci, cum pot șterge codurile din aceste numere de telefon? Sau, cu alte cuvinte, să elimin primele 9 caractere din celule:

    • Folosiți REGEXREPLACE. Creați o expresie regulată care va găsi și șterge tot ceea ce se află până la al 9-lea caracter (inclusiv acel al 9-lea caracter):

      =REGEXREPLACE(A1,"(.{9})(.*)","$2")

      .

      Sfat: Pentru a elimina ultimele N caractere, trebuie doar să schimbați grupurile din expresia regulată:

      =REGEXREPLACE(A1,"(.*)(.{9})","$1")

    • RIGHT/LEFT+LEN numără, de asemenea, numărul de caractere care trebuie șterse și returnează partea rămasă de la sfârșitul, respectiv începutul unei celule:

      =RIGHT(A1,LEN(A1)-9)

      Sfat: Pentru a elimina ultimele 9 caractere din celule, înlocuiți RIGHT cu LEFT:

      =LEFT(A1,LEN(A1)-9)

    • Ultima, dar nu cea din urmă, este funcția REPLACE. Îi spui să ia cele 9 caractere începând din stânga și să le înlocuiască cu nimic ( "" ):

      =REPLACE(A1,1,9,""")

      Notă: Deoarece REPLACE necesită o poziție de pornire pentru a procesa textul, nu va funcționa dacă trebuie să ștergeți N caractere de la sfârșitul unei celule.

    Modul fără formule pentru a elimina un text specific în Google Sheets - Power Tools add-on

    Funcții și toate sunt bune ori de câte ori ai timp de omorât. Dar știi că există un instrument special care cuprinde toate modalitățile menționate mai sus și tot ce trebuie să faci este să selectezi butonul radio necesar? :) Fără formule, fără coloane suplimentare - nu ți-ai putea dori un partener mai bun ;D

    Nu trebuie să mă credeți pe cuvânt, instalați Power Tools și vedeți cu ochii voștri:

    1. Primul grup vă permite eliminați mai multe subșiruri sau caractere individuale din orice poziție din toate celulele selectate simultan:

  • Următorul elimină nu numai spațiile, ci și salturile de linie, entitățile HTML & tag-urile și alți delimitatori și caractere care nu se tipăresc. Doar bifați toate căsuțele de control necesare și apăsați Eliminați :
  • Și, în cele din urmă, există setări pentru a elimina textul în Google Sheets după o anumită poziție, primele/ultimele N caractere, sau înainte/după caractere :
  • Un alt instrument de la Power Tools va elimina unitățile de timp și de dată din marcajele de timp. Se numește Split Date & Time:

    Ce legătură are instrumentul de divizare cu eliminarea unităților de timp și de dată? Ei bine, pentru a elimina timpul din marcajele de timp, selectați Data deoarece este o piesă pe care doriți să o păstrați și să o bifați. Înlocuirea datelor sursă , la fel ca în captura de ecran de mai sus.

    Instrumentul va extrage unitatea de dată și va înlocui întregul timestamp cu ea. Sau, cu alte cuvinte, acest add-on pentru Google Sheets va elimina unitatea de timp din timestamp:

    Puteți avea toate acestea și peste 30 de alte economii de timp pentru foile de calcul instalând add-on-ul din Magazinul Google. Primele 30 de zile sunt complet gratuite și complet funcționale, astfel încât aveți timp să decideți dacă merită investiția.

    Dacă aveți întrebări legate de orice parte a acestui articol de blog, ne vedem în secțiunea de comentarii de mai jos!

    Michael Brown este un pasionat de tehnologie dedicat, cu o pasiune pentru simplificarea proceselor complexe folosind instrumente software. Cu mai mult de un deceniu de experiență în industria tehnologiei, el și-a perfecționat abilitățile în Microsoft Excel și Outlook, precum și în Google Sheets și Docs. Blogul lui Michael este dedicat împărtășirii cunoștințelor și experienței sale cu alții, oferind sfaturi și tutoriale ușor de urmat pentru îmbunătățirea productivității și eficienței. Indiferent dacă sunteți un profesionist experimentat sau un începător, blogul lui Michael oferă informații valoroase și sfaturi practice pentru a profita la maximum de aceste instrumente software esențiale.