Sadržaj
Udžbenik pokazuje kako koristiti potpuno novu funkciju TEXTSPLIT za dijeljenje nizova u programu Excel 365 pomoću bilo kojeg graničnika koji navedete.
Mogu postojati razne situacije kada trebate podijeliti ćelije u Excelu. U ranijim verzijama već smo bili opremljeni nizom instrumenata za izvršavanje zadatka kao što su Text to Columns i Fill Flash. Sada imamo i posebnu funkciju za to, TEXTSPLIT, koja može razdvojiti niz u više ćelija kroz stupce i/ili retke na temelju parametara koje navedete.
Excelova funkcija TEXTSPLIT
Funkcija TEXTSPLIT u Excelu dijeli tekstualne nizove zadanim graničnikom između stupaca i/ili redaka. Rezultat je dinamički niz koji se automatski prelijeva u više ćelija.
Funkcija uzima čak 6 argumenata, od kojih su samo prva dva obavezna.
TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])text (obavezno) - tekst za razdvajanje. Može se dostaviti kao niz ili referenca na ćeliju.
col_delimiter (obavezno) - znak(ovi) koji označava gdje treba podijeliti tekst po stupcima. Ako je izostavljen, row_delimiter mora biti definiran.
row_delimiter (neobavezno) - znak(ovi) koji označava gdje treba podijeliti tekst u retke.
ignore_empty (neobavezno) - određuje hoće li se zanemariti prazne vrijednosti ili ne:
- FALSE (zadano) -stvori prazne ćelije za uzastopne graničnike bez vrijednosti između.
- TRUE - zanemari prazne vrijednosti, tj. ne stvaraj prazne ćelije za dva ili više uzastopnih graničnika.
match_mode (neobavezno) - određuje osjetljivost na velika i mala slova za razdjelnik. Omogućeno prema zadanim postavkama.
- 0 (zadano) - osjetljivo na velika i mala slova
- 1 - neosjetljivo na velika i mala slova
pad_with (izborno ) - vrijednost koja se koristi umjesto vrijednosti koje nedostaju u dvodimenzionalnim nizovima. Zadana pogreška je #N/A.
Na primjer, za dijeljenje tekstualnog niza u A2 u više ćelija koristeći zarez i razmak kao razdjelnik, formula je:
=TEXTSPLIT(A2, ", ")
Dostupnost TEXTSPLIT
Funkcija TEXTSPLIT dostupna je samo u Excelu za Microsoft 365 (Windows i Mac) i Excelu za web.
Savjeti:
- U verzijama programa Excel u kojima funkcija TEXTSPLIT nije dostupna (osim Excel 365), možete koristiti čarobnjaka Text to Columns za razdvajanje ćelija.
- Za izvođenje obrnutog zadatka, tj. za spajanje sadržaja više ćelija u jednu pomoću određenog graničnika, TEXTJOIN je funkcija koju treba koristiti.
Osnovna formula TEXTSPLIT za dijeljenje ćelije u Excelu
Za početak, pogledajmo kako koristiti TEXTSPLIT formula u najjednostavnijem obliku za dijeljenje tekstualnog niza pomoću određenog graničnika.
Podijeli ćeliju vodoravno preko stupaca
Da biste podijelili sadržaj dane ćelije u više stupaca, unesitereferenca na ćeliju koja sadrži izvorni niz za prvi ( text ) argument i graničnik koji označava točku gdje bi se trebalo dogoditi razdvajanje za drugi ( col_delimiter ) argument.
Na primjer, za vodoravno odvajanje niza u A2 zarezom, formula je:
=TEXTSPLIT(A2, ",")
Za razdjelnik koristimo zarez u dvostrukim navodnicima (",") .
Kao rezultat toga, svaka stavka odvojena zarezom ide u pojedinačni stupac:
Podijelite ćeliju okomito preko redaka
Da biste podijelili tekst u više redaka, treći argument ( row_delimiter ) mjesto je gdje postavljate razdjelnik. Drugi argument ( col_delimiter ) je u ovom slučaju izostavljen.
Na primjer, za odvajanje vrijednosti u A2 u različite retke, formula je:
=TEXTSPLIT(A2, ,",")
Imajte na umu da se u oba slučaja formula unosi samo u jednu ćeliju (C2). U susjednim ćelijama vraćene vrijednosti automatski se prelijevaju. Rezultirajući niz (koji se naziva raspon izlijevanja) označen je plavim rubom koji pokazuje da je sve unutar njega izračunato formulom u gornjoj lijevoj ćeliji.
Podijeli tekst po podnizu
U u mnogim su slučajevima vrijednosti u izvornom nizu odvojene nizom znakova, tipičan primjer su zarez i razmak. Za rješavanje ovog scenarija upotrijebite podniz za razdjelnik.
Na primjer, da odvojite tekst u A2 u više stupacazarezom i razmakom, koristite niz ", " za col_delimiter .
=TEXTSPLIT(A2, ", ")
Ova formula ide na B2, a zatim je kopirate dolje kroz onoliko stanice po potrebi.
Podijeli niz u stupce i retke odjednom
Da biste podijelili tekstualni niz u retke i stupce odjednom, definirajte oba graničnika u svojoj formuli TEXTSPLIT.
Na primjer, za dijeljenje tekstualnog niza u A2 na stupce i retke, isporučujemo:
- Znak jednakosti ("=") za col_delimiter
- Zarez i razmak (", ") za row_delimiter
Kompletna formula ima ovaj oblik:
=TEXTSPLIT(A2, "=", ", ")
Rezultat je 2-D niz koji se sastoji od 2 stupca i 3 retka:
Razdvojite ćelije višestrukim graničnicima
Za rukovanje višestrukim ili nedosljednim graničnicima u izvornom nizu, koristite konstantu niza kao {"x","y" ,"z"} za argument razdjelnika.
Na snimci zaslona u nastavku, tekst u A2 odijeljen je zarezima (",") i točkom i zarezom (";") sa i bez razmaka. Za okomito dijeljenje niza u retke pomoću sve 4 varijante graničnika, formula je:
=TEXTSPLIT(A2, , {",",", ",";","; "})
Ili, možete uključiti samo zarez (",") i točku-zarez ("; ") u nizu, a zatim uklonite dodatne razmake uz pomoć funkcije TRIM:
=TRIM(TEXTSPLIT(A2, , {",",";"}))
Razdijeli tekst ignorirajući prazne vrijednosti
Ako niz sadrži dva ili više uzastopnih graničnika bez vrijednosti između njih, možete odabrati želite li zanemariti takve praznevrijednosti ili ne. Ovo ponašanje je kontrolirano četvrtim parametrom ignore_empty , čija je zadana vrijednost FALSE.
Prema zadanim postavkama, funkcija TEXTSPLIT ne zanemaruje prazne vrijednosti. Zadano ponašanje dobro funkcionira za strukturirane podatke kao u primjeru u nastavku.
U ovoj oglednoj tablici nedostaju rezultati u nekim nizovima. Formula TEXTSPLIT s izostavljenim ili postavljenim na FALSE argumentom ignore_empty savršeno obrađuje ovaj slučaj, stvarajući praznu ćeliju za svaku praznu vrijednost.
=TEXTSPLIT(A2, ", ")
Ili
=TEXTSPLIT(A2, ", ", FALSE)
Kao rezultat, sve se vrijednosti pojavljuju u odgovarajućim stupcima.
U slučaju da vaši nizovi sadrže homogene podatke, moglo bi biti opravdano zanemariti prazne vrijednosti. U tu svrhu postavite argument ignore_empty na TRUE ili 1.
Na primjer, za dijeljenje nizova u nastavku postavljajući svaku vještinu u zasebnu ćeliju bez praznina, formula je:
=TEXTSPLIT(A2, ", ", ,TRUE)
U ovom slučaju, vrijednosti koje nedostaju između uzastopnih graničnika potpuno se zanemaruju:
Razdvajanje ćelija osjetljivo na velika i mala slova ili neosjetljivo na velika i mala slova
Za kontrolu velikih i malih slova- osjetljivost razdjelnika, upotrijebite peti argument, match_mode .
Prema zadanim postavkama, match_mode je postavljen na 0, čineći TEXTSPLIT osjetljivim na velika i mala slova .
U ovom primjeru, brojevi su odvojeni malim slovima "x" i velikim slovima "X".
Formula sa zadanom osjetljivošću na velika i mala slova prihvaća samo mala slova "x" " kaograničnik:
=TEXTSPLIT(A2, " x ")
Molimo obratite pozornost da graničnik ima razmak s obje strane slova " x " kako bi se spriječili razmaci na početku i na kraju u rezultatima.
Da biste isključili osjetljivost na velika i mala slova, navedite 1 za match_mode kako biste prisilili formulu TEXTSPLIT da zanemari velika i mala slova:
=TEXTSPLIT(A2, " x ", , ,1)
Sada, sve nizovi su ispravno podijeljeni bilo kojim od graničnika:
Dopuni vrijednosti koje nedostaju u 2D nizu
Posljednji argument funkcije TEXTSPLIT, pad_with , dobro dolazi u slučaju da jedan ili više vrijednosti nedostaje u izvornom nizu. Kada se takav niz podijeli na stupce i retke, Excel prema zadanim postavkama vraća pogreške #N/A umjesto vrijednosti koje nedostaju kako ne bi kvario strukturu dvodimenzionalnog niza.
U nizu ispod, nema "=" ( col_delimiter ) nakon "Score". Kako bi zadržao cjelovitost rezultirajućeg niza, TEXTSPLIT ispisuje #N/A pored "Score".
Kako biste rezultat učinili lakšim za korištenje, pogrešku #N/A možete zamijeniti bilo kojom vrijednošću koju želite. Jednostavno upišite željenu vrijednost u argument pad_with .
U našem slučaju to može biti crtica ("-"):
=TEXTSPLIT(A2, "=", ", ", , ,"-")
Ili prazan niz (""):
=TEXTSPLIT(A2, "=", ", ", , ,"")
Sada kada ste naučili praktičnu upotrebu svakog argumenta funkcije TEXTSPLIT, razgovarajmo o nekoliko naprednih primjera koji vam mogu pomoći nosite se s ne-trivijalnim izazovima u svojim proračunskim tablicama programa Excel.
Podijelite datumena dan, mjesec i godinu
Da biste podijelili datum u pojedinačne jedinice, prvo morate pretvoriti datum u tekst jer funkcija TEXTSPLIT radi s tekstualnim nizovima dok su Excel datumi brojevi.
Najlakši način pretvaranja numeričke vrijednosti u tekst je pomoću funkcije TEXT. Samo pripazite da navedete odgovarajući kod formata za svoj datum.
U našem slučaju, formula je:
=TEXT(A2, "m/d/yyyy")
Sljedeći korak je ugniježđivanje gornje funkcije u 1. argument od TEXTSPLIT i unesite odgovarajući graničnik za 2. ili 3. argument, ovisno o tome dijelite li na stupce ili retke. U ovom primjeru, jedinice datuma razgraničene su kosim crtama, pa koristimo "/" za argument col_delimiter :
=TEXTSPLIT(TEXT(A2, "m/d/yyyy"), "/")
Razdvoj ćelije i ukloni određene znakove
Zamislite ovo: podijelili ste dugačak niz na dijelove, ali rezultirajući niz i dalje sadrži neke neželjene znakove, kao što su zagrade na snimci zaslona u nastavku:
=TEXTSPLIT(A2, " ", "; ")
Za uklanjanje izvan otvarajućih i zatvarajućih zagrada istovremeno, ugniježdite dvije funkcije SUBSTITUTE jednu u drugu (svaka zamjenjuje jednu zagradu praznim nizom) i koristite formulu TEXTSPLIT za tekst argument unutarnje SUBSTITUTE:
=SUBSTITUTE(SUBSTITUTE(TEXTSPLIT(A2, " ", "; "), "(", ""), ")", "")
Savjet. Ako konačni niz sadrži previše dodatnih znakova, možete ih očistiti pomoću jedne od metoda opisanih u ovom članku: Kako ukloniti neželjene znakove u Excelu.
Razdvojite nizove preskačući određene vrijednosti
Pretpostavimo da želite odvojiti nizove ispod u 4 stupca: Ime , Prezime , Ocjena i Rezultat . Problem je što neki nizovi sadrže naslov "Mr." ili "Ms.", zbog čega su svi rezultati pogrešni:
Rješenje nije očito, ali vrlo jednostavno :)
Osim postojećih graničnika, a to su razmak (" ") te zarezom i razmakom (", "), uključujete nizove "Mr. " i "Ms. " u konstantu polja col_delimiter , tako da funkcija koristi same naslove za odvajanje tekst. Da biste zanemarili prazne vrijednosti, postavite argument ignore_empty na TRUE.
=TEXTSPLIT(A2, {" ",", ","Mr. ","Ms. "}, ,TRUE)
Sada su rezultati apsolutno savršeni!
Alternative TEXTSPLIT
U verzijama programa Excel gdje funkcija TEXTSPLIT nije podržana, nizove možete podijeliti pomoću različitih kombinacija funkcije SEARCH/FIND s LIJEVO, DESNO i SREDINO. Konkretno:
- SEARCH neosjetljivo na velika i mala slova ili FIND osjetljivo na mala i mala slova određuje položaj razdjelnika unutar niza, a
- funkcije LIJEVO, DESNO i SREDINO izdvajaju podniz prije , iza ili između dvije instance graničnika.
U našem slučaju, za dijeljenje vrijednosti odvojenih zarezom i razmakom , formule idu kako slijedi.
Za izdvajanje imena:
=LEFT(A2, SEARCH(",", A2, 1) -1)
Za izvlačenje rezultata:
=MID(A2, SEARCH(",", A2) + 2, SEARCH(",", A2, SEARCH(",",A2)+1) - SEARCH(",", A2) - 2)
Za dobivanjerezultat:
=RIGHT(A2, LEN(A2) - SEARCH(",", A2, SEARCH(",", A2) + 1)-1)
Za detaljno objašnjenje logike formula, pogledajte Kako podijeliti nizove prema znaku ili maski.
Imajte na umu da za razliku od dinamičkog niza Funkcija TEXTSPLIT, ove formule slijede tradicionalni pristup jedna formula-jedna ćelija. Formulu unesete u prvu ćeliju, a zatim je povučete niz stupac da biste je kopirali u donje ćelije.
Snimak zaslona u nastavku prikazuje rezultate:
Evo kako podijeliti ćelije u programu Excel 365 korištenjem TEXTSPLIT-a ili alternativnih rješenja u ranijim verzijama. Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeći tjedan!
Radna bilježnica za preuzimanje
Funkcija TEXTSPLIT za dijeljenje nizova – primjeri formula (.xlsx datoteka)