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

Транспонирование каждых 5 (или n) строк из одного столбца в несколько столбцов в Excel — отличный способ структурировать данные для анализа или отчётности. Представьте: у вас есть длинный список в столбце A, и вы хотите преобразовать каждые 5 строк в отдельную строку с несколькими столбцами — например, A1:A5 → C6:G6, A6:A10 → C7:G7 и так далее, как показано на скриншоте слева. Эту задачу можно решить несколькими способами, каждый из которых имеет свои плюсы. Давайте разберём пошагово, как это сделать.
Транспонирование каждых 5 или n строк из одного столбца в несколько столбцов
Транспонирование каждых 5 или n строк из одного столбца в несколько столбцов с помощью формулы
В Excel вы можете использовать следующую формулу, чтобы транспонировать каждые n строк из одного столбца в несколько столбцов. Выполните следующие действия:
1. Введите следующую формулу в пустую ячейку, в которую вы хотите поместить результат.
=INDEX($A:$A,ROW(A1)*5-5+COLUMN(A1)) 
2. Затем перетащите маркер заполнения вправо на пять ячеек, а затем — вниз до появления значения 0 (см. скриншот):

Транспонирование каждых 5 или n строк из одного столбца в несколько столбцов с помощью Kutools для Excel
Устали от транспонирования данных Excel из одного столбца в несколько столбцов? Функция «Преобразовать диапазон» из «Kutools для Excel» решит ваши проблемы! Независимо от того, нужно ли вам транспонировать каждые 5 строк или произвольное количество строк, мы предусмотрели все необходимое. Гибкое преобразование строк позволяет свободно выбирать количество строк для транспонирования из одного столбца в несколько столбцов. Это просто и быстро, не требует сложных операций — всего несколько кликов, и готово.
После установки «Kutools для Excel» выполните следующие действия:
1. Выделите данные в столбце и выберите «Kutools» > «Диапазон» > «Преобразовать диапазон» (см. скриншот):

2. В диалоговом окне «Преобразовать диапазон» выберите в разделе «Тип преобразования» опцию «Одна колонка в диапазон», установите флажок «Фиксированное значение» в поле «Строк на запись» и укажите в этом же поле количество столбцов, в которые требуется транспонировать данные (см. скриншот):

3. Затем нажмите кнопку «ОК». Во всплывающем окне выберите ячейку для вывода результата — см. скриншот:

4. После этого нажмите кнопку «ОК» — и ваши данные из столбца будут транспонированы по 5 строк, как показано на следующем скриншоте:

Транспонирование каждых 5 или n строк из одного столбца в несколько столбцов с помощью кода VBA
Если у вас возникают трудности с корректным применением формулы, на помощь придёт следующий код VBA.
1. Удерживая клавиши «ALT» + «F11», откройте окно Microsoft Visual Basic for Applications.
2. Нажмите «Вставка» > «Модуль» и вставьте приведённый ниже код в окно модуля.
Код VBA: Транспонирование каждых 5 или n строк из одного столбца в несколько столбцов:
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. После вставки кода нажмите клавишу «F5» для его выполнения — появится окно с запросом выбора столбца, который вы хотите транспонировать (см. скриншот):

4. Затем нажмите «ОК» и во всплывающем окне выберите ячейку, в которую следует поместить результат (см. скриншот):

5. Нажмите «ОК» — и данные из столбца автоматически преобразуются в нужные вам пять столбцов (см. скриншот):

В этой статье представлены три эффективных способа транспонировать каждые 5 или n строк из одного столбца в несколько столбцов в Excel. Каждый метод предлагает свой подход к перегруппировке данных — с учётом разного уровня знакомства пользователей с инструментами Excel и навыками программирования. Если вы хотите освоить ещё больше полезных приёмов работы в Excel, на нашем сайте доступны тысячи обучающих материалов.
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек