Ako prepínať stĺpce a riadky v programe Excel

  • Zdieľajte To
Michael Brown

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:

    1. 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 .
    2. 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 .
    3. 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.

    4. 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ť.

    1. Skopírujte riadky, ktoré chcete previesť na stĺpce (alebo stĺpce, ktoré chcete zmeniť na riadky).
    2. Vyberte prázdnu bunku v tom istom alebo inom pracovnom hárku.
    3. 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:

  • Vyberte novú tabuľku a otvorte dialógové okno programu Excel Nájsť a nahradiť (alebo stlačte klávesovú skratku Ctrl + H, aby ste sa dostali do Vymeňte stránku karta hneď).
  • Nahraďte všetky znaky "=" znakom "xxx" alebo akýmkoľvek iným znakom, ktorý sa nikde v reálnych údajoch nevyskytuje.
  • 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.

  • Skopírujte tabuľku s hodnotami "xxx" a potom použite Vložiť špeciálne> Transponovať preklopenie stĺpcov do riadkov
  • Nakoniec otvorte Nájsť a nahradiť dialógové okno ešte raz, aby ste zvrátili zmenu, t. j. nahradili všetky znaky "xxx" znakom "=", aby ste obnovili odkazy na pôvodné bunky.
  • 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:

    1. 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.

    2. S vybranými prázdnymi bunkami zadajte tento vzorec:

      =TRANSPOSE(A1:G6)

    3. 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:

    1. 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))

    2. 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 Sub

    Ak 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:

    1. Otvorte cieľový pracovný hárok, stlačte Alt + F8 , vyberte TransposeColumnsRows a kliknite na tlačidlo Spustiť .

  • Vyberte rozsah, v ktorom chcete prepínať riadky a stĺpce, a kliknite na tlačidlo OK :
  • Vyberte ľavú hornú bunku cieľového rozsahu a kliknite na tlačidlo OK :
  • 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í:

    1. Vyberte ľubovoľnú bunku v tabuľke, prejdite na Ablebits karta> Transformácia a kliknite na Transponovať tlačidlo.

  • Predvolené nastavenia fungujú vo väčšine prípadov dobre, takže stačí kliknúť na Transponovať bez toho, aby ste čokoľvek zmenili.
  • 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ň!

    Michael Brown je nadšený technologický nadšenec s vášňou pre zjednodušovanie zložitých procesov pomocou softvérových nástrojov. S viac ako desaťročnými skúsenosťami v technologickom priemysle si zdokonalil svoje zručnosti v programoch Microsoft Excel a Outlook, ako aj Tabuľky Google a Dokumenty. Michaelov blog je venovaný zdieľaniu svojich vedomostí a odborných znalostí s ostatnými a poskytuje jednoduché tipy a návody na zlepšenie produktivity a efektivity. Či už ste skúsený profesionál alebo začiatočník, Michaelov blog ponúka cenné poznatky a praktické rady, ako z týchto základných softvérových nástrojov vyťažiť maximum.