Jak přepínat sloupce a řádky v aplikaci Excel

  • Sdílet Toto
Michael Brown

Výukový program ukazuje různé způsoby přepínání řádků do sloupců v aplikaci Excel: vzorce, kód VBA a speciální nástroj.

Transpozice dat v Excelu je úloha, kterou zná mnoho uživatelů. Poměrně často sestavíte složitou tabulku, abyste zjistili, že má smysl ji otočit pro lepší analýzu nebo prezentaci dat v grafech.

V tomto článku najdete několik způsobů, jak převést řádky na sloupce (nebo sloupce na řádky), ať už tomu říkáte jakkoli, je to totéž : ) Tato řešení fungují ve všech verzích Excelu 2010 až Excel 365, pokrývají mnoho možných scénářů a vysvětlují většinu typických chyb.

    Převod řádků na sloupce v aplikaci Excel pomocí funkce Vložit speciálně

    Předpokládejme, že máte soubor dat podobný tomu, který vidíte v horní části níže uvedeného grafu. Názvy zemí jsou uspořádány ve sloupcích, ale seznam zemí je příliš dlouhý, takže raději změníme sloupce na řádky, aby se tabulka vešla na obrazovku:

    Chcete-li přepnout řádky na sloupce, proveďte tyto kroky:

    1. Výběr původních dat. Chcete-li rychle vybrat celou tabulku, tj. všechny buňky s daty v tabulce, stiskněte klávesy Ctrl + Home a poté Ctrl + Shift + End .
    2. Zkopírujte vybrané buňky buď kliknutím pravým tlačítkem myši na výběr a výběrem možnosti Kopírovat z kontextové nabídky nebo stisknutím kombinace kláves Ctrl + C .
    3. Vyberte první buňku cílového rozsahu.

      Ujistěte se, že jste vybrali buňku, která nespadá do rozsahu obsahujícího původní data, aby se oblasti kopírování a vkládání nepřekrývaly. Například pokud máte v současné době 4 sloupce a 10 řádků, převedená tabulka bude mít 10 sloupců a 4 řádky.

    4. Klikněte pravým tlačítkem myši na cílovou buňku a vyberte Vložit speciální z kontextové nabídky a poté vyberte Transpozice .

    Další informace naleznete v části Jak používat funkci Vložit speciální v aplikaci Excel.

    Poznámka: Pokud vaše zdrojová data obsahují vzorce, nezapomeňte správně použít relativní a absolutní odkazy v závislosti na tom, zda mají být upraveny nebo zůstat uzamčeny k určitým buňkám.

    Jak jste se právě přesvědčili, funkce Vložit speciální umožňuje provést transformaci řádku na sloupec (nebo sloupce na řádek) doslova během několika sekund. Tato metoda také kopíruje formátování původních dat, což jí dodává další argument v její prospěch.

    Tento přístup má však dvě nevýhody které brání tomu, aby byl označen za dokonalé řešení pro transpozici dat v Excelu:

    • Pro otáčení plně funkčních tabulek aplikace Excel se příliš nehodí. Pokud zkopírujete celou tabulku a poté otevřete aplikaci Vložit speciální najdete dialogové okno Transpozice V tomto případě je třeba tabulku buď zkopírovat bez záhlaví sloupců, nebo ji nejprve převést na rozsah.
    • Vložit speciální > Transpozice nepropojuje novou tabulku s původními daty, takže se hodí pouze pro jednorázové konverze. Kdykoli se zdrojová data změní, museli byste proces opakovat a tabulku znovu otočit. Nikdo by přece nechtěl ztrácet čas přepínáním stejných řádků a sloupců znovu a znovu, že?

    Jak transponovat tabulku a propojit ji s původními daty

    Podívejme se, jak lze přepínat řádky do sloupců pomocí známého příkazu Vložit speciální techniku, ale výslednou tabulku připojte k původní sadě dat. Nejlepší na tomto přístupu je, že kdykoli změníte data ve zdrojové tabulce, převrácená tabulka změny zohlední a odpovídajícím způsobem aktualizuje.

    1. Zkopírujte řádky, které chcete převést na sloupce (nebo sloupce, které chcete změnit na řádky).
    2. Vyberte prázdnou buňku ve stejném nebo jiném pracovním listu.
    3. Otevřete Vložit speciální jak je vysvětleno v předchozím příkladu, a klikněte na tlačítko Vložit odkaz v levém dolním rohu:

    Výsledek bude podobný tomuto:

  • Vyberte novou tabulku a otevřete dialogové okno aplikace Excel Najít a nahradit (nebo stiskněte klávesovou zkratku Ctrl + H, abyste se dostali do dialogového okna). Vyměňte stránky karta ihned).
  • Nahraďte všechny znaky "=" znakem "xxx" nebo jakýmkoli jiným znakem, který se nikde ve vašich skutečných datech nevyskytuje.
  • Tím se váš stůl změní v něco trochu děsivého, jak vidíte na obrázku níže, ale nepanikařte, stačí další dva kroky a dosáhnete požadovaného výsledku.

  • Zkopírujte tabulku s hodnotami "xxx" a poté použijte příkaz Vložit speciální> Transponovat překlopení sloupců do řádků
  • Nakonec otevřete Najít a nahradit dialog ještě jednou, abyste změnu zvrátili, tj. nahradili všechny znaky "xxx" znakem "=", čímž obnovíte odkazy na původní buňky.
  • Je to trochu zdlouhavé, ale elegantní řešení, že? Jedinou nevýhodou tohoto přístupu je, že se původní formátování při tomto procesu ztratí a bude nutné ho obnovit ručně (rychlý způsob, jak to provést, vám ukážu dále v tomto návodu).

    Jak transponovat v aplikaci Excel pomocí vzorců

    Rychlejším způsobem, jak v Excelu dynamicky přepínat sloupce na řádky, je použití vzorce TRANSPOSE nebo INDEX/ADDRESS. Stejně jako v předchozím příkladu i tyto vzorce zachovávají vazby na původní data, ale fungují trochu jinak.

    Změna řádků na sloupce v aplikaci Excel pomocí funkce TRANSPOSE

    Jak již název napovídá, funkce TRANSPOSE je speciálně navržena pro transpozici dat v aplikaci Excel:

    =TRANSPOSE(pole)

    V tomto příkladu převedeme jinou tabulku, která obsahuje seznam států USA podle počtu obyvatel:

    1. Spočítejte počet řádků a sloupců v původní tabulce a vyberte stejný počet prázdných buněk, ale v opačném směru.

      Například naše ukázková tabulka má 7 sloupců a 6 řádků včetně nadpisů. Protože funkce TRANSPOSE změní sloupce na řádky, vybereme rozsah 6 sloupců a 7 řádků.

    2. S vybranými prázdnými buňkami zadejte tento vzorec:

      =TRANSPOSE(A1:G6)

    3. Protože náš vzorec je třeba použít na více buněk, stiskněte klávesy Ctrl + Shift + Enter, aby se vzorec stal polem.

    Voilà, sloupce se změní na řádky, přesně jak jsme chtěli:

    Výhody funkce TRANSPOSE:

    Hlavní výhodou použití funkce TRANSPOSE je, že otočená tabulka si zachovává spojení se zdrojovou tabulkou a kdykoli změníte zdrojová data, změní se odpovídajícím způsobem i transponovaná tabulka.

    Slabé stránky funkce TRANSPOSE:

    • Původní formátování tabulky se v převedené tabulce neuloží, jak vidíte na obrázku výše.
    • Pokud jsou v původní tabulce prázdné buňky, budou transponované buňky místo nich obsahovat 0. Chcete-li to napravit, použijte funkci TRANSPOSE v kombinaci s funkcí IF, jak je vysvětleno v tomto příkladu: Jak transponovat bez nul.
    • V otočené tabulce nelze upravovat žádné buňky, protože je velmi závislá na zdrojových datech. Pokud se pokusíte změnit hodnotu některé buňky, skončíte s chybou "Nelze změnit část pole".

    Závěrem lze říci, že ať už je funkce TRANSPOSE jakkoli dobrá a snadno použitelná, rozhodně jí chybí flexibilita, a proto nemusí být v mnoha situacích tou nejlepší cestou.

    Další informace naleznete v části Funkce TRANSPOSE aplikace Excel s příklady.

    Převod řádku na sloupec pomocí funkcí INDIRECT a ADDRESS

    V tomto příkladu bude použita kombinace dvou funkcí, což je trochu složitější. Otočíme tedy menší tabulku, abychom se mohli lépe zaměřit na vzorec.

    Předpokládejme, že máte data ve 4 sloupcích (A - D) a 5 řádcích (1 - 5):

    Chcete-li přepnout sloupce na řádky, postupujte takto:

    1. Do nejlevější buňky cílového rozsahu, například A7, zadejte následující vzorec a stiskněte klávesu Enter:

      =INDIRECT(ADRESA(SLOUPEC(A1),ŘÁDEK(A1)))

    2. Přetažením malého černého křížku v pravém dolním rohu vybraných buněk zkopírujte vzorec doprava a dolů do libovolného počtu řádků a sloupců:

    A je to! V nově vytvořené tabulce jsou všechny sloupce změněny na řádky.

    Pokud vaše data začínají v jiném řádku než 1 a v jiném sloupci než A, budete muset použít trochu složitější vzorec:

    =INDIRECT(ADRESA(SLOUPEC(A1) - SLOUPEC($A$1) + ŘÁDEK($A$1), ŘÁDEK(A1) - ŘÁDEK($A$1) + SLOUPEC($A$1))))

    Kde A1 je nejvrchnější levá buňka zdrojové tabulky. Nezapomeňte také na používání absolutních a relativních odkazů na buňky.

    Ve srovnání s původními daty však transponované buňky vypadají velmi jednoduše a nevýrazně:

    Nenechte se však zklamat, tento problém lze snadno odstranit. Chcete-li obnovit původní formátování, postupujte takto:

    • Zkopírujte původní tabulku.
    • Vyberte výslednou tabulku.
    • Klikněte pravým tlačítkem myši na výslednou tabulku a vyberte Možnosti vkládání > Formátování .

    Výhody : Tento vzorec poskytuje flexibilnější způsob, jak v aplikaci Excel změnit řádky na sloupce. Umožňuje provádět libovolné změny v transponované tabulce, protože používáte běžný vzorec, nikoli vzorec pole.

    Nedostatky : Vidím pouze jediné - ztratilo se formátování pořadových údajů. I když, můžete ho rychle obnovit, jak je uvedeno výše.

    Jak tento vzorec funguje

    Nyní, když víte, jak používat kombinaci INDIRECT / ADDRESS, možná budete chtít pochopit, co tento vzorec vlastně dělá.

    Funkce INDIRECT, jak už její název napovídá, slouží k nepřímému odkazu na buňku. Její skutečná síla však spočívá v tom, že dokáže proměnit jakýkoli řetězec v odkaz, včetně řetězce, který vytvoříte pomocí jiných funkcí a hodnot jiných buněk. A přesně to budeme dělat. Pokud jste se dočetli až sem, vše ostatní snadno pochopíte : )

    Jak si pamatujete, ve vzorci jsme použili další 3 funkce - ADDRESS, COLUMN a ROW.

    Funkce ADDRESS získá adresu buňky podle zadaného čísla řádku, resp. sloupce. Zapamatujte si pořadí: první - řádek, druhý - sloupec.

    V našem vzorci zadáváme souřadnice v opačném pořadí, a to je to, co ve skutečnosti dělá trik! Jinými slovy, tato část vzorce ADDRESS(COLUMN(A1),ROW(A1)) mění řádky na sloupce, tj. vezme číslo sloupce a změní ho na číslo řádku, pak vezme číslo řádku a změní ho na číslo sloupce.

    Nakonec funkce INDIRECT vypíše otočená data. Nic hrozného, že?

    Transponování dat v aplikaci Excel pomocí makra VBA

    Chcete-li automatizovat převod řádků na sloupce v aplikaci Excel, můžete použít následující makro:

    Sub TransposeColumnsRows() Dim SourceRange As Range Dim DestRange As Range Set SourceRange = Application.InputBox(Prompt:= "Prosím, vyberte rozsah pro transpozici" , Title:= "Transpose Rows to Columns" , Type :=8) Set DestRange = Application.InputBox(Prompt:= "Vyberte levou horní buňku cílového rozsahu" , Title:= "Transpose Rows to Columns" , Type :=8) SourceRange.Copy DestRange. SelectSelection.PasteSpecial Vložit:=xlPasteAll, Operace:=xlNone, SkipBlanks:= False , Transpose:= True Application.CutCopyMode = False End Sub

    Chcete-li do pracovního listu přidat makro, postupujte podle pokynů popsaných v části Jak vložit a spustit kód VBA v aplikaci Excel.

    Poznámka: Transpozice pomocí VBA je omezena na 65536 prvků. Pokud vaše pole překročí tento limit, budou data navíc potichu zahozena.

    Jak použít makro pro převod řádku na sloupec

    Po vložení makra do sešitu proveďte následující kroky k otočení tabulky:

    1. Otevřete cílový pracovní list, stiskněte klávesy Alt + F8 , vyberte položku TransposeColumnsRows a klikněte na tlačítko Spustit .

  • Vyberte rozsah, ve kterém chcete přepínat řádky a sloupce, a klikněte na tlačítko OK :
  • Vyberte levou horní buňku cílového rozsahu a klikněte na tlačítko OK :
  • Užijte si výsledek :)

    Přepínání sloupců a řádků pomocí nástroje Transpozice

    Pokud potřebujete pravidelně provádět transformace řádků do sloupců, možná skutečně hledáte rychlejší a jednodušší způsob. Naštěstí mám takový způsob ve svém Excelu já a stejně tak i ostatní uživatelé naší sady Ultimate Suite :)

    Ukážu vám, jak přepínat řádky a sloupce v aplikaci Excel doslova na pár kliknutí:

    1. Vyberte libovolnou buňku v tabulce, přejděte na položku Ablebits karta> Transformovat a klikněte na Transpozice tlačítko.

  • Výchozí nastavení ve většině případů funguje dobře, takže stačí kliknout na tlačítko Transpozice aniž by se cokoli změnilo.
  • Pokud byste chtěli Pouze vložit hodnoty nebo Vytvoření odkazů na zdrojová data chcete-li donutit otočenou tabulku, aby se automaticky aktualizovala při každé změně, kterou provedete v původní tabulce, vyberte příslušnou možnost.

    Hotovo! Tabulka je transponována, formátování je zachováno, není třeba s ní dále manipulovat:

    Pokud jste zvědaví, zda si vyzkoušíte tento a více než 70 dalších profesionálních nástrojů pro Excel, zvu vás ke stažení zkušební verze naší sady Ultimate Suite. Děkuji vám za přečtení a doufám, že se uvidíme na našem blogu příští týden!

    Michael Brown je oddaný technologický nadšenec s vášní pro zjednodušování složitých procesů pomocí softwarových nástrojů. S více než desetiletými zkušenostmi v technologickém průmyslu zdokonalil své dovednosti v aplikacích Microsoft Excel a Outlook a také v Tabulkách a Dokumentech Google. Michaelův blog je věnován sdílení jeho znalostí a odborných znalostí s ostatními a poskytuje snadno pochopitelné tipy a návody pro zlepšení produktivity a efektivity. Ať už jste zkušený profesionál nebo začátečník, Michaelův blog nabízí cenné postřehy a praktické rady, jak tyto základní softwarové nástroje co nejlépe využít.