Note: The other languages of the website are Google-translated. Back to English

Jak transponovat každých 5 nebo n řádků z jednoho sloupce do více sloupců?

doc transponovat každých 5 řádků 1

Předpokládejme, že ve sloupci A máte dlouhá data, a nyní chcete transponovat každých 5 řádků ze sloupce A do více sloupců, například transponovat A1: A5 do C6: G6, A6: A10 až C7: G7 atd. Jako je zobrazen následující snímek obrazovky. Jak byste mohli zvládnout tento úkol bez opakovaného kopírování a vkládání v aplikaci Excel?

Transponujte každých 5 nebo n řádků z jednoho sloupce do více sloupců pomocí vzorce

Transponujte každých 5 nebo n řádků z jednoho sloupce do více sloupců pomocí kódu VBA

Transponujte každých 5 nebo n řádků z jednoho sloupce do více sloupců pomocí Kutools pro Excel


V aplikaci Excel můžete použít následující vzorec k převedení všech n řádků z jednoho sloupce do více sloupců, postupujte takto:

1. Zadejte následující vzorec do prázdné buňky, kam chcete vložit výsledek, například C1, = INDEX ($ A: $ A, ŘÁDEK (A1) * 5-5 + SLOUPEC (A1)), viz screenshot:

doc transponovat každých 5 řádků 2

Poznámka: Ve výše uvedeném vzorci, A: je odkaz na sloupec, který chcete provést, a A1 je první buňka použitého sloupce, číslo 5 označuje počet sloupců, které vaše data naleznou, můžete je podle potřeby změnit. A první buňka seznamu musí být umístěna na prvním řádku v listu.

2. Poté přetáhněte rukojeť výplně doprava na pět buněk a pokračujte v tažení rukojeti výplně dolů do rozsahu buněk, dokud se nezobrazí 0, viz screenshot:

doc transponovat každých 5 řádků 3


Transformujte každých 5 nebo n řádků z jednoho sloupce do více sloupců:

Chcete-li transformovat každých 5 nebo n řádků z jednoho sloupce do více sloupců, Kutools pro Excel's Rozsah transformace vám pomůže vyřešit tuto práci co nejrychleji. Také vám může pomoci transponovat rozsah dat do jednoho řádku nebo sloupce. Klikněte a stáhněte si Kutools pro Excel!

doc transponovat každých 5 řádků 10

Kutools pro Excel: s více než 300 praktickými doplňky aplikace Excel, můžete vyzkoušet bez omezení do 30 dnů. Stáhněte si a vyzkoušejte zdarma hned teď!


Pokud nemůžete vzorec správně použít, pomůže vám také následující kód VBA.

1. Podržte ALT + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do Modul Okno.

Kód VBA: Transponujte každých 5 nebo n řádků z jednoho sloupce do více sloupců:

