Izdvojite podatke iz Google tablica: određeni tekst iz nizova, URL-ove iz veza i još mnogo toga

  • Podijeli Ovo
Michael Brown

Ovaj sljedeći dio naših operacija s tekstom u proračunskim tablicama posvećen je ekstrakciji. Saznajte načine za izdvajanje različitih podataka — teksta, znakova, brojeva, URL-ova, adresa e-pošte, datuma & vrijeme, itd. — s različitih pozicija u više ćelija Google Sheets odjednom.

    Formule Google Sheets za izdvajanje teksta i brojeva iz nizova

    Formule u Googleu Plahte su sve. Dok neke kombinacije dodaju tekst & brojeve i uklanjaju različite znakove, neki od njih izdvajaju i tekst, brojeve, zasebne znakove, itd.

    Izdvoj podatke po poziciji: prvi/zadnji/srednji N znakova

    Najlakše funkcije za rad kada se spremate da izvadite podatke iz Google Sheets ćelije su LIJEVA, DESNA i SREDINA. Dobijaju bilo koji podatak po poziciji.

    Izvucite podatke s početka ćelija u Google tablicama

    Možete lako izvući prvih N znakova pomoću funkcije LEFT:

    LEFT(string, [broj_karaktera])
    • string je tekst iz kojeg želite izvući podatke.
    • broj_karaktera je broj znakova za uklanjanje počevši s lijeve strane.

    Evo najjednostavnijeg primjera: izvadimo pozivne brojeve država iz brojeva telefona:

    Kao što vidite, zemlja kodovi zauzimaju 6 simbola na početku ćelija, tako da je formula koja vam je potrebna:

    =LEFT(A2,6)

    Savjet. ArrayFormula će omogućiti da se dobije 6 karaktera izcijeli raspon odjednom:

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

    Izvucite podatke s kraja ćelija u Google tablicama

    Da biste izvukli posljednjih N znakova iz ćelija, umjesto toga koristite funkciju DESNO:

    DESNO(niz,[broj_znakova])
    • string je i dalje tekst (ili referenca ćelije) iz kojeg treba izdvojiti podatke.
    • broj_karaktera je također broj znakova koje treba uzeti s desne strane.

    Hajde da dobijemo nazive zemalja sa istih brojeva telefona:

    Oni uzimaju samo 2 znaka i upravo to spominjem u formuli:

    =RIGHT(A2,2)

    Savjet. ArrayFormula će vam također pomoći da izvučete podatke s kraja svih ćelija Google Sheets odjednom:

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

    Izvucite podatke iz sredine ćelija u Google Sheets

    Ako postoje funkcije za izdvajanje podataka s početka i kraja ćelija, mora postojati funkcija za izdvajanje podataka i iz sredine. I da — postoji jedan.

    Zove se MID:

    MID(string, starting_at, extract_length)
    • string — tekst koji želite da izvadite srednji dio od.
    • starting_at — pozicija znaka od kojeg želite početi dobivanje podataka.
    • extract_length — broj znakova koje trebate izvući.

    Na primjeru istih telefonskih brojeva, hajde da pronađemo same brojeve telefona bez njihovih kodova i zemaljaskraćenica:

    Kako se kodovi zemalja završavaju 6. znakom, a 7. je crtica, povući ću brojeve počevši od 8. znamenke. I dobit ću ukupno 8 cifara:

    =MID(A2,8,8)

    Savjet. Promjena jedne ćelije u cijeli raspon i umotavanje u ArrayFormula će vam dati rezultat za svaku ćeliju odjednom:

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

    Izdvoji tekst/brojeve iz nizova

    Ponekad izdvajanje teksta po poziciji (kao što je prikazano gore) nije opcija. Potrebni nizovi mogu se nalaziti u bilo kojem dijelu vaših ćelija i sastojati se od različitog broja znakova koji vas prisiljavaju da kreirate različite formule za svaku ćeliju.

    Ali Google tablice ne bi bile Google tablice da nemaju druge funkcije koje bi pomogle izdvajanju teksta iz nizova.

    Pregledajmo nekoliko mogućih načina na koje tabele nude.

    Izdvojite podatke prije određenog teksta — LIJEVO+PRETRAŽIVANJE

    Kad god želite izdvojiti podatke koji prethode određenom tekstu, koristite LIJEVO + SEARCH:

    • LEFT se koristi za vraćanje određenog broja znakova s ​​početka ćelija (s njihove lijeve strane)
    • SEARCH traži određene znakove/nizove i dobija njihovu poziciju.

    Kombinirajte ovo — i LIJEVO će vratiti broj znakova predloženih od strane SEARCH.

    Evo primjera: kako izvlačite tekstualne kodove prije svakog 'ea'?

    Ovo je formula koja će vam pomoći u sličnimslučajevi:

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

    Evo šta se dešava u formuli:

    1. SEARCH("ea",A2 ) traži 'ea' u A2 i vraća poziciju na kojoj to 'ea' počinje za svaku ćeliju — 10.
    2. Dakle, 10. pozicija je mjesto gdje se nalazi 'e'. Ali pošto želim da sve bude tačno ispred 'ea', moram da oduzmem 1 od te pozicije. U suprotnom, 'e' će također biti vraćeno. Tako da na kraju dobijem 9.
    3. LEVO gleda A2 i dobija prvih 9 znakova.

    Izdvoji podatke nakon teksta

    Tamo su također znači da se sve dobije nakon određenog tekstualnog niza. Ali ovaj put, PRAVO neće pomoći. Umjesto toga, na red dolazi REGEXREPLACE.

    Savjet. REGEXREPLACE koristi regularne izraze. Ako niste spremni da se nosite s njima, postoji mnogo lakše rješenje opisano u nastavku. REGEXREPLACE(tekst, regularni_izraz, zamjena)

    • tekst je niz ili ćelija u kojoj želite napraviti promjene
    • regularni_izraz je kombinacija znakovi koji predstavljaju dio teksta koji tražite
    • zamjena je ono što želite da dobijete umjesto tog teksta

    Dakle, kako ga koristite za izdvajanje podataka nakon određenog teksta — 'ea' u mom primjeru?

    Lako — pomoću ove formule:

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

    Dozvolite mi da objasnim kako ova formula tačno funkcionira:

    1. A2 je ćelija koju izdvajam podaci iz.
    2. "(.*)ea(.*)" je moj redovniizraz (ili to možete nazvati maskom). Tražim 'ea' i stavljam sve ostale znakove u zagrade. Postoje 2 grupe znakova — sve prije 'ea' je prva grupa (.*), a sve poslije 'ea' je druga (.*). Cela maska ​​se stavlja u dvostruke navodnike.
    3. "$2" je ono što želim da dobijem — drugu grupu (otuda njen broj 2) iz prethodnog argumenta.

    Savjet. Svi znakovi koji se koriste u regularnim izrazima prikupljeni su na ovoj posebnoj stranici.

    Izdvoji brojeve iz ćelija Google Sheets

    Šta ako želite izdvojiti samo brojeve kada njihova pozicija i sve što ide prije & poslije nije bitno?

    Maske (aka regularni izrazi) će također pomoći. U stvari, uzet ću istu funkciju REGEXREPLACE i promijeniti regularni izraz:

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

    1. A2 je ćelija iz koje želim da dobijem te brojeve.
    2. "[^[:digit:]]" je regularni izraz koji uzima sve osim cifara. Taj simbol ^caret je ono što čini izuzetak za cifre.
    3. "" zamjenjuje sve osim numeričkih znakova sa "ništa". Ili, drugim riječima, potpuno ga uklanja, ostavljajući samo brojeve u ćelijama. Ili izdvaja brojeve :)

    Izdvoji tekst zanemarujući brojeve i druge znakove

    Na sličan način, možete izvaditi samo abecedne podatke iz ćelija Google Sheets. Kontrakcija za regularni izraz tooznačava tekst se zove u skladu s tim — alpha:

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

    Ova formula uzima sve osim slova (A-Z, a-z) i doslovno je zamjenjuje s "ništa" . Ili, drugačije rečeno, vadi samo slova.

    Načini bez formule za izdvajanje podataka iz ćelija Google Sheets

    Ako tražite jednostavan način bez formule izdvojite različite vrste podataka, došli ste na pravo mjesto. Naš dodatak za Power Tools ima samo alate za taj posao.

    Izvucite različite vrste podataka pomoću dodataka za Power Tools

    Prvi alat za koji bih želio da znate se zove Extract . Radi upravo ono što ste tražili u ovom članku — izdvaja različite vrste podataka iz ćelija Google Sheets.

    Postavke prilagođene korisniku

    Svi slučajevi koje sam pokrio iznad nisu samo rješivo s dodatkom. Alatka je laka za korištenje tako da sve što trebate učiniti je odabrati raspon koji želite obraditi i označiti potrebne kvadratiće. Bez formula, bez regularnih izraza.

    Sjećate li se druge točke ovog članka s REGEXREPLACE i regularnim izrazima? Evo kako je jednostavno za dodatak:

    Dodatne opcije

    Kao što vidite, postoje neke dodatne opcije (samo potvrdni okviri) koje možete brzo uključiti/isključiti da biste dobili najprecizniji rezultat:

    1. Preuzmite samo nizove potrebnih velikih i malih slova.
    2. Izvucite sva pojavljivanja iz svakećelije i smjestite ih u jednu ćeliju ili zasebne stupce.
    3. Umetnite novu kolonu s rezultatom desno od izvornih podataka.
    4. Obrišite ekstrahovani tekst iz izvornih podataka.

    Izdvoj različite tipove podataka

    Ne samo da Power Tools izdvaja podatke prije/poslije/između određenih tekstualnih nizova i prvih/poslednjih N znakova; ali također uklanja sljedeće:

    1. Brojeve zajedno sa njihovim decimalama zadržavajući netaknute separatore decimale/hiljada:

  • N znakova počevši od određene pozicije u ćeliji.
  • Hiperveze (tekst + veza), URL-ovi (link), adrese e-pošte.
  • Izvucite bilo koji niz podataka sa svih strana

    Postoje također opcija za postavljanje vlastitog točnog uzorka i korištenje za ekstrakciju. Izdvoj po maski i njegovim zamjenskim znakovima — * i ? — učinite trik:

    • Na primjer, možete iznijeti sve između zagrada koristeći sljedeću masku: (*)
    • Ili uzmite one SKU-ove koji imaju samo 5 brojeva u svojim ID-ovima: SKU?????
    • Ili, kao što pokazujem na slici ispod, povucite sve iza svakog 'ea' u svakoj ćeliji: ea*

    Izdvoji datum i vrijeme iz vremenskih oznaka

    Kao bonus, postoji manji alat koji će izdvojiti datum i vrijeme iz vremenskih oznaka — zove se Split Date & Vrijeme.

    Iako je stvoren da podijeli vremenske oznake na prvom mjestu, savršeno jemogu dobiti jednu od željenih jedinica pojedinačno:

    Samo označite jedan od potvrdnih okvira ovisno o tome što želite izdvojiti — datum ili vrijeme — iz vremenskih oznaka u Google tablicama i pritisnite Split . Potrebna jedinica će biti kopirana u novu kolonu (ili će zamijeniti originalne podatke ako odaberete i zadnji potvrdni okvir):

    Ovaj alat je također dio dodatak za Power Tools, tako da kada ga instalirate da biste dobili bilo kakve podatke iz ćelija Google Sheets, potpuno ste pokriveni. Ako niste, ostavite komentar i mi ćemo vam pomoći :)

    Michael Brown je posvećen tehnološki entuzijasta sa strašću za pojednostavljenje složenih procesa pomoću softverskih alata. Sa više od decenije iskustva u tehnološkoj industriji, usavršio je svoje vještine u Microsoft Excelu i Outlooku, kao i Google Sheets i Docs. Michaelov blog je posvećen dijeljenju svog znanja i stručnosti s drugima, pružajući jednostavne savjete i tutorijale za poboljšanje produktivnosti i efikasnosti. Bilo da ste iskusni profesionalac ili početnik, Michaelov blog nudi vrijedne uvide i praktične savjete za izvlačenje maksimuma iz ovih osnovnih softverskih alata.