Extrageți date din Google Sheets: anumite texte din șiruri de caractere, URL-uri din link-uri și multe altele

  • Imparte Asta
Michael Brown

Următoarea parte a operațiunilor noastre cu text în foi de calcul este dedicată extracției. Aflați modalități de a extrage diverse date - text, caractere, numere, URL-uri, adrese de e-mail, data & ora etc. - din diverse poziții în mai multe celule Google Sheets deodată.

    Formule Google Sheets pentru a extrage text și numere din șiruri de caractere

    Formulele din Google Sheets sunt totul. În timp ce unele combinații adaugă text & numere și elimină diverse caractere, unele dintre ele extrag, de asemenea, text, numere, separă caractere, etc.

    Extragerea datelor în funcție de poziție: primul/ultimul/mediul a N caractere

    Cele mai simple funcții cu care vă puteți confrunta atunci când sunteți pe cale să scoateți date din celulele Google Sheets sunt LEFT, RIGHT și MID. Acestea obțin orice date în funcție de poziție.

    Extragerea datelor de la începutul celulelor din Google Sheets

    Puteți extrage cu ușurință primele N caractere folosind funcția LEFT:

    LEFT(string,[număr_de_caractere])
    • șir de caractere este textul din care doriți să extrageți datele.
    • număr_de_caractere este numărul de caractere care trebuie scoase începând din stânga.

    Iată cel mai simplu exemplu: să eliminăm codurile de țară din numerele de telefon:

    După cum puteți vedea, codurile de țară au 6 simboluri la începutul celulelor, astfel încât formula de care aveți nevoie este:

    =LEFT(A2,6)

    Sfat. ArrayFormula va face posibilă obținerea simultană a 6 caractere din întregul interval:

    =ArrayFormula(LEFT(A2:A7,6))

    Extragerea datelor de la sfârșitul celulelor din Google Sheets

    Pentru a extrage ultimele N caractere din celule, utilizați în schimb funcția RIGHT:

    RIGHT(string,[număr_de_caractere])
    • șir de caractere este încă textul (sau o referință de celulă) din care se extrag datele.
    • număr_de_caractere este, de asemenea, numărul de caractere care trebuie luate din dreapta.

    Să obținem numele țărilor din aceleași numere de telefon:

    Ei au nevoie de doar 2 caractere și asta este exact ceea ce am menționat în formulă:

    =RIGHT(A2,2)

    Sfat. ArrayFormula vă va ajuta, de asemenea, să extrageți date de la sfârșitul tuturor celulelor din Google Sheets deodată:

    =ArrayFormula(RIGHT(A2:A7,2))

    Extragerea datelor din mijlocul celulelor din Google Sheets

    Dacă există funcții pentru a extrage date de la începutul și sfârșitul celulelor, trebuie să existe o funcție care să extragă date și din mijloc. Și da, există una.

    Se numește MID:

    MID(string, starting_at, extract_length)
    • șir de caractere - textul din care doriți să scoateți partea din mijloc.
    • starting_at - poziția caracterului de la care doriți să începeți să obțineți datele.
    • extract_length - numărul de caractere pe care trebuie să le scoateți.

    În exemplul acelorași numere de telefon, să găsim numerele de telefon în sine, fără codurile de țară și abrevierea țării:

    Deoarece codurile de țară se termină cu al 6-lea caracter, iar al 7-lea este liniuța, voi extrage numerele începând cu a 8-a cifră. Și voi obține 8 cifre în total:

    =MID(A2,8,8,8)

    Sfat. Schimbând o celulă în întregul interval și înfășurând-o în ArrayFormula, veți obține rezultatul pentru fiecare celulă în parte:

    =ArrayFormula(MID(A2:A7,8,8))

    Extrageți text/numere din șiruri de caractere

    Uneori, extragerea textului în funcție de poziție (așa cum se arată mai sus) nu este o opțiune. Șirurile de caractere necesare pot să se afle în orice parte a celulelor dvs. și să fie formate dintr-un număr diferit de caractere, ceea ce vă obligă să creați formule diferite pentru fiecare celulă.

    Dar Google Sheets nu ar fi Google Sheets dacă nu ar avea și alte funcții care să ajute la extragerea textului din șiruri de caractere.

    Să trecem în revistă câteva modalități posibile pe care le oferă foile de calcul.

    Extrageți datele înainte de un anumit text - LEFT+SEARCH

    Ori de câte ori doriți să extrageți date care preced un anumit text, utilizați LEFT + SEARCH:

    • STÂNGA este utilizat pentru a returna un anumit număr de caractere de la începutul celulelor (din stânga lor).
    • CĂUTARE caută anumite caractere/șiruri de caractere și obține poziția acestora.

    Combinați aceste - și LEFT va returna numărul de caractere sugerat de SEARCH.

    Iată un exemplu: cum se extrag codurile textuale înainte de fiecare "ea"?

    Aceasta este formula care vă va ajuta în cazuri similare:

    =LEFT(A2,SEARCH("ea",A2)-1)

    Iată ce se întâmplă în formulă:

    1. SEARCH("ea",A2) caută "ea" în A2 și returnează poziția în care începe acel "ea" pentru fiecare celulă - 10.
    2. Așadar, poziția a 10-a este cea în care se află "e". Dar, deoarece vreau ca totul să se afle chiar înainte de "ea", trebuie să scad 1 din această poziție. În caz contrar, va fi returnat și "e". Deci, în cele din urmă obțin 9.
    3. STÂNGA se uită la A2 și obține primele 9 caractere.

    Extragerea datelor după text

    Există, de asemenea, mijloace de a obține tot ce se află după un anumit șir de text. Dar, de data aceasta, RIGHT nu va fi de ajutor. În schimb, REGEXREPLACE își face apariția.

    Sfat: REGEXREPLACE utilizează expresii regulate. Dacă nu sunteți pregătit să le folosiți, există o soluție mult mai simplă, descrisă mai jos. REGEXREPLACE(text, regular_expression, replacement)

    • text este un șir de caractere sau o celulă în care doriți să faceți modificări
    • expresie_regulată este combinația de caractere care reprezintă o parte a textului pe care îl căutați.
    • înlocuire este ceea ce doriți să obțineți în loc de acel text

    Deci, cum îl utilizați pentru a extrage date după un anumit text - "ea" în exemplul meu?

    Ușor - folosind această formulă:

    =REGEXREPLACE(A2,"(.*)ea(.*)","$2")

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

    1. A2 este o celulă din care extrag datele.
    2. "(.*)ea(.*)" este expresia mea regulată (sau o puteți numi o mască). Caut "ea" și pun toate celelalte caractere între paranteze. Există două grupuri de caractere - tot ceea ce este înainte de "ea" este primul grup (.*) și tot ceea ce este după "ea" este al doilea (.*). Întreaga mască în sine este pusă între ghilimele duble.
    3. "$2" este ceea ce vreau să obțin - al doilea grup (de unde și numărul 2) din argumentul anterior.

    Sfat. Toate caracterele utilizate în expresiile regulate sunt colectate pe această pagină specială.

    Extrageți numere din celulele Google Sheets

    Ce se întâmplă dacă doriți să extrageți doar numere atunci când poziția lor și tot ceea ce este înainte de & după nu contează?

    Măștile (a.k.a. expresii regulate) vor fi de asemenea de ajutor. De fapt, voi lua aceeași funcție REGEXREPLACE și voi schimba expresia regulată:

    =REGEXREPLACE(A2,"[^[:digit:]]]", "")

    1. A2 este o celulă din care vreau să obțin aceste numere.
    2. "[^[:digit:]]" este o expresie regulată care acceptă totul, cu excepția cifrelor. Simbolul ^caret face o excepție pentru cifre.
    3. "" înlocuiește totul, cu excepția caracterelor numerice, cu "nimic". Sau, cu alte cuvinte, le elimină în întregime, lăsând doar numere în celule. Sau, extrage numere :)

    Extrageți textul ignorând numerele și alte caractere

    Într-un mod similar, puteți scoate numai date alfabetice din celulele Google Sheets. Contracția pentru expresia regulată care reprezintă textul se numește în mod corespunzător - alpha:

    =REGEXREPLACE(A2,"[^[:alpha:]]", "")

    Această formulă ia totul în afară de litere (A-Z, a-z) și le înlocuiește literalmente cu "nimic". Sau, altfel spus, elimină doar literele.

    Modalități fără formule de extragere a datelor din celulele Google Sheets

    Dacă sunteți în căutarea unei modalități simple, fără formule, de a extrage diferite tipuri de date, ați ajuns la locul potrivit. Modul nostru suplimentar Power Tools are exact instrumentele necesare.

    Extrageți diferite tipuri de date utilizând suplimentele Power Tools

    Prima unealtă pe care aș vrea să o cunoști se numește Extract. Aceasta face exact ceea ce ai venit să cauți în acest articol - extrage diferite tipuri de date din celulele Google Sheets.

    Setări ușor de utilizat

    Toate cazurile pe care le-am acoperit mai sus nu pot fi rezolvate doar cu ajutorul suplimentului. Instrumentul este ușor de utilizat astfel încât tot ce trebuie să faceți este să selectați intervalul pe care doriți să îl procesați și să bifați căsuțele de control necesare. Fără formule, fără expresii regulate.

    Vă amintiți al doilea punct al acestui articol cu REGEXREPLACE și expresiile regulate? Iată cât de simplu este pentru add-on:

    Extraopțiuni

    După cum puteți vedea, există câteva opțiuni suplimentare (doar căsuțe de bifat) pe care le puteți porniți/opriți rapid pentru a obține un rezultat cât mai precis:

    1. Obține numai șirurile de caractere ale textului cerut.
    2. Scoateți toate ocurențele din fiecare celulă și plasați-le într-o singură celulă sau în coloane separate.
    3. Introduceți o nouă coloană cu rezultatul în dreapta datelor sursă.
    4. Șterge textul extras din datele sursă.

    Extragerea diferitelor tipuri de date

    Power Tools nu numai că extrage date înainte/după/între anumite șiruri de text și primele/ultimele N caractere, dar extrage și următoarele:

    1. Numerele împreună cu zecimalele lor, păstrând intactă separarea zecimale/mii:

  • N caractere începând de la o anumită poziție într-o celulă.
  • Hyperlink-uri (text + link), URL-uri (link), adrese de e-mail.
  • Extrageți orice șir de date de oriunde

    Există, de asemenea, opțiunea de a vă configura propriul model exact și de a-l utiliza pentru extracție. Extras după mască și caracterele sale wildcard - * și ? - face truc:

    • De exemplu, puteți scoate în evidență tot ce se află între paranteze folosind următoarea mască: (*)
    • Sau obțineți acele SKU-uri care au doar 5 numere în ID-urile lor: SKU?????
    • Sau, așa cum arăt în captura de ecran de mai jos, scoateți totul după fiecare "ea" din fiecare celulă: Nu.

    Extragerea datei și orei din marcajele de timp

    Ca un bonus, există un instrument mai mic care va extrage data și ora din timestamps - se numește Split Date & Time.

    Deși a fost creat pentru a diviza timestamps în primul rând, este perfect capabil să obțină una dintre unitățile dorite în mod individual:

    Pur și simplu selectați una dintre căsuțele de selectare în funcție de ceea ce doriți să extrageți - data sau ora - din marcajele de timp din Google Sheets și apăsați pe Split Unitatea necesară va fi copiată într-o nouă coloană (sau va înlocui datele originale dacă selectați și ultima casetă de selectare):

    Acest instrument face parte, de asemenea, din add-on-ul Power Tools, așa că, odată ce l-ați instalat pentru a obține orice date din celulele Google Sheets, vă acoperă complet. Dacă nu, vă rugăm să lăsați un comentariu și vă vom ajuta :)

    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.