Note: The other languages of the website are Google-translated. Back to English
Přihlásit se  \/ 
x
or
x
Registrovat  \/ 
x

or

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-2019 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Kompletní 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 omezuje stovky kliknutí myší každý den!
officetab dno
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Pradeep · 1 years ago
    Hi, How to do this for Colms to rows. Thank you
    • To post as a guest, your comment is unpublished.
      Jan steihn · 11 months ago
      I've rewritten the command to this one:
      =INDEX($A:$A,ROW(A1)+((COLUMN(A1)-2)*5))
      This executes it inverted.
      So:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      ...
      becomes
      1, 6
      2, 7
      3, 8
      4, 9
      5, ...
  • To post as a guest, your comment is unpublished.
    Maha · 1 years ago
    Thanks alot _/\_ Awesome job with =INDEX($A:$A,ROW(B1)*5-5+COLUMN(B1))
    worked perfectly
  • To post as a guest, your comment is unpublished.
    Arun Balaji VN · 1 years ago
    I tried only the the formula option and it worked great. Till now have been using (Transpose formula with ctrl+shift+enter) but there the disadvantage for we have delete many extra rows. when the rows to be transposed for large in the order of lakhs, then deleting them in excel is either impossible or takes a lot of time.
    this approach made the life easier by only copying the required rows... Thanks
  • To post as a guest, your comment is unpublished.
    Sian · 2 years ago
    This is fricking AWESOME!!! Thank you SO much. Your example was exactly what I needed and it worked beautifully.
  • To post as a guest, your comment is unpublished.
    hamidreza · 3 years ago
    =INDEX($A:$A,ROW(A1)*5-5+COLUMN(A1))
    It was very simple and really useful. Thank you so much
  • To post as a guest, your comment is unpublished.
    Thank · 3 years ago
    It was great! Thank you! You saved me hours of manual work!
  • To post as a guest, your comment is unpublished.
    xplode · 3 years ago
    Thank you so much!
    It was really helpful. :)
  • To post as a guest, your comment is unpublished.
    MTVN · 4 years ago
    What formula to transpose every 5 rows to a single column?
  • To post as a guest, your comment is unpublished.
    hgimongu · 4 years ago
    Hi!

    May I ask you how to add Blank cell delimits records, instead of 5 as the data I am handling hasn't got fix number of rows. I believe the part which I should change may be around this part of the code:

    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

    Best
    • To post as a guest, your comment is unpublished.
      Mark.lewis2020 · 11 months ago
      I have the same issue , where the columns are not fixed, and there are empty lines, but I have a same character and end of each data set , that is "=" can I use this as delimiter , that breaks the loop, and next line is considered as new data set ?
    • To post as a guest, your comment is unpublished.
      Mark · 11 months ago
      did you get an answer for the same as i have the same issue , columns are not fixed in numbers, what should I do , can I use a particular character as a delimiter that breaks the loop and count next line and new data set ?