Sadržaj
Vodič pokazuje različite načine za prebacivanje redaka u stupce u Excelu: formule, VBA kod i poseban alat.
Transponiranje podataka u Excelu je zadatak poznat mnogim korisnicima. Često pravite složenu tabelu samo da biste shvatili da je savršeno logično da je rotirate radi bolje analize ili prezentacije podataka u grafikonima.
U ovom članku ćete pronaći nekoliko načina za pretvaranje redova u kolone (ili kolone u redove), kako god to nazvali, ista je stvar :) Ova rješenja rade u svim verzijama Excela 2010 do Excel 365, pokrivaju mnoge moguće scenarije i objašnjavaju najčešće greške.
Pretvorite redove u stupce u Excelu koristeći specijalno lijepljenje
Pretpostavimo da imate skup podataka sličan onome što vidite u gornjem dijelu donje grafike. Nazivi zemalja su organizirani u stupce, ali lista zemalja je predugačka, pa je bolje da promijenimo stupce u redove kako bi tabela stala na ekran:
Da biste redove prebacili na stupce, izvršite ove korake:
- Odaberite originalne podatke. Da biste brzo odabrali cijelu tabelu, tj. sve ćelije s podacima u proračunskoj tabeli, pritisnite Ctrl + Home, a zatim Ctrl + Shift + End .
- Kopirajte odabrane ćelije bilo desnim klikom na odabir i odabirom Kopiraj iz kontekstnog izbornika ili pritiskom na Ctrl + C .
- Izaberite prvu ćeliju odredišnog raspona.
Obavezno odaberite ćeliju kojaisprobajte ovaj i 70+ drugih profesionalnih alata za Excel, pozivam vas da preuzmete probnu verziju našeg Ultimate Suite-a. Hvala vam na čitanju i nadam se da se vidimo na našem blogu sljedeće sedmice!
pada izvan raspona koji sadrži vaše originalne podatke, tako da se područja kopiranja i lijepljenja ne preklapaju. Na primjer, ako trenutno imate 4 stupca i 10 redaka, konvertirana tablica će imati 10 stupaca i 4 reda. - Kliknite desnom tipkom miša na odredišnu ćeliju i odaberite Specijalno zalijepi iz kontekstni meni, a zatim odaberite Transpose .
Za više informacija pogledajte Kako koristiti Specijalno lijepljenje u Excelu.
Napomena. Ako vaši izvorni podaci sadrže formule, pazite da pravilno koristite relativne i apsolutne reference ovisno o tome treba li ih prilagoditi ili ostati zaključane za određene ćelije.
Kao što ste upravo vidjeli, funkcija Paste Special vam omogućava da izvedete transformacije reda u kolonu (ili kolone u red) doslovno za nekoliko sekundi. Ova metoda također kopira formatiranje vaših originalnih podataka, što dodaje još jedan argument u njegovu korist.
Međutim, ovaj pristup ima dva nedostatka koji ga sprečavaju da se nazove savršenim rješenjem za transponiranje podaci u Excelu:
- Nije pogodan za rotiranje potpuno funkcionalnih Excel tabela. Ako kopirate cijelu tabelu, a zatim otvorite dijalog Specijalno lijepljenje , vidjet ćete da je opcija Transponiraj onemogućena. U ovom slučaju, trebate ili kopirati tablicu bez zaglavlja stupaca ili je prvo pretvoriti u raspon.
- Specijalno lijepljenje > Transponiraj ne povezuje novi stosa originalnim podacima, tako da je pogodan samo za jednokratne konverzije. Kad god se izvorni podaci promijene, morat ćete ponoviti proces i iznova rotirati tablicu. Niko ne bi želio gubiti vrijeme na mijenjanje istih redova i stupaca iznova i iznova, zar ne?
Kako transponirati tabelu i povezati je s originalnim podacima
Hajde pogledajte kako možete prebaciti redove u stupce koristeći poznatu tehniku Specijalno lijepljenje , ali povežite rezultirajuću tablicu s originalnim skupom podataka. Najbolja stvar kod ovog pristupa je da kad god promijenite podatke u izvornoj tablici, okrenuta tablica će odražavati promjene i ažurirati se u skladu s tim.
- Kopirajte redove koje želite pretvoriti u stupce (ili stupce koje treba promijeniti u redove).
- Odaberite praznu ćeliju na istom ili drugom radnom listu.
- Otvorite dijalog Specijalno lijepljenje , kao što je objašnjeno u prethodnom primjeru i kliknite Zalijepi vezu u donji lijevi ugao:
Imat ćete rezultat sličan ovome:
Ovo će vašu tabelu pretvoriti u nešto pomalo zastrašujuće, kao što vidite na snimku ekrana ispod, ali bez panike,samo još 2 koraka i postići ćete željeni rezultat.
Ovo je malo dugačko, ali elegantno rješenje, zar ne? Jedini nedostatak ovog pristupa je taj što se originalno formatiranje gubi u procesu i morat ćete ga ručno vratiti (pokazaću vam brz način da to učinite dalje u ovom vodiču).
Kako za transponovanje u Excelu pomoću formula
Brži način za dinamičko prebacivanje stupaca u redove u Excelu je korištenje formule TRANSPOSE ili INDEKS/ADRESA. Poput prethodnog primjera, ove formule također zadržavaju veze s originalnim podacima, ali rade malo drugačije.
Promijenite redove u stupce u Excelu pomoću funkcije TRANSPOSE
Kao što joj ime sugerira, funkcija TRANSPOSE je posebno dizajniran za transponiranje podataka u Excelu:
=TRANSPOSE(niz)U ovom primjeru ćemo pretvoriti drugu tabelu koja navodi američke savezne države prema broju stanovnika:
- Izbrojite broj redova i stupaca u vašoj originalnoj tablici i odaberite isti broj praznih ćelija, ali u drugom smjeru.
Na primjer, naša tabela uzorka ima 7 kolona i 6 redova, uključujućinaslovi. Budući da će funkcija TRANSPOSE promijeniti stupce u redove, odabiremo raspon od 6 stupaca i 7 redova.
- Sa odabranim praznim ćelijama, upišite ovu formulu:
=TRANSPOSE(A1:G6)
- Budući da našu formulu treba primijeniti na više ćelija, pritisnite Ctrl + Shift + Enter da postane formula niza.
Voilà, stupci su promijenjeno u redove, točno kako smo željeli:
Prednosti funkcije TRANSPOSE:
Glavna prednost korištenja funkcije TRANSPOSE je da rotirana tablica zadržava vezu s izvornom tablicom i kad god promijenite izvorne podatke, transponirana tablica će se u skladu s tim promijeniti.
Slabosti funkcije TRANSPOSE:
- Originalno formatiranje tabele nije sačuvano u konvertovanoj tabeli, kao što vidite na gornjoj slici ekrana.
- Ako postoje prazne ćelije u originalnoj tabeli, transponovane ćelije će sadržati 0. Da biste to popravili, koristite TRANSPOSE u kombinaciji sa funkcijom IF kao što je objašnjeno u ovom primjeru: Kako transponirati bez nula.
- Ne možete uređivati nijednu ćeliju u rotiranoj tablici jer to u velikoj mjeri ovisi o izvornim podacima. Ako pokušate promijeniti neku vrijednost ćelije, završit ćete s greškom "Ne možete promijeniti dio niza".
Završno, bez obzira što je dobra i laka za korištenje funkcija TRANSPOSE , svakako nedostaje fleksibilnosti i stoga možda nije najboljinačin na koji možete ići u mnogim situacijama.
Za više informacija, pogledajte Excel funkciju TRANSPOSE s primjerima.
Pretvorite red u stupac s INDIRECT i ADDRESS funkcijama
U ovom primjeru, će koristiti kombinaciju dvije funkcije, što je malo nezgodno. Dakle, rotirajmo manju tabelu kako bismo se bolje fokusirali na formulu.
Pretpostavimo da imate podatke u 4 kolone (A - D) i 5 reda (1 - 5):
Da bi se stupci prebacili u redove, učinite sljedeće:
- Unesite formulu ispod u najlijevu ćeliju odredišnog raspona, recimo A7 i pritisnite tipku Enter :
=INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))
- Kopirajte formulu udesno i nadolje u onoliko redaka i stupaca koliko je potrebno povlačenjem malog crnog križa u donjem desnom uglu odabranih ćelija:
To je to! U vašoj novokreiranoj tabeli, svi stupci su prebačeni u redove.
Ako vaši podaci počinju u nekom redu koji nije 1 i stupac koji nije A, morat ćete koristiti malo složeniju formulu:
=INDIRECT(ADDRESS(COLUMN(A1) - COLUMN($A$1) + ROW($A$1), ROW(A1) - ROW($A$1) + COLUMN($A$1)))
Gdje je A1 najlijeva gornja ćelija vaše izvorne tablice. Također, obratite pažnju na korištenje apsolutnih i relativnih referenci na ćelije.
Međutim, transponirane ćelije izgledaju vrlo jednostavno i dosadno, u poređenju s originalnim podacima:
Ali nemojte se razočarati, ovaj problem se lako može riješiti. Da biste vratili originalno oblikovanje, evo što trebate učiniti:
- Kopirate originaltabelu.
- Odaberite rezultujuću tabelu.
- Kliknite desnim tasterom miša na rezultujuću tabelu i odaberite Opcije zalepljenja > Formatiranje .
Prednosti : Ova formula pruža fleksibilniji način pretvaranja redova u stupce u Excelu. Omogućava bilo kakve promjene u transponiranoj tabeli jer koristite regularnu formulu, a ne formulu niza.
Nedostaci : Vidim samo jedan - formatiranje rednih podataka je izgubljeno. Iako je možete brzo vratiti, kao što je prikazano gore.
Kako ova formula funkcionira
Sada kada znate kako koristiti kombinaciju INDIREKTNA/ADRESA, možda ćete htjeti dobiti uvid u ono formula zapravo radi.
Kao što joj ime sugerira, INDIRECT funkcija se koristi za indirektno upućivanje na ćeliju. Ali prava moć INDIRECT-a je u tome što može pretvoriti bilo koji niz u referencu, uključujući niz koji gradite koristeći druge funkcije i vrijednosti drugih ćelija. A to je upravo ono što ćemo učiniti. Ako slijedite ovo, sve ostalo ćete razumjeti s lakoćom : )
Kao što se sjećate, koristili smo još 3 funkcije u formuli - ADRESU, KOLONU i RED.
Funkcija ADDRESS dobiva adresu ćelije prema brojevima reda i stupaca koje navedete. Zapamtite redoslijed: prvi - red, drugi - stupac.
U našoj formuli dajemo koordinate obrnutim redoslijedom, a ovoje ono što zapravo čini trik! Drugim riječima, ovaj dio formule ADRESA(COLUMN(A1),ROW(A1)) zamjenjuje redove u stupce, tj. uzima broj kolone i mijenja ga u broj reda, zatim uzima broj reda i pretvara ga u kolonu broj.
Konačno, INDIRECT funkcija daje rotirane podatke. Ništa strašno, zar ne?
Transponirajte podatke u Excel koristeći VBA makro
Da biste automatizirali konverziju redaka u stupce u Excelu, možete koristiti sljedeći makro:
Sub TransposeColumnsRows () Dim SourceRange As Range Dim DestRange As Range Postavite SourceRange = Application.InputBox(Prompt:= "Molimo odaberite opseg za transponovanje" , Title:= "Transponirajte redove u kolone" , Type :=8) Postavite DestRange = Application.InputBox (Prompt:= "Izaberite gornju lijevu ćeliju odredišnog raspona" , Title:= "Transponirajte redove u kolone" , Type :=8) SourceRange.Copy DestRange. Odaberite Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= False , Transpose:= True Application.CutCopyMode = False End SubDa dodate makro na svoj radni list, slijedite smjernice opisane u Kako umetnuti i pokrenite VBA kod u Excel-u.
Napomena. Transponovanje sa VBA, ima ograničenje od 65536 elemenata. U slučaju da vaš niz premaši ovo ograničenje, dodatni podaci će biti tiho odbačeni.
Kako koristiti makro za pretvaranje reda u kolonu
Sa makroom umetnutim u radnu knjigu, izvršite sljedećekoraci za rotiranje tablice:
- Otvorite ciljni radni list, pritisnite Alt + F8 , odaberite makro TransposeColumnsRows i kliknite Run .
Uživajte u rezultatu :)
Prebacite stupce i redove pomoću alata Transpose
Ako trebate redovno izvoditi transformacije reda u kolonu, možda zapravo tražite brži i jednostavniji način. Srećom, ja imam takav način u svom Excelu, kao i drugi korisnici našeg Ultimate Suite-a :)
Dozvolite mi da vam pokažem kako zamijeniti redove i stupce u Excelu doslovno u nekoliko klikova:
- Odaberite bilo koju ćeliju u vašoj tablici, idite na karticu Ablebits > Transform grupu i kliknite na dugme Transpose .
Ako želite Zalijepiti samo vrijednosti ili Kreirati veze do izvornih podataka da prisilite rotiranu tablicu da se automatski ažurira sa svakom promjenom koju napravite u originalnoj tablici, odaberite odgovarajuća opcija.
Gotovo! Tablica je transponirana, formatiranje je sačuvano, nisu potrebne daljnje manipulacije:
Ako ste znatiželjni