Obsah
Tento návod ukazuje rôzne spôsoby prepínania riadkov do stĺpcov v programe Excel: vzorce, kód VBA a špeciálny nástroj.
Transpozícia údajov v programe Excel je úloha známa mnohým používateľom. Pomerne často zostavíte zložitú tabuľku, aby ste si uvedomili, že má zmysel ju otočiť pre lepšiu analýzu alebo prezentáciu údajov v grafoch.
V tomto článku nájdete niekoľko spôsobov konverzie riadkov na stĺpce (alebo stĺpcov na riadky), nech to nazvete akokoľvek, je to to isté : ) Tieto riešenia fungujú vo všetkých verziách Excelu 2010 až Excel 365, pokrývajú mnoho možných scenárov a vysvetľujú väčšinu typických chýb.
Prevod riadkov na stĺpce v programe Excel pomocou funkcie Paste Special
Predpokladajme, že máte súbor údajov podobný tomu, ktorý vidíte v hornej časti grafu nižšie. Názvy krajín sú usporiadané v stĺpcoch, ale zoznam krajín je príliš dlhý, takže radšej zmeníme stĺpce na riadky, aby sa tabuľka zmestila na obrazovku:
Ak chcete prepnúť riadky na stĺpce, vykonajte tieto kroky:
- Výber pôvodných údajov. Ak chcete rýchlo vybrať celú tabuľku, t. j. všetky bunky s údajmi v tabuľke, stlačte klávesovú skratku Ctrl + Home a potom Ctrl + Shift + End .
- Vybrané bunky skopírujte kliknutím pravým tlačidlom myši na výber a výberom Kopírovať z kontextovej ponuky alebo stlačením klávesovej skratky Ctrl + C .
- Vyberte prvú bunku cieľového rozsahu.
Uistite sa, že ste vybrali bunku, ktorá nepatrí do rozsahu obsahujúceho pôvodné údaje, aby sa oblasti kopírovania a vkladania neprekrývali. Ak máte napríklad v súčasnosti 4 stĺpce a 10 riadkov, konvertovaná tabuľka bude mať 10 stĺpcov a 4 riadky.
- Kliknite pravým tlačidlom myši na cieľovú bunku a vyberte Vložiť špeciálne z kontextového menu a potom vyberte Transponovať .
Ďalšie informácie nájdete v časti Ako používať funkciu Vložiť špeciálne v programe Excel.
Poznámka: Ak vaše zdrojové údaje obsahujú vzorce, nezabudnite správne použiť relatívne a absolútne odkazy v závislosti od toho, či sa majú upraviť, alebo zostať uzamknuté v určitých bunkách.
Ako ste sa práve presvedčili, funkcia Vložiť špeciálne umožňuje vykonať transformáciu z riadku na stĺpec (alebo zo stĺpca na riadok) doslova za niekoľko sekúnd. Táto metóda tiež kopíruje formátovanie pôvodných údajov, čo pridáva ďalší argument v jej prospech.
Tento prístup však má dve nevýhody ktoré bránia tomu, aby sa nazýval dokonalým riešením na transpozíciu údajov v programe Excel:
- Nie je vhodný na otáčanie plne funkčných tabuliek programu Excel. Ak skopírujete celú tabuľku a potom otvoríte Vložiť špeciálne nájdete dialógové okno Transponovať V tomto prípade je potrebné buď skopírovať tabuľku bez hlavičiek stĺpcov, alebo ju najprv previesť na rozsah.
- Vložiť špeciálne > Transponovať neprepojí novú tabuľku s pôvodnými údajmi, takže sa hodí len na jednorazové konverzie. Pri každej zmene zdrojových údajov by ste museli proces opakovať a tabuľku otáčať nanovo. Nikto by nechcel strácať čas prepínaním tých istých riadkov a stĺpcov znova a znova, však?
Ako transponovať tabuľku a prepojiť ju s pôvodnými údajmi
Pozrime sa, ako môžete prepínať riadky na stĺpce pomocou známeho Vložiť špeciálne techniku, ale výslednú tabuľku pripojte k pôvodnému súboru údajov. Najlepšie na tomto prístupe je, že kedykoľvek zmeníte údaje v zdrojovej tabuľke, preklopená tabuľka bude tieto zmeny odrážať a zodpovedajúcim spôsobom aktualizovať.
- Skopírujte riadky, ktoré chcete previesť na stĺpce (alebo stĺpce, ktoré chcete zmeniť na riadky).
- Vyberte prázdnu bunku v tom istom alebo inom pracovnom hárku.
- Otvorte Vložiť špeciálne ako je vysvetlené v predchádzajúcom príklade, a kliknite na Vložiť prepojenie v ľavom dolnom rohu:
Výsledok bude podobný tomuto:
Tým sa váš stôl zmení na niečo trochu desivé, ako vidíte na obrázku nižšie, ale nepanikárte, stačí urobiť ešte 2 kroky a dosiahnete požadovaný výsledok.
Je to trochu zdĺhavé, ale elegantné riešenie, však? Jedinou nevýhodou tohto prístupu je, že pôvodné formátovanie sa pri tomto procese stratí a budete ho musieť obnoviť ručne (rýchly spôsob, ako to urobiť, vám ukážem ďalej v tomto návode).
Ako transponovať v programe Excel pomocou vzorcov
Rýchlejším spôsobom dynamického prepínania stĺpcov do riadkov v programe Excel je použitie vzorca TRANSPOSE alebo INDEX/ADDRESS. Podobne ako v predchádzajúcom príklade, aj tieto vzorce zachovávajú prepojenie s pôvodnými údajmi, ale fungujú trochu inak.
Zmena riadkov na stĺpce v programe Excel pomocou funkcie TRANSPOSE
Funkcia TRANSPOSE je, ako napovedá jej názov, špeciálne navrhnutá na transpozíciu údajov v programe Excel:
=TRANSPOSE(pole)V tomto príklade prevedieme inú tabuľku, ktorá obsahuje zoznam štátov USA podľa počtu obyvateľov:
- Spočítajte počet riadkov a stĺpcov v pôvodnej tabuľke a vyberte rovnaký počet prázdnych buniek, ale v opačnom smere.
Napríklad naša vzorová tabuľka má 7 stĺpcov a 6 riadkov vrátane nadpisov. Keďže funkcia TRANSPOSE zmení stĺpce na riadky, vyberieme rozsah 6 stĺpcov a 7 riadkov.
- S vybranými prázdnymi bunkami zadajte tento vzorec:
=TRANSPOSE(A1:G6)
- Keďže náš vzorec je potrebné použiť na viac buniek, stlačte klávesovú skratku Ctrl + Shift + Enter, aby sa vzorec stal poľom.
Voilà, stĺpce sa zmenia na riadky, presne ako sme chceli:
Výhody funkcie TRANSPOSE:
Hlavnou výhodou použitia funkcie TRANSPOSE je, že otočená tabuľka si zachováva spojenie so zdrojovou tabuľkou a vždy, keď zmeníte zdrojové údaje, zmení sa podľa toho aj transponovaná tabuľka.
Slabé stránky funkcie TRANSPOSE:
- Pôvodné formátovanie tabuľky sa v konvertovanej tabuľke neuloží, ako vidíte na obrázku vyššie.
- Ak sú v pôvodnej tabuľke prázdne bunky, transponované bunky budú namiesto nich obsahovať 0. Ak to chcete napraviť, použite funkciu TRANSPOSE v kombinácii s funkciou IF, ako je vysvetlené v tomto príklade: Ako transponovať bez núl.
- V otočenej tabuľke nemôžete upravovať žiadne bunky, pretože je veľmi závislá od zdrojových údajov. Ak sa pokúsite zmeniť hodnotu niektorej bunky, skončíte s chybou "Nemôžete zmeniť časť poľa".
Ak to zhrnieme, nech je funkcia TRANSPOSE akokoľvek dobrá a ľahko použiteľná, určite jej chýba flexibilita, a preto nemusí byť v mnohých situáciách najlepším riešením.
Viac informácií nájdete v časti Funkcia TRANSPOSE aplikácie Excel s príkladmi.
Prevod riadku na stĺpec pomocou funkcií INDIRECT a ADDRESS
V tomto príklade sa bude používať kombinácia dvoch funkcií, čo je trochu zložité. Otočme teda menšiu tabuľku, aby sme sa mohli lepšie sústrediť na vzorec.
Predpokladajme, že máte údaje v 4 stĺpcoch (A - D) a 5 riadkoch (1 - 5):
Ak chcete prepnúť stĺpce na riadky, postupujte takto:
- Do ľavej bunky cieľového rozsahu, napríklad A7, zadajte nasledujúci vzorec a stlačte kláves Enter:
=INDIRECT(ADRESA(STĹPEC(A1),RIADOK(A1))
- Vzorec skopírujte doprava a nadol do toľkých riadkov a stĺpcov, koľko potrebujete, potiahnutím malého čierneho krížika v pravom dolnom rohu vybraných buniek:
A je to! V novovytvorenej tabuľke sú všetky stĺpce zmenené na riadky.
Ak vaše údaje začínajú v inom riadku ako 1 a v inom stĺpci ako A, budete musieť použiť trochu zložitejší vzorec:
=INDIRECT(ADRESA(STĹPEC(A1) - STĹPEC($A$1) + RIADOK($A$1), RIADOK(A1) - RIADOK($A$1) + STĹPEC($A$1)))
Kde A1 je najvrchnejšia ľavá bunka zdrojovej tabuľky. Nezabudnite tiež na používanie absolútnych a relatívnych odkazov na bunky.
V porovnaní s pôvodnými údajmi však transponované bunky vyzerajú veľmi jednoducho a nudne:
Nenechajte sa však sklamať, tento problém sa dá ľahko odstrániť. Ak chcete obnoviť pôvodné formátovanie, postupujte takto:
- Skopírujte pôvodnú tabuľku.
- Vyberte výslednú tabuľku.
- Kliknite pravým tlačidlom myši na výslednú tabuľku a vyberte položku Možnosti vkladania > Formátovanie .
Výhody : Tento vzorec poskytuje flexibilnejší spôsob premeny riadkov na stĺpce v programe Excel. Umožňuje vykonávať akékoľvek zmeny v transponovanej tabuľke, pretože používate bežný vzorec, nie vzorec na vytváranie polí.
Nedostatky : Vidím len jedno - stratilo sa formátovanie poradových údajov. Môžete ho však rýchlo obnoviť, ako je uvedené vyššie.
Ako tento vzorec funguje
Keď už viete, ako používať kombináciu INDIRECT / ADDRESS, možno budete chcieť pochopiť, čo tento vzorec vlastne robí.
Ako už názov napovedá, funkcia INDIRECT, slúži na nepriame odkazovanie na bunku. Skutočná sila funkcie INDIRECT však spočíva v tom, že dokáže premeniť akýkoľvek reťazec na odkaz, vrátane reťazca, ktorý ste vytvorili pomocou iných funkcií a hodnôt iných buniek. A presne to budeme robiť. Ak to sledujete, všetko ostatné pochopíte ľahko : )
Ako si pamätáte, vo vzorci sme použili ďalšie 3 funkcie - ADDRESS, COLUMN a ROW.
Funkcia ADDRESS získa adresu bunky podľa zadaného čísla riadku, resp. stĺpca. Zapamätajte si poradie: prvý - riadok, druhý - stĺpec.
V našom vzorci zadávame súradnice v opačnom poradí, a to je to, čo v skutočnosti robí trik! Inými slovami, táto časť vzorca ADDRESS(COLUMN(A1),ROW(A1)) mení riadky na stĺpce, t. j. berie číslo stĺpca a mení ho na číslo riadku, potom berie číslo riadku a mení ho na číslo stĺpca.
Nakoniec funkcia INDIRECT vypíše otočené údaje. Nič hrozné, však?
Transponovanie údajov v programe Excel pomocou makra VBA
Ak chcete automatizovať prevod riadkov na stĺpce v programe Excel, môžete použiť nasledujúce makro:
Sub TransposeColumnsRows() Dim SourceRange As Range Dim DestRange As Range Set SourceRange = Application.InputBox(Prompt:= "Prosím, vyberte rozsah na transpozíciu" , Title:= "Transpose Rows to Columns" , Type :=8) Set DestRange = Application.InputBox(Prompt:= "Vyberte ľavú hornú bunku cieľového rozsahu" , Title:= "Transpose Rows to Columns" , Type :=8) SourceRange.Copy DestRange. SelectSelection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= False , Transpose:= True Application.CutCopyMode = False End SubAk chcete pridať makro do pracovného hárka, postupujte podľa pokynov uvedených v časti Ako vložiť a spustiť kód VBA v programe Excel.
Poznámka: Transpozícia pomocou VBA má obmedzenie na 65536 prvkov. V prípade, že vaše pole prekročí tento limit, dodatočné údaje budú v tichosti zahodené.
Ako použiť makro na prevod riadku na stĺpec
Po vložení makra do zošita vykonajte nasledujúce kroky na otočenie tabuľky:
- Otvorte cieľový pracovný hárok, stlačte Alt + F8 , vyberte TransposeColumnsRows a kliknite na tlačidlo Spustiť .
Užite si výsledok :)
Prepínanie stĺpcov a riadkov pomocou nástroja Transpozícia
Ak potrebujete pravidelne vykonávať transformácie riadkov na stĺpce, možno skutočne hľadáte rýchlejší a jednoduchší spôsob. Našťastie mám takýto spôsob vo svojom Exceli a rovnako aj ostatní používatelia nášho balíka Ultimate Suite :)
Ukážem vám, ako prepínať riadky a stĺpce v programe Excel doslova na pár kliknutí:
- Vyberte ľubovoľnú bunku v tabuľke, prejdite na Ablebits karta> Transformácia a kliknite na Transponovať tlačidlo.
Ak by ste chceli Vložiť iba hodnoty alebo Vytvorenie odkazov na zdrojové údaje ak chcete prinútiť otočenú tabuľku, aby sa automaticky aktualizovala pri každej zmene, ktorú vykonáte v pôvodnej tabuľke, vyberte príslušnú možnosť.
Hotovo! Tabuľka je transponovaná, formátovanie je zachované, nie je potrebná žiadna ďalšia manipulácia:
Ak ste zvedaví, či si môžete vyskúšať tento a viac ako 70 ďalších profesionálnych nástrojov pre Excel, pozývam vás na stiahnutie skúšobnej verzie nášho balíka Ultimate Suite. Ďakujem za prečítanie a dúfam, že sa uvidíme na našom blogu budúci týždeň!