Note: The other languages of the website are Google-translated. Back to English
Log på  \/ 
x
or
x
Tilmeld  \/ 
x

or

Hvordan transponeres hver 5. eller n række fra en kolonne til flere kolonner?

doc transponere hver 5. række 1

Antag, du har lange data i kolonne A, og nu vil du transponere hver 5. række fra kolonne A til flere kolonner, såsom transponere A1: A5 til C6: G6, A6: A10 til C7: G7 og så videre som følgende skærmbillede vist. Hvordan kunne du håndtere denne opgave uden at kopiere og indsætte gentagne gange i Excel?

Transponér hver 5. eller n række fra en kolonne til flere kolonner med formlen

Transponér hver 5. eller n række fra en kolonne til flere kolonner med VBA-kode

Transponér hver 5. eller n række fra en kolonne til flere kolonner med Kutools til Excel


I Excel kan du anvende følgende formel til at transponere hver n række fra en kolonne til flere kolonner, gør som følger:

1. Indtast følgende formel i en tom celle, hvor du vil placere resultatet, C1, for eksempel, = INDEKS ($ A: $ A, Række (A1) * 5-5 + KOLONNE (A1)), se skærmbillede:

doc transponere hver 5. række 2

Bemærk: I ovenstående formel A: En er den kolonnereference, som du vil transponere, og A1 er den første celle i den anvendte kolonne, tallet 5 angiver antallet af kolonner, som dine data vil finde, du kan ændre dem til dit behov. Og den første celle på listen skal placeres i første række i regnearket.

2. Træk derefter fyldhåndtaget til højre til fem celler, og fortsæt med at trække fyldhåndtaget ned til celleområdet, indtil viser 0, se skærmbillede:

doc transponere hver 5. række 3


Transform hver 5. eller n række fra en kolonne til flere kolonner:

For at transformere hver 5. eller n række fra en kolonne til flere kolonner, Kutools til Excel's Transform Range hjælpeprogram kan hjælpe dig med at løse dette job så hurtigt som muligt. Det kan også hjælpe dig med at transponere en række data til en enkelt række eller kolonne. Klik for at downloade Kutools til Excel!

doc transponere hver 5. række 10

Kutools til Excel: med mere end 300 praktiske Excel-tilføjelsesprogrammer, gratis at prøve uden begrænsning på 30 dage. Download og gratis prøveversion nu!


Hvis du ikke kan anvende formlen korrekt, kan følgende VBA-kode også hjælpe dig.

1. Hold nede ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.

2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler Vindue.

VBA-kode: Transponér hver 5. eller n række fra en kolonne til flere kolonner:

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. Når du har indsat koden, skal du trykke på F5 nøgle til at køre det, og et hurtigfelt vises der for at minde dig om at vælge den kolonne, du vil transponere, se skærmbillede:

doc transponere hver 5. række 4

4. Klik derefter på OK, og vælg en celle, hvor du vil placere resultatet i en anden poppet ud-boks, se skærmbillede:

doc transponere hver 5. række 5

5. og klik OK, dataene i kolonnen er konverteret til fem kolonner, som du har brug for, se skærmbillede:

doc transponere hver 5. række 6

Bemærk: I ovenstående kode kan du ændre nummeret 5 til et andet nummer, du har brug for.


Hvis du har Kutools til Excel, Med Transform Range værktøj, kan du hurtigt transponere en kolonne eller række til flere kolonner og rækker.

Kutools til Excel : med mere end 300 praktiske Excel-tilføjelsesprogrammer, gratis at prøve uden begrænsning på 30 dage. 

Efter installation Kutools til Excelskal du gøre som følger:

1. Vælg dataene i kolonnen, og klik derefter på Kutools > Range > Transform Range, se skærmbillede:

2. I Transform Range dialogboksen, vælg En kolonne til rækkevidde mulighed under Transform type, og kontroller derefter Fast værdi under Rækker pr. Rekord, angiv derefter antallet af kolonner, som du vil transponere til i Fast værdi boks, se skærmbillede:

doc transponere hver 5. række 8

3. Og klik derefter på Ok knap, i den poppede boks skal du vælge en celle for at output resultatet, se skærmbillede:

doc transponere hver 5. række 9

4. Klik derefter på OK knap, og dine søjledata er blevet transponeret hver 5. række som følgende skærmbillede vist:

doc transponere hver 5. række 6

Download og gratis prøveversion Kutools til Excel nu!


Kutools til Excel: med mere end 300 praktiske Excel-tilføjelsesprogrammer, gratis at prøve uden begrænsning på 30 dage. Download og gratis prøveversion nu!

De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super Formula Bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2019 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60-dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50% og reducerer hundredvis af museklik for dig hver dag!
officetab bund
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 ?