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

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

документ транспонировать каждые 5 строк 1

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

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

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

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


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

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

документ транспонировать каждые 5 строк 2

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

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

документ транспонировать каждые 5 строк 3


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

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

документ транспонировать каждые 5 строк 10

Kutools for Excel: с более чем 300 удобными надстройками Excel, которые можно попробовать бесплатно без ограничений в течение 30 дней. Загрузите и бесплатную пробную версию прямо сейчас!


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

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

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 нажмите клавишу, чтобы запустить его, и появится диалоговое окно, напоминающее вам о выборе столбца, который вы хотите транспонировать, см. снимок экрана:

документ транспонировать каждые 5 строк 4

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

документ транспонировать каждые 5 строк 5

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

документ транспонировать каждые 5 строк 6

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


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

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

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

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

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

документ транспонировать каждые 5 строк 8

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

документ транспонировать каждые 5 строк 9

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

документ транспонировать каждые 5 строк 6

Загрузите бесплатную пробную версию Kutools for Excel прямо сейчас!


Kutools for Excel: с более чем 300 удобными надстройками Excel, которые можно попробовать бесплатно без ограничений в течение 30 дней. Загрузите и бесплатную пробную версию прямо сейчас!

Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

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

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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (15)
Номинальный 5 из 5 · рейтинги 1
Этот комментарий был сведен к минимуму модератором на сайте
Привет! Могу я спросить вас, как добавить записи с разделителями пустых ячеек вместо 5, поскольку данные, которые я обрабатываю, не имеют фиксированного количества строк. Я считаю, что часть, которую я должен изменить, может быть вокруг этой части кода: 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 лучший
Этот комментарий был сведен к минимуму модератором на сайте
Вы получили ответ на тот же вопрос, что и у меня, столбцы не фиксируются в числах, что мне делать, могу ли я использовать определенный символ в качестве разделителя, который прерывает цикл и подсчитывает следующую строку и новый набор данных?
Этот комментарий был сведен к минимуму модератором на сайте
У меня та же проблема, когда столбцы не фиксированы и есть пустые строки, но у меня есть тот же символ и конец каждого набора данных, то есть "=", могу ли я использовать это как разделитель, который прерывает цикл и следующая строка считается новым набором данных?
Этот комментарий был сведен к минимуму модератором на сайте
Какую формулу перенести каждые 5 строк в один столбец?
Этот комментарий был сведен к минимуму модератором на сайте
Большое спасибо! Это было действительно полезно. :)
Этот комментарий был сведен к минимуму модератором на сайте
Это было здорово! Благодарю вас! Вы сэкономили мне часы ручной работы!
Этот комментарий был сведен к минимуму модератором на сайте
= ИНДЕКС ($ A: $ A; СТРОКА (A1) * 5-5 + КОЛОНКА (A1))
Это было очень просто и действительно полезно. Большое спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Это чертовски ВЕЛИКОЛЕПНО!!! Спасибо большое. Ваш пример был именно тем, что мне было нужно, и он прекрасно работал.
Этот комментарий был сведен к минимуму модератором на сайте
Я пробовал только вариант формулы, и он отлично работал. До сих пор мы использовали (формулу транспонирования с помощью Ctrl + Shift + Enter), но есть недостаток, поскольку мы удаляем много лишних строк. когда строки нужно транспонировать для больших в порядке лакхов, то удалить их в excel либо невозможно, либо занимает много времени.
этот подход упростил жизнь, скопировав только необходимые строки... Спасибо.
Этот комментарий был сведен к минимуму модератором на сайте
Большое спасибо _/\_ Отличная работа с =INDEX($A:$A,СТРОКА(B1)*5-5+СТОЛБЦ(B1))
отлично работал
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Как это сделать для Colms для строк. Спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Я переписал команду на эту:
=ИНДЕКС($A:$A,СТРОКА(A1)+((СТОЛБЦ(A1)-2)*5))
Это выполняет его перевернутым.
Итак:
1
2
3
4
5
6
7
8
9
...
становится
1, 6
2, 7
3, 8
4, 9
5,...
Этот комментарий был сведен к минимуму модератором на сайте
Я пытаюсь сделать это так, как написано, и все, что я получаю, это Ошибка: 508
Этот комментарий был сведен к минимуму модератором на сайте
Ты гений. Спасибо!
Номинальный 5 из 5
Этот комментарий был сведен к минимуму модератором на сайте
Привет,

J'ai, в уникальной колонне de données, des Cellules Placées 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 columns 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. ..

Бреф, Хеелллп...

Merci d'Avance
Стефан
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL