Sadržaj
Jednostavan način transformacije niza ili raspona u stupac pomoću funkcije TOCOL.
Mogućnost transponiranja podataka iz stupaca u redove i obrnuto postoji u Excelu već prilično neko vrijeme. Ali pretvaranje niza ćelija u jednu kolonu bio je težak zadatak za razbijanje. Sada se to konačno menja. Microsoft je predstavio novu funkciju, nazvanu TOCOL, koja može izvršiti transformaciju niza u kolonu za tren. Ispod je lista zadataka koje ova nova funkcija može lako riješiti.
Excel funkcija TOCOL
Funkcija TOCOL u Excelu pretvara niz ili raspon ćelija u jednu stupac.
Funkcija uzima tri argumenta, ali je potreban samo prvi.
TOCOL(niz, [ignoriraj], [skeniraj_po_stupac])Gdje:
Niz (obavezno) - niz ili raspon za transformaciju u stupac.
Zanemari (opcionalno) - definira da li će se zanemariti praznine ili/ili greške. Može biti jedna od ovih vrijednosti:
- 0 ili izostavljena (podrazumevano) - zadržati sve vrijednosti
- 1 - zanemariti praznine
- 2 - zanemariti greške
- 3 - zanemari prazna mjesta i greške
Skeniraj_po_koloni (opcionalno) - određuje hoće li se skenirati niz horizontalno ili okomito:
- FALSE ili izostavljeno (podrazumevano) - skeniraj niz po red s lijeva na desno.
- TRUE - skeniraj niz po koloni od vrha do dna.
Savjeti:
- Da konvertujete niz u jedan red, koristite TOROWfunkcija.
- Da izvršite suprotnu transformaciju kolone u niz, koristite ili funkciju WRAPCOLS za premotavanje po stupac ili funkciju WRAPROWS za premotavanje po red.
- Da biste transponirali niz iz horizontalnog u okomito ili obrnuto, tj. promijenite redove u stupce, koristite 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 formula TOCOL za transformaciju raspona u stupac
Formula TOCOL u svom najjednostavnijem obliku zahtijeva samo jedan argument - array . Na primjer, da biste postavili dvodimenzionalni niz koji se sastoji od 3 stupca i 4 reda u jednu kolonu, 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 Excela, rezultat se naziva raspon prosipanja.
Kako ova formula funkcionira:
Tehnički, raspon A2:C5 se prvo pretvara u dvodimenzionalni niz. Obratite pažnju na redove odvojene tačkom i zarezom i stupce razdvojene zarezima:
{"Apple","Banana","Cherry";1,0,3;4,#N/A,6;7,8,9}
Funkcija TOCOL skenira niz s lijeva na desno i transformira ga u jednodimenzionalni vertikalni niz:
{"Apple";"Banana";"Cherry";1;0;3;4;#N/A;6;7;8;9}
Rezultat se stavlja u ćeliju E2, iz koje se prelijeva u ćelije ispod.
Kako koristiti TOCOL funkciju u Excelu - primjeri formule
Da biste bolje razumjelimogućnosti funkcije TOCOL i koje zadatke može pokriti, pogledajmo neke primjere formule.
Transformirajte niz u stupac zanemarujući praznine i greške
Kao što ste možda primijetili u prethodnom primjeru , zadana formula TOCOL zadržava sve vrijednosti iz izvornog niza, uključujući prazne ćelije i greške.
U rezultirajućem nizu, prazne ćelije su predstavljene nulama, što može biti prilično zbunjujuće, posebno ako originalni niz ima 0 vrijednosti. Rješenje je preskočiti praznine . Za ovo, postavite 2. argument na 1:
=TOCOL(A2:C5, 1)
Da ignorirate greške , postavite 2. argument na 2:
=TOCOL(A2:C5, 2)
Da biste isključili i praznine i greške , koristite 3 za argument ignore :
=TOCOL(A2:C5, 3)
Skeniraj niz horizontalno ili okomito
Sa zadanim argumentom scan_by_column (FALSE ili izostavljen), funkcija TOCOL skenira niz horizontalno po red. Za obradu vrijednosti po stupcu, postavite ovaj argument na TRUE ili 1. Na primjer:
=TOCOL(A2:C5, ,TRUE)
Obratite pažnju da su, u oba slučaja, vraćeni nizovi iste veličine, ali su vrijednosti raspoređene drugačijim redosledom.
Kombinirajte više raspona u jedan stupac
Ako imate posla s nekoliko nesusjednih raspona, tada prvo možete kombinirati raspone okomito u jedan niz uz pomoć funkcije VSTACK i zatim koristite TOCOL da transformišete kombinovani niz u kolonu.
Pod pretpostavkom da je prvi raspon A2:C4, a drugi raspon A8:C9, formula poprima ovaj oblik:
=TOCOL(VSTACK(A2:C4, A8:C9))
Ova formula pokazuje zadano ponašanje - čita kombinovane nizove horizontalno slijeva desno kao što je prikazano u koloni E na donjoj slici.
Za čitanje vrijednosti vertikalno od vrha do dna, postavite 3. argument TOCOL-a na TRUE:
=TOCOL(VSTACK(A2:C4, A8:C9), ,TRUE)
Obratite pažnju da u ovom slučaju formula prvo vraća vrijednosti iz kolone A oba niza, zatim iz kolone B i tako dalje. Razlog je taj što TOCOL skenira jedan naslagani niz, a ne originalne pojedinačne opsege.
Ako vaša poslovna logika zahtijeva slaganje originalnih raspona vodoravno, a ne okomito, tada koristite funkciju HSTACK umjesto VSTACK.
Da dodate svaki sljedeći niz desno od prethodnog niza i pročitate kombinovane nizove horizontalno, formula je:
=TOCOL(HSTACK(A2:C4, A8:C10))
Da biste dodali svaki sledeći niz desno od prethodnog niza i skenirali kombinovane nizove okomito, formula je:
=TOCOL(HSTACK(A2:C4, A8:C10), ,TRUE)
Izdvoji jedinstvene vrijednosti iz raspona s više kolona
Excel UNIQUE funkcija može lako pronaći jedinstvene vrijednosti u jednom stupcu ili redu, kao i vratiti jedinstvene redove, ali ne može izdvojiti jedinstvene vrijednosti iz niz sa više kolona. Rješenje je koristiti ga zajedno s TOCOL funkcijom.
Na primjer, da se izvuku sve različite (različite) vrijednosti iz rasponaA2:C7, formula je:
=UNIQUE(TOCOL(A2:C7))
Dodatno, možete umotati gornju formulu u funkciju SORT da uredite vraćeni niz abecednim redom:
=SORT(UNIQUE(TOCOL(A2:C7)))
Kako pretvoriti raspon u stupac u programu Excel 365 - 2010
U verzijama Excela gdje funkcija TOCOL nije podržana, postoji nekoliko alternativnih načina za transformaciju raspona ćelija u stupac. Ova rješenja su prilično zeznuta, ali u svakom slučaju funkcioniraju.
Za čitanje raspona po redu:
INDEX( opseg , QUOTIENT(ROW(A1)-1, COLUMNS( raspon ))+1, MOD(ROW(A1)-1, COLUMNS( opseg ))+1)Za čitanje raspona po stupcu:
INDEX( opseg , MOD(RED(A1)-1, REDOVI( opseg ))+1, KVOTIENT(RED(A1)-1, REDOVI( opseg ))+1 )Za naš skup podataka uzorka, formule su sljedeće:
Za skeniranje raspona horizontalno s lijeva na desno :
=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 formula je ekvivalentna funkciji TOCOL sa 3. argumentom postavljenim na FALSE ili izostavljenim:
=TOCOL(A2:C5)
Za skeniranje raspona vertikalno od vrha do dna :
=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 formula je uporediva sa funkcijom TOCOL sa 3. 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 prikažu rezultati. U našem slučaju, formule idu u ćelije E2 (po redu) i G2 (po koloni), a zatim se kopiraju dole u red 13.
Ako se formule kopiraju u više redova nego što je potrebno, a#REF! greška će se pojaviti u "dodatnim" ćelijama. Da biste spriječili da se to dogodi, možete ugnijezditi formule u funkciju IFERROR na sljedeći način:
=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 ispravno kopiranje formula zaključavamo raspon koristeći apsolutne reference ćelije ($ A$2:$C$5). Umjesto toga, možete koristiti imenovani raspon.
Kako funkcioniraju ove formule
U nastavku je detaljna analiza prve formule koja raspoređuje ćelije po redovima:
=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 osnovu njenih relativnih brojeva redova i stupaca u rasponu.
broj reda se izračunava ovom kombinacijom :
QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1
QUOTIENT vraća cijeli broj dijeljenja.
Za brojivac , 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).
Imenilac imenilac iznosi COLUMNS($A $2:$C$5)) je konstantan i jednak je broju kolona u vašem rasponu (3 u našem slučaju).
Sada, ako provjerite rezultat KVOTIENTA za prve 3 ćelije (E2:E4) , vidjet ćete da je jednako 0 (jer je cijeli broj dijeljenja nula). Dodavanje 1 daje red broj 1.
Za sljedeće 3 ćelije (E5:E5), QUOTIENT vraća 1, a operacija +1 daje red broj 2. I tako dalje.
Drugim riječima, ovaj dio formule stvara ponavljanjeniz brojeva kao što su 1,1,1,2,2,2,3,3,3,4,4,4,… Svaki broj se ponavlja onoliko puta koliko ima kolona u vašem rasponu.
Za izračunajte broj kolone , gradite odgovarajući niz brojeva koristeći MOD funkciju:
MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1
Pošto postoje 3 kolone u našem rasponu (A2:C5), sekvenca mora biti 1,2,3,1,2,3,…
Funkcija MOD vraća ostatak nakon dijeljenja.
U E2, MOD(ROW(A1)-1, COLUMNS ($A$2:$C$5))+1)
postaje
MOD(1-1, 3)+1)
i vraća 1.
U E3, MOD(RED(A2)-1, KOLONE($A$2:$C$5))+1)
postaje
MOD(2-1, 3) +1)
i vraća 2.
Sa uspostavljenim brojevima redova i stupaca, INDEX nema problema s dohvaćanjem tražene vrijednosti.
U E2, INDEX($A$2 :$C$5, 1, 1) vraća vrijednost iz 1. retka i 1. kolone referentnog raspona, tj. iz ćelije A2.
U E3, INDEX($A$2:$C$5, 1 , 2) vraća vrijednost iz 1. retka i 2. kolone, tj. iz ćelije B2.
I tako dalje.
Druga formula koja skenira raspon po c olumn, radi na sličan način. Razlika je u tome što koristi MOD da dobije broj reda i QUOTIENT da dobije broj kolone.
Funkcija TOCOL ne radi
Ako funkcija TOCOL daje grešku, najvjerovatnije je da je jedan od ovih razloga:
TOCOL nije podržan u vašem Excelu
Kada dobijete #NAME? greška, ispravan pravopis imena funkcije je prva stvarprovjeriti. Ako je ime ispravno, ali greška i dalje postoji, funkcija nije dostupna u vašoj verziji programa Excel. U ovom slučaju razmislite o korištenju alternative TOCOL-a.
Niz je prevelik
Greška #NUM ukazuje da se niz ne može uklopiti u kolonu. Tipičan slučaj je kada se pozivate na cijele stupce ili redove.
Nema dovoljno praznih ćelija
Kada dođe do #SPILL greške, provjerite da li je stupac u koji je unesena formula ima dovoljno praznih ćelija da se popuni rezultatima. Ako su ćelije vizualno prazne, uvjerite se da u njima nema razmaka i drugih znakova koji se ne ispisuju. Za više informacija pogledajte Kako ispraviti grešku #SPILL u Excelu.
Tako možete koristiti funkciju TOCOL u programu Excel 365 i alternativna rješenja u ranijim verzijama da transformirate 2-dimenzionalni niz u jednu kolonu. Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeće sedmice!
Radna sveska za vježbanje
Excel funkcija TOCOL - primjeri formule (.xlsx datoteka)