Sadržaj
Vodič pokazuje kako koristiti potpuno novu funkciju TEXTSPLIT za podjelu nizova u Excelu 365 pomoću bilo kojeg graničnika koji navedete.
Može postojati različite situacije kada trebate podijeliti ćelije u Excelu. U ranijim verzijama već smo bili opremljeni brojnim instrumentima za postizanje zadatka kao što su Text to Columns i Fill Flash. Sada imamo i posebnu funkciju za ovo, TEXTSPLIT, koja može odvojiti niz u više ćelija u kolonama i/ili redovima na osnovu parametara koje odredite.
Excel funkcija TEXTSPLIT
Funkcija TEXTSPLIT u Excelu dijeli tekstualne nizove prema datom graničniku na stupce i/ili redove. Rezultat je dinamički niz koji se automatski razlijeva u više ćelija.
Funkcija uzima čak 6 argumenata, od kojih su potrebna samo prva dva.
TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])text (obavezno) - tekst za razdvajanje. Može se dostaviti kao string ili referenca na ćeliju.
col_delimiter (obavezno) - znak(i) koji označava gdje treba podijeliti tekst na kolone. Ako se izostavi, row_delimiter mora biti definiran.
row_delimiter (opcionalno) - karakter(i) koji označava gdje treba podijeliti tekst na redove.
ignore_empty (opciono) - određuje da li da se ignorišu prazne vrijednosti ili ne:
- FALSE (zadano) -kreiraj prazne ćelije za uzastopne graničnike bez vrijednosti između.
- TRUE - zanemari prazne vrijednosti, tj. ne kreiraj prazne ćelije za dva ili više uzastopnih graničnika.
match_mode (opciono) - određuje osjetljivost na velika i mala slova za graničnik. Omogućeno prema zadanim postavkama.
- 0 (zadano) - osjetljivo na mala i mala slova
- 1 - bez obzira na velika i mala slova
pad_with (opcionalno ) - vrijednost koja se koristi umjesto vrijednosti koje nedostaju u dvodimenzionalnim nizovima. Zadana je greška #N/A.
Na primjer, da biste podijelili tekstualni niz u A2 na više ćelija koristeći zarez i razmak kao separator, formula je:
=TEXTSPLIT(A2, ", ")
Dostupnost TEXTSPLIT
Funkcija TEXTSPLIT dostupna je samo u programu Excel za Microsoft 365 (Windows i Mac) i Excel za web.
Savjeti:
- U verzijama Excela u kojima funkcija TEXTSPLIT nije dostupna (osim Excel 365), možete koristiti čarobnjaka Text to Columns da podijelite ćelije.
- Da biste izvršili obrnuti zadatak, tj. pridružili sadržaj više ćelija u jednu pomoću određenog graničnika, TEXTJOIN je funkcija koju treba koristiti.
Osnovna formula TEXTSPLIT za podjelu ćelije u Excelu
Za početak, da vidimo kako koristiti TEKSTOVANJE formula u svom najjednostavnijem obliku za podjelu tekstualnog niza određenim graničnikom.
Podijelite ćeliju vodoravno na kolone
Da biste podijelili sadržaj date ćelije u više kolona, unesitereferenca na ćeliju koja sadrži originalni niz za prvi ( tekst ) argument i graničnik koji označava tačku gdje bi trebalo doći do cijepanja za drugi ( col_delimiter ) argument.
Na primjer, da bismo niz u A2 horizontalno odvojili zarezom, formula je:
=TEXTSPLIT(A2, ",")
Za graničnik koristimo zarez zatvoren u dvostruke navodnike (",") .
Kao rezultat, svaka stavka odvojena zarezom ide u zaseban stupac:
Podijelite ćeliju okomito na redove
Da biste podijelili tekst na više redova, treći argument ( row_delimiter ) je mjesto gdje postavljate graničnik. Drugi argument ( col_delimiter ) je u ovom slučaju izostavljen.
Na primjer, da biste odvojili vrijednosti u A2 u različite redove, formula je:
=TEXTSPLIT(A2, ,",")
Napominjemo da se u oba slučaja formula unosi samo u jednu ćeliju (C2). U susjednim ćelijama vraćene vrijednosti se automatski prelijevaju. Rezultirajući niz (koji se naziva raspon prelivanja) je istaknut plavim okvirom koji označava da se sve unutar njega izračunava formulom u gornjoj lijevoj ćeliji.
Podijelite tekst podnizom
U U mnogim slučajevima, vrijednosti u izvornom nizu su odvojene nizom znakova, a tipičan primjer su zarez i razmak. Za rukovanje ovim scenarijem, koristite podniz za graničnik.
Na primjer, da odvojite tekst u A2 u više stupacazarezom i razmakom, koristite string ", " za col_delimiter .
=TEXTSPLIT(A2, ", ")
Ova formula ide u B2, a zatim je kopirate kroz onoliko ćelije po potrebi.
Razdijelite niz na stupce i redove odjednom
Da biste podijelili tekstualni niz na redove i stupce odjednom, definirajte oba graničnika u svojoj formuli TEXTSPLIT.
Na primjer, da podijelite tekstualni niz u A2 na kolone i redove, dostavljamo:
- Znak jednakosti ("=") za col_delimiter
- Zarez i a razmak (", ") za row_delimiter
Kompletna formula ima ovaj oblik:
=TEXTSPLIT(A2, "=", ", ")
Rezultat je 2-D niz koji se sastoji od 2 kolone i 3 reda:
Odvojite ćelije višestrukim graničnicima
Da rukujete višestrukim ili nekonzistentnim graničnicima u izvornom nizu, koristite konstantu niza kao što je {"x","y" ,"z"} za argument graničnika.
Na snimku ekrana ispod, tekst u A2 je razgraničen zarezima (",") i tačkom i zarezom (";") sa i bez razmaka. Da biste string vertikalno podijelili na redove pomoću sve 4 varijacije graničnika, formula je:
=TEXTSPLIT(A2, , {",",", ",";","; "})
Ili možete uključiti samo zarez (",") i tačku-zarez ("; ") u nizu, a zatim uklonite dodatne razmake uz pomoć funkcije TRIM:
=TRIM(TEXTSPLIT(A2, , {",",";"}))
Podijelite tekst zanemarujuć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 kontrolira četvrti parametar ignore_empty , koji je zadana vrijednost FALSE.
Podrazumevano, funkcija TEXTSPLIT ne zanemaruje prazne vrijednosti. Zadano ponašanje dobro funkcionira za strukturirane podatke kao u primjeru ispod.
U ovoj tablici uzorka, rezultati nedostaju u nekim stringovima. Formula TEXTSPLIT s argumentom ignore_empty izostavljenim ili postavljenim na FALSE savršeno obrađuje ovaj slučaj, stvarajući praznu ćeliju za svaku praznu vrijednost.
=TEXTSPLIT(A2, ", ")
Ili
=TEXTSPLIT(A2, ", ", FALSE)
Kao rezultat, sve vrijednosti se pojavljuju u odgovarajućim stupcima.
U slučaju da vaši nizovi sadrže homogene podatke, može biti razumno zanemariti prazne vrijednosti. Za ovo postavite argument ignore_empty na TRUE ili 1.
Na primjer, da biste podijelili nizove ispod, stavljajuć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 se potpuno zanemaruju:
Podjela ćelija osjetljiva na velika ili mala slova
Za kontrolu velikih i malih slova- osjetljivost graničnika, koristite peti argument, match_mode .
Prema zadanim postavkama, match_mode je postavljen na 0, čineći TEXTSPLIT match_mode .
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 ")
Obratite pažnju da graničnik ima razmak sa 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, dostavite 1 za match_mode kako biste prisilili formulu TEXTSPLIT da zanemari velika i mala slova:
=TEXTSPLIT(A2, " x ", , ,1)
Sada, sve stringovi su ispravno podijeljeni bilo kojim graničnikom:
Vrijednosti nedostaju u 2D nizu
Posljednji argument funkcije TEXTSPLIT, pad_with , je koristan u slučaju da jedan ili nedostaje više vrijednosti u izvornom nizu. Kada se takav niz podijeli na kolone i retke, Excel prema zadanim postavkama vraća #N/A greške umjesto vrijednosti koje nedostaju kako ne bi pokvario strukturu dvodimenzionalnog niza.
U donjem nizu, nema "=" ( col_delimiter ) nakon "Score". Da bi zadržao integritet rezultirajućeg niza, TEXTSPLIT ispisuje #N/A pored "Score".
Da bi rezultat bio lakši za korisnika, greš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 bi mogla biti crtica ("-"):
=TEXTSPLIT(A2, "=", ", ", , ,"-")
Ili prazan niz (""):
=TEXTSPLIT(A2, "=", ", ", , ,"")
Sada kada ste naučili praktičnu upotrebu svakog argumenta funkcije TEXTSPLIT, raspravimo nekoliko naprednih primjera koji vam mogu pomoći nosite se s netrivijalnim izazovima u vašim Excel tabelama.
Podijelite datumena dan, mjesec i godinu
Da biste podijelili datum na 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 korištenje funkcije TEXT. Samo budite sigurni da ste naveli odgovarajući kod formata za svoj datum.
U našem slučaju, formula je:
=TEXT(A2, "m/d/yyyy")
Sljedeći korak je ugniježđenje gornje funkcije u 1. argument TEXTSPLIT i unesite odgovarajući graničnik za 2. ili 3. argument, ovisno o tome da li dijelite na kolone ili redove. U ovom primjeru, jedinice datuma su razdvojene kosim crtama, tako da koristimo "/" za argument col_delimiter :
=TEXTSPLIT(TEXT(A2, "m/d/yyyy"), "/")
Podijelite ćelije i uklonite određene znakove
Zamislite ovo: podijelili ste dugačak niz na komade, ali rezultirajući niz i dalje sadrži neke neželjene znakove, kao što su zagrade na snimku ekrana ispod:
=TEXTSPLIT(A2, " ", "; ")
Za skidanje bez otvaranja i zatvaranja zagrada odjednom, ugniježdite dvije funkcije SUBSTITUTE jednu u drugu (svaka zamjenjuje jednu zagradu praznim nizom) i koristite formulu TEXTSPLIT za argument text unutarnjeg 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.
Podijelite nizove preskačući određene vrijednosti
Pretpostavimo da želite razdvojiti nizove ispod u 4 kolone: Ime , Prezime , Score i Rezultat . Problem je što neki nizovi sadrže naslov "Mr." ili "gospođo", zbog čega su svi rezultati pogrešni:
Rješenje nije očigledno već je prilično jednostavno :)
Pored postojećih razgraničavača koji su razmak (" ") i zarez i razmak (", "), uključujete nizove "Mr. " i "Ms. " u konstantu niza col_delimiter , tako da funkcija koristi same naslove da odvoji tekst. Da biste zanemarili prazne vrijednosti, postavite argument ignore_empty na TRUE.
=TEXTSPLIT(A2, {" ",", ","Mr. ","Ms. "}, ,TRUE)
Sada, rezultati su apsolutno savršeni!
Alternative TEXTSPLIT
U verzijama Excela u kojima funkcija TEXTSPLIT nije podržana, možete podijeliti nizove koristeći različite kombinacije funkcije SEARCH / FIND sa LIJEVO, DESNO i SREDINOM. Konkretno:
- SEARCH bez obzira na velika i mala slova ili FIND osjetljiv na velika i mala slova određuju poziciju graničnika unutar niza, a
- Funkcije LEFT, RIGHT i MID izdvajaju podniz prije , nakon ili između dvije instance graničnika.
U našem slučaju, da bismo podijelili vrijednosti odvojene zarezom i razmakom , formule idu na sljedeći način.
Da biste izdvojili ime:
=LEFT(A2, SEARCH(",", A2, 1) -1)
Da biste izvukli rezultat:
=MID(A2, SEARCH(",", A2) + 2, SEARCH(",", A2, SEARCH(",",A2)+1) - SEARCH(",", A2) - 2)
Da biste dobilirezultat:
=RIGHT(A2, LEN(A2) - SEARCH(",", A2, SEARCH(",", A2) + 1)-1)
Za detaljno objašnjenje logike formula, pogledajte Kako podijeliti nizove po karakteru ili maski.
Imajte na umu da za razliku od dinamičkog niza Funkcija TEXTSPLIT, ove formule slijede tradicionalni pristup jedna formula-jedna ćelija. Formulu unosite u prvu ćeliju, a zatim je povlačite niz kolonu da kopirate u donje ćelije.
Snimak ekrana ispod prikazuje rezultate:
Tako dijelite ćelije u 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će sedmice!
Vježbajte radnu svesku za preuzimanje
funkcija TEXTSPLIT za podjelu nizova – primjeri formule (.xlsx datoteka)