Note: The other languages of the website are Google-translated. Back to English
Logga in  \/ 
x
or
x
Registrera  \/ 
x

or

Hur transponerar jag var 5: e eller varannan rad från en kolumn till flera kolumner?

doc transponera var 5: e rad 1

Om du antar att du har långa data i kolumn A, och nu vill du transponera var femte rad från kolumn A till flera kolumner, till exempel transponera A5: A1 till C5: G6, A6: A6 till C10: G7, och så vidare som följande skärmdump visas. Hur kan du hantera den här uppgiften utan att kopiera och klistra in flera gånger i Excel?

Transponera var 5: e eller varannan rad från en kolumn till flera kolumner med formeln

Transponera var 5: e eller varannan rad från en kolumn till flera kolumner med VBA-kod

Transponera var 5: e eller varannan rad från en kolumn till flera kolumner med Kutools för Excel


I Excel kan du använda följande formel för att transponera varje n rader från en kolumn till flera kolumner, gör så här:

1. Ange följande formel i en tom cell där du vill lägga resultatet, C1, till exempel, = INDEX ($ A: $ A, RAD (A1) * 5-5 + KOLONN (A1)), se skärmdump:

doc transponera var 5: e rad 2

Anmärkningar: I ovanstående formel, A: A är kolumnreferensen som du vill transponera, och A1 är den första cellen i den använda kolumnen, numret 5 anger antalet kolumner som dina data kommer att hitta, du kan ändra dem efter behov. Och den första cellen i listan måste placeras på första raden i kalkylbladet.

2. Dra sedan påfyllningshandtaget åt höger till fem celler och fortsätt att dra påfyllningshandtaget ner till cellområdet tills visar 0, se skärmdump:

doc transponera var 5: e rad 3


Omvandla var 5: e eller varannan rad från en kolumn till flera kolumner:

För att omvandla var 5: e eller varannan rad från en kolumn till flera kolumner, Kutools för Excel's Transform Range verktyget kan hjälpa dig att lösa detta jobb så fort du kan. Det kan också hjälpa dig att transponera en rad data till en rad eller kolumn. Klicka för att ladda ner Kutools för Excel!

doc transponera var 5: e rad 10

Kutools för Excel: med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar. Ladda ner och testa gratis nu!


Om du inte kan använda formeln korrekt kan följande VBA-kod också hjälpa dig.

1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.

VBA-kod: Transponera var 5: e eller varannan rad från en kolumn till flera kolumner:

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 klistrat in koden, tryck F5 nyckel för att köra den, och en snabbruta dyker upp för att påminna dig om att du väljer den kolumn som du vill transponera, se skärmdump:

doc transponera var 5: e rad 4

4. Klicka sedan OK, och välj en cell där du vill placera resultatet i en annan poppad ruta, se skärmdump:

doc transponera var 5: e rad 5

5. och klicka OK, har data i kolumnen konverterats till fem kolumner som du behöver, se skärmdump:

doc transponera var 5: e rad 6

Anmärkningar: I koden ovan kan du ändra numret 5 till ett annat nummer du behöver.


Om du har Kutools för Excel, med dess Transform Range verktyget kan du snabbt transponera en kolumn eller rad till flera kolumner och rader.

Kutools för Excel : med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar. 

När du har installerat Kutools för Excel, gör så här:

1. Markera data i kolumnen och klicka sedan på Kutools > Intervall > Transform Range, se skärmdump:

2. I Transform Range dialogrutan väljer du Enstaka kolumn för intervall alternativet under Transformera typ, och kontrollera sedan Fast värde under Rader per post, ange sedan antalet kolumner som du vill transponera till i Fast värde ruta, se skärmdump:

doc transponera var 5: e rad 8

3. Och klicka sedan på Ok knapp, välj en cell för att mata ut resultatet, se skärmdump:

doc transponera var 5: e rad 9

4. Klicka sedan OK -knappen och din kolumninformation har transponerats var femte rad enligt följande skärmdump:

doc transponera var 5: e rad 6

Ladda ner och testa gratis Kutools för Excel nu!


Kutools för Excel: med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar. Ladda ner och testa gratis nu!

De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2019 och 365. Stöder alla språk. Enkel distribution i ditt företag eller organisation. Fullständiga funktioner 30-dagars gratis provperiod. 60-dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50% och minskar hundratals musklick åt dig varje dag!
officetab botten
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 ?