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

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!

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 formel 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-2021 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
Sorter kommentarer efter
Kommentarer (15)
Bedømt 5 ud af 5 · 1 vurderinger
Denne kommentar blev minimeret af moderatoren på webstedet
Hej! Må jeg spørge dig, hvordan du tilføjer Blank cell afgrænser poster, i stedet for 5, da de data, jeg håndterer, ikke har et fast antal rækker. Jeg tror, ​​at den del, jeg skal ændre, kan være omkring denne del af koden: For i = 1 Til xLRow Trin 5 xRg.Cells(i).Resize(5).Copy xOutRg.Offset(xNRow, 0).PasteSpecial Paste: =xlPasteAll, Transpose:=True xNRow = xNRow + 1 Best
Denne kommentar blev minimeret af moderatoren på webstedet
fik du svar på det samme, da jeg har det samme problem, kolonner er ikke faste i tal, hvad skal jeg gøre, kan jeg bruge et bestemt tegn som afgrænsning, der bryder løkken og tæller næste linje og nyt datasæt?
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg har det samme problem , hvor kolonnerne ikke er løst, og der er tomme linjer, men jeg har samme karakter og slutning af hvert datasæt , det vil sige "=" kan jeg bruge dette som skilletegn , der bryder løkken, og næste linje betragtes som nyt datasæt?
Denne kommentar blev minimeret af moderatoren på webstedet
Hvilken formel skal transponeres hver 5 række til en enkelt kolonne?
Denne kommentar blev minimeret af moderatoren på webstedet
Mange tak! Det var virkelig nyttigt. :)
Denne kommentar blev minimeret af moderatoren på webstedet
Det var godt! Tak skal du have! Du sparede mig for timers manuelt arbejde!
Denne kommentar blev minimeret af moderatoren på webstedet
= INDEKS ($ A: $ A, Række (A1) * 5-5 + KOLONNE (A1))
Det var meget enkelt og virkelig brugbart. Mange tak
Denne kommentar blev minimeret af moderatoren på webstedet
Det her er FANTASTISK!!! Mange tak. Dit eksempel var præcis, hvad jeg havde brug for, og det fungerede smukt.
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg prøvede kun formlen, og det fungerede godt. Indtil nu har vi brugt (Transponer formel med ctrl+shift+enter), men der er ulempen for vi har slettet mange ekstra rækker. når rækkerne, der skal transponeres for store i størrelsesordenen af ​​lakhs, så er sletning af dem i excel enten umuligt eller tager meget tid.
denne tilgang gjorde livet lettere ved kun at kopiere de påkrævede rækker... Tak
Denne kommentar blev minimeret af moderatoren på webstedet
Mange tak _/\_ Fantastisk arbejde med =INDEX($A:$A,ROW(B1)*5-5+COLUMN(B1))
fungerede perfekt
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, Sådan gør du dette for Colms til rækker. tak skal du have
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg har omskrevet kommandoen til denne:
=INDEKS($A:$A, RÆKKE(A1)+((KOLONNE(A1)-2)*5))
Dette udfører det omvendt.
Så derfor:
1
2
3
4
5
6
7
8
9
...
bliver
1, 6
2, 7
3, 8
4, 9
5,...
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg prøver at gøre dette som skrevet, og alt hvad jeg får er Fejl:508
Denne kommentar blev minimeret af moderatoren på webstedet
Du er et geni. Tak!
Bedømt 5 ud af 5
Denne kommentar blev minimeret af moderatoren på webstedet
Hej,

J'ai, dans mon unikke colonne de données, des cellules placeres 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, Heeellp...

Merci d'avance
Stéphane
Der er endnu ingen kommentarer her
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL