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

Hoe transponeer ik elke 5 of n rijen van één kolom naar meerdere kolommen?

doc transponeren elke 5 rijen 1

Stel dat u lange gegevens in kolom A heeft, en nu wilt u elke 5 rijen van kolom A naar meerdere kolommen transponeren, zoals A1: A5 naar C6: G6, A6: A10 naar C7: G7, enzovoort, zoals volgende screenshot getoond. Hoe zou u met deze taak kunnen omgaan zonder herhaaldelijk te kopiëren en plakken in Excel?

Transponeer elke 5 of n rijen van één kolom naar meerdere kolommen met formule

Transponeer elke 5 of n rijen van één kolom naar meerdere kolommen met VBA-code

Transponeer elke 5 of n rijen van één kolom naar meerdere kolommen met Kutools voor Excel


In Excel kunt u de volgende formule toepassen om elke n rijen van één kolom naar meerdere kolommen te transponeren, doe dit als volgt:

1. Voer de volgende formule in een lege cel in waar u het resultaat wilt plaatsen, bijvoorbeeld C1 = INDEX ($ A: $ A, RIJ (A1) * 5-5 + KOLOM (A1)), zie screenshot:

doc transponeren elke 5 rijen 2

Opmerking:: In de bovenstaande formule, A: A is de kolomverwijzing die u wilt transponeren, en A1 is de eerste cel van de gebruikte kolom, het getal 5 geeft het aantal kolommen aan dat uw gegevens zullen vinden, u kunt ze naar wens wijzigen. En de eerste cel van de lijst moet zich op de eerste rij van het werkblad bevinden.

2. Sleep vervolgens de vulgreep naar rechts naar vijf cellen en sleep de vulgreep verder naar beneden naar het celbereik totdat 0 wordt weergegeven, zie screenshot:

doc transponeren elke 5 rijen 3


Transformeer elke 5 of n rijen van één kolom naar meerdere kolommen:

Om elke 5 of n rijen van één kolom naar meerdere kolommen te transformeren, Kutools for Excel's Transformeer bereik hulpprogramma kan u helpen deze taak zo snel mogelijk op te lossen. Het kan u ook helpen om een ​​reeks gegevens naar een enkele rij of kolom te transponeren. Klik om Kutools voor Excel te downloaden!

doc transponeren elke 5 rijen 10

Kutools for Excel: met meer dan 300 handige Excel-invoegtoepassingen, gratis te proberen zonder beperking in 30 dagen. Download en probeer nu gratis!


Als u de formule niet correct kunt toepassen, kan de volgende VBA-code u ook helpen.

1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.

2. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.

VBA-code: transponeer elke 5 of n rijen van één kolom naar meerdere kolommen:

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. Druk na het plakken van de code op F5 toets om het uit te voeren, en er verschijnt een promptvenster om u eraan te herinneren de kolom te selecteren die u wilt transponeren, zie screenshot:

doc transponeren elke 5 rijen 4

4. Dan klikken OKen selecteer een cel waarin u het resultaat in een ander uitgeklapt vak wilt plaatsen, zie screenshot:

doc transponeren elke 5 rijen 5

5. En klik op OK, de gegevens in de kolom zijn geconverteerd naar vijf kolommen die je nodig hebt, zie screenshot:

doc transponeren elke 5 rijen 6

Opmerking:: In de bovenstaande code kunt u het nummer wijzigen 5 naar een ander nummer dat u nodig heeft.


Als je Kutools for Excel, Met Transformeer bereik hulpprogramma kunt u snel een kolom of rij naar meerdere kolommen en rijen transponeren.

Kutools for Excel : met meer dan 300 handige Excel-invoegtoepassingen, gratis te proberen zonder beperking in 30 dagen. 

Na het installeren van Kutools for Excelgaat u als volgt te werk:

1. Selecteer de gegevens in de kolom en klik op Kutools > Bereik > Transformeer bereik, zie screenshot:

2. In de Transformeer bereik dialoogvenster, selecteer Enkele kolom om te bereiken optie onder de Type transformeren, en controleer dan Vaste waarde onder de Rijen per recorden geef vervolgens het aantal kolommen op waarnaar u wilt transponeren in het Vaste waarde box, zie screenshot:

doc transponeren elke 5 rijen 8

