Sadržaj
Jednostavan način transformacije niza ili raspona u stupac s funkcijom TOCOL.
Mogućnost prijenosa podataka iz stupaca u retke i obrnuto postoji u Excelu već prilično dugo trenutak. Ali pretvaranje raspona ćelija u jedan stupac bio je težak zadatak za probijanje. Sada se to konačno mijenja. Microsoft je predstavio novu funkciju, nazvanu TOCOL, koja može izvršiti transformaciju polja u stupac u tren oka. Ispod je popis zadataka koje ova nova funkcija može lako riješiti.
Excel TOCOL funkcija
TOCOL funkcija u Excelu pretvara niz ili raspon ćelija u jednu stupac.
Funkcija uzima tri argumenta, ali samo je prvi potreban.
TOCOL(niz, [ignoriraj], [skeniraj_po_stupcu])Gdje:
Niz (obavezno) - niz ili raspon koji se transformira u stupac.
Zanemari (neobavezno) - definira hoće li se zanemariti praznine i/ili pogreške. Može biti jedna od ovih vrijednosti:
- 0 ili izostavljeno (zadano) - zadržati sve vrijednosti
- 1 - zanemariti praznine
- 2 - zanemariti pogreške
- 3 - zanemari praznine i pogreške
Skeniraj_po_stupcu (neobavezno) - određuje hoće li skenirati niz horizontalno ili okomito:
- FALSE ili izostavljeno (zadano) - skeniraj niz po retku slijeva na desno.
- TRUE - skeniraj niz po stupcu od vrha prema dolje.
Savjeti:
- Za pretvaranje niza u jedan red, koristite TOROWfunkciju.
- Da biste izvršili suprotnu transformaciju stupca u polje, upotrijebite funkciju WRAPCOLS za prelamanje po stupcu ili funkciju WRAPROWS za prelamanje po retku.
- Da biste prenijeli niz iz horizontalnog u okomito ili obrnuto, tj. promijenite retke u stupce, upotrijebite funkciju TRANSPOSE.
Dostupnost TOCOL-a
TOCOL je nova funkcija koja je podržana u Excelu za Microsoft 365 (za Windows i Mac) i Excel za web.
Osnovna TOCOL formula za pretvaranje raspona u stupac
TOCOL formula u svom najjednostavnijem obliku zahtijeva samo jedan argument - niz . Na primjer, za postavljanje dvodimenzionalnog niza koji se sastoji od 3 stupca i 4 retka u jedan stupac, formula je:
=TOCOL(A2:C5)
Formula se unosi samo u jednu ćeliju (E2 u ovaj primjer) i automatski se prelijeva u donje ćelije. U smislu programa Excel, rezultat se naziva raspon izlijevanja.
Kako ova formula funkcionira:
Tehnički, raspon A2:C5 prvo se pretvara u dvodimenzionalni niz. Obratite pažnju na retke odvojene točkom-zarezom i stupce odvojene zarezima:
{"Apple","Banana","Cherry";1,0,3;4,#N/A,6;7,8,9}
Funkcija TOCOL skenira niz slijeva nadesno i pretvara ga u jednodimenzionalni okomiti niz:
{"Apple";"Banana";"Cherry";1;0;3;4;#N/A;6;7;8;9}
Rezultat se postavlja u ćeliju E2, iz koje se prelijeva u donje ćelije.
Kako koristiti funkciju TOCOL u Excelu - primjeri formula
Da biste bolje razumjelimogućnosti funkcije TOCOL i koje zadatke može pokriti, pogledajmo neke primjere formula.
Pretvori niz u stupac zanemarujući praznine i pogreške
Kao što ste mogli primijetiti u prethodnom primjeru , zadana formula TOCOL čuva sve vrijednosti iz izvornog niza, uključujući prazne ćelije i pogreške.
U rezultirajućem nizu, prazne ćelije predstavljene su nulama, što može biti prilično zbunjujuće, pogotovo ako originalni niz ima 0 vrijednosti. Rješenje je preskočiti praznine . Za ovo postavite 2. argument na 1:
=TOCOL(A2:C5, 1)
Da biste ignorirali pogreške , postavite 2. argument na 2:
=TOCOL(A2:C5, 2)
Da biste isključili oboje, praznine i pogreške , upotrijebite 3 za argument ignore :
=TOCOL(A2:C5, 3)
Skeniraj niz vodoravno ili okomito
Sa zadanim argumentom scan_by_column (FALSE ili izostavljen), funkcija TOCOL skenira polje vodoravno po redu. Za obradu vrijednosti po stupcu, postavite ovaj argument na TRUE ili 1. Na primjer:
=TOCOL(A2:C5, ,TRUE)
Primijetite da su u oba slučaja vraćeni nizovi iste veličine, ali su vrijednosti raspoređene drugačijim redoslijedom.
Kombinirajte više raspona u jedan stupac
Ako imate posla s nekoliko raspona koji nisu susjedni, tada možete prvo kombinirati raspone okomito u jedan niz uz pomoć funkcije VSTACK, a zatim zatim koristite TOCOL za transformaciju kombiniranog niza u stupac.
Pod pretpostavkom da je prvi raspon A2:C4, a drugi A8:C9, formula ima ovaj oblik:
=TOCOL(VSTACK(A2:C4, A8:C9))
Ova formula pokazuje zadano ponašanje - čita kombinirane nizove vodoravno slijeva udesno kao što je prikazano u stupcu E na slici ispod.
Za čitanje vrijednosti okomito od vrha prema dolje, postavite 3. argument TOCOL-a na TRUE:
=TOCOL(VSTACK(A2:C4, A8:C9), ,TRUE)
Obratite pozornost da u ovom slučaju formula prvo vraća vrijednosti iz stupca A oba niza, zatim iz stupca B itd. Razlog je taj što TOCOL skenira jedno naslagano polje, a ne izvorne pojedinačne raspone.
Ako vaša poslovna logika zahtijeva slaganje izvornih raspona vodoravno, a ne okomito, tada upotrijebite funkciju HSTACK umjesto VSTACK.
Da biste dodali svaki sljedeći niz s desne strane prethodnog niza i pročitali kombiniranih nizova horizontalno, formula je:
=TOCOL(HSTACK(A2:C4, A8:C10))
Za dodavanje svakog sljedećeg niza desno od prethodnog niza i skeniranje kombiniranih nizova okomito, formula je:
=TOCOL(HSTACK(A2:C4, A8:C10), ,TRUE)
Izdvajanje jedinstvenih vrijednosti iz raspona s više stupaca
Funkcija Excel UNIQUE može lako pronaći jedinstvene vrijednosti u jednom stupcu ili retku, kao i vratiti jedinstvene retke, ali ne može izvući jedinstvene vrijednosti iz niz s više stupaca. Rješenje je koristiti ga zajedno s funkcijom TOCOL.
Na primjer, izdvojiti sve različite (različite) vrijednosti iz rasponaA2:C7, formula je:
=UNIQUE(TOCOL(A2:C7))
Dodatno, gornju formulu možete zamotati u funkciju SORT da biste vraćeni niz rasporedili abecednim redom:
=SORT(UNIQUE(TOCOL(A2:C7)))
Kako pretvoriti raspon u stupac u programu Excel 365 - 2010
U verzijama programa Excel u kojima funkcija TOCOL nije podržana, postoji nekoliko alternativnih načina za pretvaranje raspona ćelija u stupac. Ova su rješenja prilično nezgodna, ali svejedno funkcioniraju.
Za čitanje raspona po redu:
INDEX( range , QUOTIENT(ROW(A1)-1, COLUMNS( raspon ))+1, MOD(RED(A1)-1, COLUMNS( raspon ))+1)Za čitanje raspona po stupcu:
INDEX( raspon , MOD(RED(A1)-1, RETI( raspon ))+1, KVOČNIK(RED(A1)-1, RETI( raspon ))+1 )Za naš uzorak skupa podataka, formule su sljedeće:
Za skeniranje raspona vodoravno slijeva nadesno :
=INDEX($A$2:$C$5, QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1, MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1)
Ova je formula ekvivalentna funkciji TOCOL s trećim argumentom postavljenim na FALSE ili izostavljenim:
=TOCOL(A2:C5)
Za skeniranje raspona okomito od vrha prema dolje :
=INDEX($A$2:$C$5, MOD(ROW(A1)-1, ROWS($A$2:$C$5))+1, QUOTIENT(ROW(A1)-1, ROWS($A$2:$C$5))+1)
Ova je formula usporediva s funkcijom TOCOL s trećim argumentom postavljenim na TRUE:
=TOCOL(A2:C5, ,TRUE)
Za razliku od TOCOL-a, alternativne formule treba unijeti u svaki ćeliju u kojoj želite da se pojave rezultati. U našem slučaju, formule idu u ćelije E2 (po redu) i G2 (po stupcu), a zatim se kopiraju dolje u red 13.
Ako se formule kopiraju u više redaka nego što je potrebno, a#REF! pogreška će se pojaviti u "dodatnim" ćelijama. Kako biste spriječili da se to dogodi, možete ugniježditi formule u funkciju IFERROR ovako:
=IFERROR(INDEX($A$2:$C$5, QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1, MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1), "")
Primijetite da za pravilno kopiranje formula zaključavamo raspon pomoću apsolutnih referenci ćelija ($ A$2:$C$5). Umjesto toga možete koristiti imenovani raspon.
Kako ove formule funkcioniraju
U nastavku je detaljna raščlamba prve formule koja raspoređuje ćelije po retku:
=INDEX($A$2:$C$5, QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1, MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1)
Ideja je koristiti funkciju INDEX za vraćanje vrijednosti određene ćelije na temelju njezinih relativnih brojeva retka i stupca u rasponu.
Broj retka izračunava se ovom kombinacijom :
QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1
QUOTIENT vraća cjelobrojni dio dijeljenja.
Za brojnik koristite ROW(A1)-1, koji vraća serijski broj od 0 u E2 (prva ćelija u koju je unesena formula) do 11 u E13 (posljednja ćelija u koju je unesena formula).
Nazivnik prelazi pomoću COLUMNS($A $2:$C$5)) konstantan je i jednak je broju stupaca u vašem rasponu (3 u našem slučaju).
Sada, ako provjerite rezultat QUOTIENT-a za prve 3 ćelije (E2:E4) , vidjet ćete da je jednak 0 (jer je cjelobrojni dio dijeljenja nula). Dodavanje 1 daje red broj 1.
Za sljedeće 3 ćelije (E5:E5), QUOTIENT vraća 1, a operacija +1 isporučuje red broj 2. I tako dalje.
Drugim riječima, ovaj dio formule stvara ponavljanjeniz brojeva kao što je 1,1,1,2,2,2,3,3,3,4,4,4,… Svaki se broj ponavlja onoliko puta koliko ima stupaca u vašem rasponu.
Za izračunajte broj stupca , gradite odgovarajući niz brojeva koristeći MOD funkciju:
MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1
Kako postoje 3 stupca u našem rasponu (A2:C5), niz mora biti 1,2,3,1,2,3,…
Funkcija MOD vraća ostatak nakon dijeljenja.
U E2, MOD(RED(A1)-1, COLUMNS ($A$2:$C$5))+1)
postaje
MOD(1-1, 3)+1)
i vraća 1.
U E3, MOD(RED(A2)-1, COLUMNS($A$2:$C$5))+1)
postaje
MOD(2-1, 3) +1)
i vraća 2.
S utvrđenim brojevima redaka i stupaca, INDEX nema problema s dohvaćanjem potrebne vrijednosti.
U E2, INDEX($A$2 :$C$5, 1, 1) vraća vrijednost iz 1. retka i 1. stupca referentnog raspona, tj. iz ćelije A2.
U E3, INDEX($A$2:$C$5, 1 , 2) vraća vrijednost iz 1. retka i 2. stupca, tj. iz ćelije B2.
I tako dalje.
Druga formula koja skenira raspon prema c olumn, radi na sličan način. Razlika je u tome što koristi MOD za dobivanje broja retka i QUOTIENT za dobivanje broja stupca.
Funkcija TOCOL ne radi
Ako funkcija TOCOL izbacuje pogrešku, najvjerojatnije je jedan od ovih razloga:
TOCOL nije podržan u vašem Excelu
Kada dobijete #NAME? grešku, prvo što treba učiniti je pravilno napisati naziv funkciječek. Ako je naziv točan, ali pogreška i dalje postoji, funkcija nije dostupna u vašoj verziji programa Excel. U ovom slučaju razmislite o korištenju alternative TOCOL.
Niz je prevelik
Pogreška #NUM označava da niz ne može stati u stupac. Tipičan slučaj je kada se pozivate na cijele stupce ili retke.
Nema dovoljno praznih ćelija
Kada se pojavi pogreška #SPILL, provjerite je li stupac u koji je unesena formula ima dovoljno praznih ćelija koje treba ispuniti rezultatima. Ako su ćelije vizualno prazne, provjerite da u njima nema razmaka i drugih neispisnih znakova. Za više informacija pogledajte Kako popraviti pogrešku #SPILL u programu Excel.
Tako možete koristiti funkciju TOCOL u programu Excel 365 i alternativna rješenja u ranijim verzijama za transformaciju 2-dimenzionalnog polja u jedan stupac. Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeći tjedan!
Radna bilježnica
Excel TOCOL funkcija - primjeri formula (.xlsx datoteka)