Sadržaj
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:
- SEARCH("ea",A2 ) traži 'ea' u A2 i vraća poziciju na kojoj to 'ea' počinje za svaku ćeliju — 10.
- 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.
- 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:
- A2 je ćelija koju izdvajam podaci iz.
- "(.*)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.
- "$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:]]", "")
- A2 je ćelija iz koje želim da dobijem te brojeve.
- "[^[:digit:]]" je regularni izraz koji uzima sve osim cifara. Taj simbol ^caret je ono što čini izuzetak za cifre.
- "" 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:
- Preuzmite samo nizove potrebnih velikih i malih slova.
- Izvucite sva pojavljivanja iz svakećelije i smjestite ih u jednu ćeliju ili zasebne stupce.
- Umetnite novu kolonu s rezultatom desno od izvornih podataka.
- 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:
- Brojeve zajedno sa njihovim decimalama zadržavajući netaknute separatore decimale/hiljada:
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 :)