Gå til hovedindhold

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ér rækkevidde 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ér rækkevidde 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ér rækkevidde, se skærmbillede:

2. I Transformér rækkevidde dialogboksen, vælg En kolonne til rækkevidde mulighed under Transformeringstype, 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!

Bedste kontorproduktivitetsværktøjer

Populære funktioner: Find, fremhæv eller identificer dubletter   |  Slet tomme rækker   |  Kombiner kolonner eller celler uden at miste data   |   Runde uden formel ...
Super opslag: VLookup med flere kriterier    Multiple Value VLookup  |   VOpslag på tværs af flere ark   |   Fuzzy Lookup ....
Avanceret rulleliste: Opret hurtigt rulleliste   |  Afhængig rulleliste   |  Multivælg rulleliste ....
Column Manager: Tilføj et bestemt antal kolonner  |  Flyt kolonner  |  Skift synlighedsstatus for skjulte kolonner  |  Sammenlign områder og kolonner ...
Fremhævede funktioner: Grid fokus   |  Designvisning   |   Stor Formel Bar    Arbejdsbog & Ark Manager   |  Ressourcebibliotek (Autotekst)   |  Datovælger   |  Kombiner regneark   |  Krypter/Dekrypter celler    Send e-mails efter liste   |  Superfilter   |   Specielt filter (filter fed/kursiv/gennemstreget...) ...
Top 15 værktøjssæt12 tekst Værktøj (tilføje tekst, Fjern tegn, ...)   |   50 + Chart Typer (Gantt kort, ...)   |   40+ Praktisk formler (Beregn alder baseret på fødselsdag, ...)   |   19 Indsættelse Værktøj (Indsæt QR-kode, Indsæt billede fra sti, ...)   |   12 Konvertering Værktøj (Tal til ord, Valutaomregning, ...)   |   7 Flet og del Værktøj (Avancerede kombinere rækker, Opdel celler, ...)   |   ... og mere

Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid.  Klik her for at få den funktion, du har mest brug for...

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!
Comments (15)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Bonjour,

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 signifierait le début de la ligne suivante...

Bref, Heeelllp...

Merci d'avance
Stéphane
This comment was minimized by the moderator on the site
You're a genius. Thanks!
Rated 5 out of 5
This comment was minimized by the moderator on the site
I try doing this just as written, and all I get is Error:508
This comment was minimized by the moderator on the site
Hi, How to do this for Colms to rows. Thank you
This comment was minimized by the moderator on the site
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, ...
This comment was minimized by the moderator on the site
Thanks alot _/\_ Awesome job with =INDEX($A:$A,ROW(B1)*5-5+COLUMN(B1))
worked perfectly
This comment was minimized by the moderator on the site
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
This comment was minimized by the moderator on the site
This is fricking AWESOME!!! Thank you SO much. Your example was exactly what I needed and it worked beautifully.
This comment was minimized by the moderator on the site
=INDEX($A:$A,ROW(A1)*5-5+COLUMN(A1))
It was very simple and really useful. Thank you so much
This comment was minimized by the moderator on the site
It was great! Thank you! You saved me hours of manual work!
This comment was minimized by the moderator on the site
Thank you so much! It was really helpful. :)
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations