Совет. Другие языки - Google-Translated. Вы можете посетить English версия этой ссылки.
Войти
x
or
x
x
Регистрация
x

or

Как перенести каждый 5 или n строк из одного столбца в несколько столбцов?

doc транспонировать все строки 5 1

Предположим, что у вас длинные данные в столбце A, и теперь вы хотите перенести все строки 5 из столбца A в несколько столбцов, например, транспонировать A1: A5 в C6: G6, A6: A10 в C7: G7 и т. Д. Как следующий снимок экрана. Как вы могли бы справиться с этой задачей без повторного копирования и вставки в Excel?

Транспонировать все 5 или n строк из одного столбца в несколько столбцов с помощью формулы

Транспонировать каждую строку 5 или n из одного столбца в несколько столбцов с кодом VBA

Транспонировать все 5 или n строк из одного столбца в несколько столбцов с помощью Kutools for Excel


Преобразуйте каждый 5 или n строк из одного столбца в несколько столбцов:

Чтобы преобразовать все 5 или n строк из одного столбца в несколько столбцов, Kutools for Excel's Диапазон преобразования утилита поможет вам решить эту задачу как можно быстрее. Он также может помочь вам перенести диапазон данных в одну строку или столбец.

doc транспонировать все строки 5 10

Kutools for Excel: с более чем 200 удобными надстройками Excel, бесплатно попробовать без ограничений в 60-дни. Скачать и бесплатно пробную версию!



В Excel вы можете применить следующую формулу для переноса всех n строк из одного столбца в несколько столбцов, пожалуйста, сделайте следующее:

1, Введите следующую формулу в пустую ячейку, где вы хотите поместить результат, например C1, = ИНДЕКС ($ A: $ A, СТРОКА (A1) * 5-5 + КОЛОННЫ (A1)), см. снимок экрана:

doc транспонировать все строки 5 2

Внимание: В приведенной выше формуле, A: ссылка на столбцы, которую вы хотите перенести, и A1 является первой ячейкой используемого столбца, число 5 указывает количество столбцов, которые будут обнаружены вашими данными, вы можете изменить их на свои нужды. И первая ячейка списка должна быть расположена в первой строке на листе.

2, Затем перетяните дескриптор заливки на пять ячеек и продолжайте перетаскивать дескриптор заполнения до диапазона ячеек, пока не отобразится 0, см. Снимок экрана:

doc транспонировать все строки 5 3


Если вы не можете применить формулу правильно, следующий код VBA также может вам помочь.

1, Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окна.

2. Щелчок Вставить > модуль, и вставьте следующий код в модуль Окно.

Код VBA: Транспонировать все 5 или n строк из одного столбца в несколько столбцов:

Public Sub TransposeData()
'updateby Extendoffice 20151207
    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, После вставки кода, пожалуйста, нажмите F5 чтобы запустить его, и появится окно подсказки, чтобы напомнить вам, выберите столбец, который вы хотите транспонировать, см. снимок экрана:

doc транспонировать все строки 5 4

4, Затем нажмите OK, и выберите одну ячейку, в которую вы хотите поместить результат в другой всплывающий квадрат, см. снимок экрана:

doc транспонировать все строки 5 5

5, И нажмите OK, данные в столбце были преобразованы в пять столбцов, которые вам нужны, см. снимок экрана:

doc транспонировать все строки 5 6

Внимание: В приведенном выше коде вы можете изменить номер 5 к другому номеру, который вам нужен.


Если у вас есть Kutools for Excel, С его Диапазон преобразования утилита, вы можете быстро перенести один столбец или строку в несколько столбцов и строк.

Kutools for Excel : с более чем 300 удобными надстройками Excel, бесплатно попробовать без ограничений в 60-дни.

После установки Kutools for Excel, сделайте следующее:

1, Выберите данные в столбце, а затем нажмите Kutools > Диапазон > Диапазон преобразования, см. снимок экрана:

doc транспонировать все строки 5 7

2. В Диапазон преобразования диалоговое окно, выберите Одиночный столбец вариант под Тип преобразования, а затем проверьте Фиксированная стоимость под Строки на запись, затем укажите количество столбцов, которые вы хотите перенести в Фиксированная стоимость поле, см. снимок экрана:

doc транспонировать все строки 5 8

3, Затем нажмите Ok , в выпадающем окне выберите ячейку для вывода результата, см. снимок экрана:

doc транспонировать все строки 5 9

4, Затем нажмите OK и данные столбцов были перенесены в каждую строку 5 следующим образом:

doc транспонировать все строки 5 6

Скачать и бесплатно пробную версию Kutools для Excel сейчас!


Kutools for Excel: с более чем 200 удобными надстройками Excel, бесплатно попробовать без ограничений в 60-дни. Скачать и бесплатно пробную версию!


Kutools для Excel - лучший инструмент для повышения производительности в офисе Повысьте производительность на 80%

  • Супер Формула Бар (легко редактировать несколько строк текста и формул); Макет чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы и хранение данных; Содержание сплит-клеток; Объедините дублирующиеся строки и сумму / среднее... предотвратить повторяющиеся клетки; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выберите пустые строки (все ячейки пусты); Супер найти и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения формулы ссылки; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Любимые и быстро вставляемые формулы, Диапазоны, графики и рисунки; Шифрование ячеек с паролем; Создать список рассылки и отправлять электронные письма ...
  • Извлечение текстаДобавить текст, Удалить по позиции, Удалить пространство; Создание и печать промежуточных итогов подкачки; Преобразование содержимого ячеек и комментариев...
  • Суперфильтр (сохранить и применить схемы фильтров к другим листам); Расширенный поиск по месяцам / неделям / дням, частоте и более; Специальный фильтр жирным шрифтом, курсивом ...
  • Объединить рабочие тетради и рабочие листы; Объединение таблиц на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Работает с Office 2007-2019 и 365 и поддерживает все языки. Это легко развернуть в вашей компании. Полнофункциональная 60-дневная бесплатная пробная версия.
вкладка kte 201905

Вкладка «Office» предоставляет интерфейс с вкладками для Office и упрощает работу

  • Включить редактирование и чтение с вкладками в Word, Excel, PowerPoint, Издатель, Доступ, Visio и Проект.
  • Открывайте и создавайте несколько документов в новых вкладках одного и того же окна, а не в новых окнах.
  • Увеличивает вашу производительность на 50% и уменьшает сотни щелчков мышью для вас каждый день!
нижняя часть офиса
Say something here...
symbols left.
You are guest ( Sign Up? )
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.
    Maha · 2 months 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 · 3 months 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 · 1 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 · 1 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 · 1 years ago
    It was great! Thank you! You saved me hours of manual work!
  • To post as a guest, your comment is unpublished.
    xplode · 2 years ago
    Thank you so much!
    It was really helpful. :)
  • To post as a guest, your comment is unpublished.
    MTVN · 2 years ago
    What formula to transpose every 5 rows to a single column?
  • To post as a guest, your comment is unpublished.
    hgimongu · 2 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