3. En klik vervolgens op Ok knop, selecteer in het uitgeklapte vak een cel om het resultaat uit te voeren, zie screenshot:

doc transponeren elke 5 rijen 9

4. Dan klikken OK knop, en uw kolomgegevens zijn om de 5 rijen getransponeerd zoals in de volgende schermafbeelding:

doc transponeren elke 5 rijen 6

Download en gratis proef Kutools voor Excel nu!


Kutools for Excel: met meer dan 300 handige Excel-invoegtoepassingen, gratis te proberen zonder beperking in 30 dagen. Download en probeer nu gratis!

De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2019 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Gratis proefperiode van 30 dagen met volledige functies. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert elke dag honderden muisklikken!
officetab onderkant
Comments (13)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Hoi! Mag ik u vragen hoe u Lege celscheidingsrecords kunt toevoegen, in plaats van 5, omdat de gegevens die ik verwerk geen vast aantal rijen hebben. Ik geloof dat het deel dat ik moet veranderen rond dit deel van de code kan zijn: 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
hgimongu
Deze opmerking is gemaakt door de moderator op de site
heb je hetzelfde antwoord gekregen omdat ik hetzelfde probleem heb, kolommen zijn niet vast in cijfers, wat moet ik doen, kan ik een bepaald teken gebruiken als scheidingsteken dat de lus doorbreekt en de volgende regel en nieuwe dataset telt?
Markeer
Deze opmerking is gemaakt door de moderator op de site
Ik heb hetzelfde probleem , waarbij de kolommen niet vast zijn en er lege regels zijn, maar ik heb hetzelfde teken en het einde van elke dataset , dat wil zeggen "=" kan ik dit gebruiken als scheidingsteken , dat de lus verbreekt, en volgende regel wordt beschouwd als een nieuwe dataset ?
Mark.lewis2020
Deze opmerking is gemaakt door de moderator op de site
Welke formule om elke 5 rijen naar een enkele kolom te transponeren?
MTVN
Deze opmerking is gemaakt door de moderator op de site
Hartelijk bedankt! Het was echt nuttig. :)
xplode
Deze opmerking is gemaakt door de moderator op de site
Het was geweldig! Dank u! Je hebt me uren handwerk bespaard!
Bedanken
Deze opmerking is gemaakt door de moderator op de site
= INDEX ($ A: $ A, RIJ (A1) * 5-5 + KOLOM (A1))
Het was heel eenvoudig en erg handig. Hartelijk bedankt
Hamidreza
Deze opmerking is gemaakt door de moderator op de site
Dit is verdomd GEWELDIG!!! Hartelijk bedankt. Uw voorbeeld was precies wat ik nodig had en het werkte prachtig.
Sian
Deze opmerking is gemaakt door de moderator op de site
Ik heb alleen de formule-optie geprobeerd en het werkte prima. Tot nu toe gebruikt (transponeer formule met ctrl+shift+enter) maar daar is het nadeel voor we hebben veel extra rijen verwijderd. wanneer de te transponeren rijen groot zijn in de orde van lakhs, dan is het verwijderen ervan in Excel onmogelijk of kost het veel tijd.
deze aanpak maakte het leven gemakkelijker door alleen de vereiste rijen te kopiëren... Bedankt
Arun Balaji VN
Deze opmerking is gemaakt door de moderator op de site
Heel erg bedankt _/\_ Geweldig gedaan met =INDEX($A:$A,ROW(B1)*5-5+COLUMN(B1))
werkte perfect
Maha
Deze opmerking is gemaakt door de moderator op de site
Hallo, hoe dit te doen voor Colms to rows. Dank u
Pradeep
Deze opmerking is gemaakt door de moderator op de site
Ik heb de opdracht naar deze herschreven:
=INDEX($A:$A,RIJ(A1)+((KOLOM(A1)-2)*5))
Dit voert het omgekeerd uit.
Zo:
1
2
3
4
5
6
7
8
9
...
wordt
1, 6
2, 7
3, 8
4, 9
5, ...
Jan Steihn
Deze opmerking is gemaakt door de moderator op de site
Ik probeer dit te doen zoals geschreven, en alles wat ik krijg is Error:508
Blaine Hebert
Er zijn nog geen reacties geplaatst
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0  Personages
Voorgestelde locaties