Public Sub TransposeData()
'updateby Extendoffice
    Dim xLRow As Long
    Dim xNRow As Long
    Dim i As Long
    Dim xUpdate As Boolean
    Dim xRg As Range
    Dim xOutRg As Range
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select data range(only one column):", "Kutools for Excel", xTxt, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
    If (xRg.Columns.Count > 1) Or _
       (xRg.Areas.Count > 1) Then
        MsgBox "the used range only contain one column", , "Kutools for Excel"
        Exit Sub
    End If
    Set xOutRg = Application.InputBox("please select output range(specify one cell):", "Kutools for Excel", xTxt, , , , , 8)
    If xOutRg Is Nothing Then Exit Sub
    Set xOutRg = xOutRg.Range(1)
    xUpdate = Application.ScreenUpdating
    Application.ScreenUpdating = False
    xLRow = xRg.Rows.Count
    For i = 1 To xLRow Step 5
        xRg.Cells(i).Resize(5).Copy
        xOutRg.Offset(xNRow, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
        xNRow = xNRow + 1
    Next
    Application.ScreenUpdating = xUpdate
End Sub

3. Po vložení kódu stiskněte F5 klíč k jeho spuštění a zobrazí se okno s výzvou, které vám připomene výběr sloupce, který chcete transponovat, viz screenshot:

doc transponovat každých 5 řádků 4

4. Pak klikněte na tlačítko OKa vyberte jednu buňku, do které chcete umístit výsledek do jiného vyskakovacího pole, viz screenshot:

doc transponovat každých 5 řádků 5

5, A klikněte na tlačítko OK, data ve sloupci byla převedena na pět sloupců, které potřebujete, viz screenshot:

doc transponovat každých 5 řádků 6

Poznámka: Ve výše uvedeném kódu můžete změnit číslo 5 na jiné číslo, které potřebujete.


Pokud máte Kutools pro Excel, S jeho Rozsah transformace nástroj, můžete rychle transponovat jeden sloupec nebo řádek do více sloupců a řádků.

Kutools pro Excel : s více než 300 praktickými doplňky Excel, můžete si je vyzkoušet bez omezení do 30 dnů. 

Po instalaci Kutools pro Excel, postupujte následovně:

1. Vyberte data ve sloupci a poté klikněte Kutools > Rozsah > Rozsah transformace, viz screenshot:

2. V Rozsah transformace dialogové okno vyberte Jeden sloupec k rozsahu možnost podle Typ transformace, a pak zkontrolujte Pevná hodnota pod Řádky na záznam, pak zadejte počet sloupců, které chcete transponovat do Pevná hodnota rámeček, viz screenshot:

doc transponovat každých 5 řádků 8

3. A pak klikněte na tlačítko Ok Tlačítko, ve vyskakovacím poli vyberte buňku pro výstup výsledku, viz screenshot:

doc transponovat každých 5 řádků 9

4. Pak klikněte na tlačítko OK tlačítko a vaše data sloupce byla transponována každých 5 řádků, jak ukazuje následující snímek obrazovky:

doc transponovat každých 5 řádků 6

Stáhněte si zdarma zkušební verzi Kutools pro Excel!


Kutools pro Excel: s více než 300 praktickými doplňky aplikace Excel, můžete vyzkoušet bez omezení do 30 dnů. Stáhněte si a vyzkoušejte zdarma hned teď!

Nejlepší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2021 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Plné funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
officetab dno
Komentáře (15)
Hodnocení 5 z 5 · 1 hodnocení:
Tento komentář byl moderátorem webu minimalizován
Ahoj! Mohu se vás zeptat, jak přidat prázdné záznamy oddělující buňky místo 5, protože data, která zpracovávám, nemají pevný počet řádků. Věřím, že část, kterou bych měl změnit, může být kolem této části kódu: For i = 1 To xLRow Krok 5 xRg.Cells(i).Resize(5).Copy xOutRg.Offset(xNRow, 0).PasteSpecial Paste: =xlPasteAll, Transpose:=True xNRow = xNRow + 1 nejlepší
Tento komentář byl moderátorem webu minimalizován
dostali jste odpověď na totéž, co mám stejný problém, sloupce nejsou číslovány, co mám dělat, mohu použít konkrétní znak jako oddělovač, který přeruší smyčku a započítá další řádek a novou sadu dat?
Tento komentář byl moderátorem webu minimalizován
Mám stejný problém, kdy sloupce nejsou opraveny a jsou tam prázdné řádky, ale mám stejný znak a konec každé datové sady, to znamená "=" mohu to použít jako oddělovač, který přeruší smyčku a další řádek je považován za nový soubor dat?
Tento komentář byl moderátorem webu minimalizován
Jaký vzorec převést každých 5 řádků do jednoho sloupce?
Tento komentář byl moderátorem webu minimalizován
Děkuji mnohokrát! Bylo to opravdu užitečné. :)
Tento komentář byl moderátorem webu minimalizován
Bylo to skvělé! Děkuji! Ušetřil jsi mi hodiny manuální práce!
Tento komentář byl moderátorem webu minimalizován
= INDEX ($ A: $ A, ŘÁDEK (A1) * 5-5 + SLOUPEC (A1))
Bylo to velmi jednoduché a opravdu užitečné. Děkuji mnohokrát
Tento komentář byl moderátorem webu minimalizován
To je děsně ÚŽASNÉ!!! Děkuji mnohokrát. Váš příklad byl přesně to, co jsem potřeboval, a fungovalo to krásně.
Tento komentář byl moderátorem webu minimalizován
Zkoušel jsem pouze možnost vzorce a fungovalo to skvěle. Doposud jsme používali (transponujte vzorec pomocí ctrl+shift+enter), ale nevýhodou je, že jsme smazali mnoho řádků navíc. když jsou řádky, které mají být transponovány jako velké v řádu milionů, pak je jejich odstranění v excelu buď nemožné, nebo to zabere hodně času.
tento přístup usnadnil život pouze zkopírováním požadovaných řádků... Díky
Tento komentář byl moderátorem webu minimalizován
Díky moc _/\_ Skvělá práce s =INDEX($A:$A,ŘÁDEK(B1)*5-5+SLOUPEK(B1))
pracoval perfektně
Tento komentář byl moderátorem webu minimalizován
Ahoj, jak to udělat pro Colms to rows. Děkuji
Tento komentář byl moderátorem webu minimalizován
Příkaz jsem přepsal na tento:
=INDEX($A:$A,ŘÁDEK(A1)+((SLOUPEC(A1)-2)*5))
Tím se provede obráceně.
Sun:
1
2
3
4
5
6
7
8
9
...
se stává
1, 6
2, 7
3, 8
4, 9
5,...
Tento komentář byl moderátorem webu minimalizován
Snažím se to udělat přesně tak, jak je napsáno, a jediné, co jsem dostal, je chyba:508
Tento komentář byl moderátorem webu minimalizován
Jsi génius. Dík!
Hodnocení 5 z 5
Tento komentář byl moderátorem webu minimalizován
Dobrý den,

J'ai, dans mon unique colonne de données, des cellules placées aléatoirement toutes les x lignes et qui contiennent une suite de caractères.

Je voudrait que cette cellule soit dans la première colonne de la ligne transposée, avec, dans les colonnes suivantes, la transposition des lignes qui la suivent, jusqu'à la répétition de ma chaine de caractères, qui signifieréneait de caractères, qui signifiereait de caractères ..

Bref, Heeellp...

Merci d'avance
Stéphane
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění

Sociální sítě

Copyright © 2009 - www.extendoffice.com. | Všechna práva vyhrazena. Poháněno ExtendOffice. | |. | Sitemap
Microsoft a logo Office jsou ochranné známky nebo registrované ochranné známky společnosti Microsoft Corporation ve Spojených státech a / nebo jiných zemích.
Chráněno Sectigo SSL