Note: The other languages of the website are Google-translated. Back to English
Zaloguj Się  \/ 
x
or
x
Zarejestruj się  \/ 
x

or

Jak przetransponować co 5 lub n wierszy z jednej kolumny do wielu kolumn?

doc transponuj co 5 wierszy 1

Przypuśćmy, że masz długie dane w kolumnie A, a teraz chcesz transponować co 5 wierszy z kolumny A do wielu kolumn, na przykład transponować A1: A5 do C6: G6, A6: A10 do C7: G7 itd. następujący zrzut ekranu. Jak poradzić sobie z tym zadaniem bez wielokrotnego kopiowania i wklejania w programie Excel?

Transponuj co 5 lub n wierszy z jednej kolumny do wielu kolumn za pomocą formuły

Transponuj co 5 lub n wierszy z jednej kolumny do wielu kolumn za pomocą kodu VBA

Transponuj co 5 lub n wierszy z jednej kolumny do wielu kolumn za pomocą Kutools for Excel


W programie Excel możesz zastosować następującą formułę, aby transponować każde n wierszy z jednej kolumny do wielu kolumn, wykonaj następujące czynności:

1. Wprowadź następującą formułę do pustej komórki, w której chcesz umieścić wynik, na przykład C1, = INDEKS ($ A: $ A, WIERSZ (A1) * 5-5 + KOLUMNA (A1))zobacz zrzut ekranu:

doc transponuj co 5 wierszy 2

Uwagi: W powyższym wzorze, Odp .: A to odniesienie do kolumny, które chcesz przetransponować, a A1 jest pierwszą komórką używanej kolumny, liczbą 5 wskazuje liczbę kolumn, które zostaną zlokalizowane przez Twoje dane, możesz je zmienić według potrzeb. Pierwsza komórka listy musi znajdować się w pierwszym wierszu arkusza.

2. Następnie przeciągnij uchwyt wypełniania w prawo do pięciu komórek i kontynuuj przeciąganie uchwytu wypełniania w dół do zakresu komórek, aż wyświetli się 0, patrz zrzut ekranu:

doc transponuj co 5 wierszy 3


Przekształć co 5 lub n wierszy z jednej kolumny na wiele kolumn:

Aby przekształcić co 5 lub n wierszy z jednej kolumny na wiele kolumn, Kutools dla programu Excel's Zakres transformacji narzędzie może pomóc w rozwiązaniu tego zadania tak szybko, jak to tylko możliwe. Może również pomóc w transpozycji zakresu danych do pojedynczego wiersza lub kolumny. Kliknij, aby pobrać Kutools dla programu Excel!

doc transponuj co 5 wierszy 10

Kutools dla programu Excel: z ponad 300 poręcznymi dodatkami do programu Excel, które można wypróbować bez ograniczeń w ciągu 30 dni. Pobierz i bezpłatną wersję próbną teraz!


Jeśli nie możesz poprawnie zastosować formuły, następujący kod VBA również może Ci pomóc.

1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2, Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.

Kod VBA: transponuj co 5 lub n wierszy z jednej kolumny do wielu kolumn:

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. Po wklejeniu kodu naciśnij F5 klawisz, aby go uruchomić, a pojawi się okno zachęty przypominające o wybraniu kolumny, którą chcesz transponować, patrz zrzut ekranu:

doc transponuj co 5 wierszy 4

4. Następnie kliknij OKi wybierz jedną komórkę, w której chcesz umieścić wynik w innym wyskakującym okienku, zobacz zrzut ekranu:

doc transponuj co 5 wierszy 5

5, i kliknij OKdane w kolumnie zostały przekonwertowane na pięć potrzebnych kolumn, patrz zrzut ekranu:

doc transponuj co 5 wierszy 6

Uwagi: W powyższym kodzie możesz zmienić numer 5 na inny numer, którego potrzebujesz.


Jeśli masz Kutools dla programu Excel, Z siedzibą w Zakres transformacji narzędzie, możesz szybko transponować jedną kolumnę lub wiersz do wielu kolumn i wierszy.

Kutools dla programu Excel : z ponad 300 poręcznymi dodatkami Excela, które można wypróbować bez ograniczeń w ciągu 30 dni. 

Po zainstalowaniu Kutools dla programu Excelwykonaj następujące czynności:

1. Wybierz dane w kolumnie, a następnie kliknij Kutools > Zakres > Zakres transformacjizobacz zrzut ekranu:

2, w Zakres transformacji okno dialogowe, wybierz Pojedyncza kolumna do zakresu opcja pod Typ transformacji, a następnie sprawdź Stała wartość pod Wiersze na rekord, a następnie określ liczbę kolumn, do których chcesz transponować w pliku Stała wartość pudełko, patrz zrzut ekranu:

doc transponuj co 5 wierszy 8

3. A następnie kliknij Ok przycisk, w wyskakującym okienku wybierz komórkę, aby wyświetlić wynik, patrz zrzut ekranu:

doc transponuj co 5 wierszy 9

4. Następnie kliknij OK przycisk, a dane kolumny zostały transponowane co 5 wierszy, jak pokazano na poniższym zrzucie ekranu:

doc transponuj co 5 wierszy 6

Pobierz i bezpłatną wersję próbną Kutools dla programu Excel teraz!


Kutools dla programu Excel: z ponad 300 poręcznymi dodatkami do programu Excel, które można wypróbować bez ograniczeń w ciągu 30 dni. Pobierz i bezpłatną wersję próbną teraz!

Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2019 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowy bezpłatny okres próbny. 60-dniowa gwarancja zwrotu pieniędzy.
kte tab 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszą każdego dnia!
officetab dół
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 ?