Как транспонировать / преобразовать столбцы и строки в одну строку?
Как объединить несколько строк и столбцов в одну длинную строку? Возможно, вам это кажется простым, так как вы можете копировать их по одному и вручную объединять в строку. Но если есть сотни строк и столбцов, это будет отнимать много времени и утомительно. Здесь я расскажу о некоторых быстрых способах решения этой задачи.
Транспонирование / Преобразование столбцов и строк в одну строку с помощью формулы
Транспонирование / Преобразование столбцов и строк в одну строку с помощью кода VBA
Транспонирование / Преобразование столбцов и строк в одну строку с помощью Kutools для Excel
Транспонирование / Преобразование столбцов и строк в одну строку с помощью формулы
Предположим, у вас есть диапазон данных, как показано на следующем скриншоте, вы можете преобразовать данные диапазона в одну строку на новом листе с помощью длинной формулы.
Пожалуйста, примените формулу следующим образом:
1. На новом листе активной книги щелкните ячейку A1, скопируйте и вставьте эту формулу: =OFFSET(Sheet1!$A$1,((ROW()-1)*5)+(FLOOR(COLUMN()-1,4)/4),(COLUMN()-1)-(FLOOR(COLUMN()-1,4)))
Примечание: Sheet1!$A$1 — это ссылки на лист и диапазон, которые вы хотите использовать.
ROW()-1)*5 в приведенной выше формуле, 5 обозначает номер строки; а COLUMN()-1,4)/4, 4 обозначает номер столбца. Вы можете изменить их по своему усмотрению.
2. Затем перетащите маркер заполнения вправо, пока не появится число 0. В этом случае все данные в диапазоне будут транспонированы в одну строку на новом листе. См. скриншот:
Транспонирование / Преобразование столбцов и строк в одну строку с помощью кода VBA
Следующий код VBA также может помочь вам преобразовать диапазон данных в одну строку.
1. Нажмите и удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. Щелкните Вставить > Модуль и вставьте следующий код в окно Модуль.
Sub TransformOneRow()
'Updateby20131120
Dim InputRng As Range, OutRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Ranges to be transform :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Paste to (single cell):", xTitleId, Type:=8)
Application.ScreenUpdating = False
xRows = InputRng.Rows.Count
xCols = InputRng.Columns.Count
For i = 1 To xRows
InputRng.Rows(i).Copy OutRng
Set OutRng = OutRng.Offset(0, xCols + 0)
Next
Application.ScreenUpdating = True
End Sub
3. Затем нажмите клавишу F5, чтобы запустить код, появится диалоговое окно, в котором вы сможете выбрать диапазон содержимого, которое хотите преобразовать в строку, и нажмите Ok, другое всплывающее диалоговое окно позволит вам выбрать одну ячейку для вывода результата. См. скриншоты:
![]() |
![]() |
![]() |
Затем нажмите Ok, содержимое выбранного диапазона преобразуется в строку. См. скриншот:
![]() |
![]() |
![]() |
Примечание: В Set OutRng = OutRng.Offset(0, xCols + 0) вы можете изменить 0 на любое число по вашему усмотрению.
Например, если вы хотите разделить результаты согласно исходным строкам через один столбец, вы можете изменить Set OutRng = OutRng.Offset(0, xCols + 0) на Set OutRng = OutRng.Offset(0, xCols + 1), результаты будут показаны следующим образом:
Транспонирование / Преобразование столбцов и строк в одну строку с помощью Kutools для Excel
Кажется, что два вышеупомянутых метода несколько сложны для нас, начинающих пользователей Excel, здесь я расскажу о удобном инструменте — Kutools для Excel.
Kutools для Excel включает более 300 удобных инструментов для Excel. Бесплатная пробная версия без ограничений в течение 30 дней. Получите его сейчас
С помощью утилиты Преобразовать диапазон из Kutools для Excel вы можете быстро преобразовать диапазон в одну строку, выполните следующие действия:
1. Выберите диапазон, который вы хотите транспонировать.
2. Нажмите Kutools > Диапазон > Преобразовать диапазон.
3. В диалоговом окне Преобразовать диапазон выберите опцию Диапазон в одну строку, см. скриншот:
4. Затем нажмите OK и выберите ячейку для размещения результата из всплывающего окна.
5. Нажмите OK, и данные в диапазоне будут транспонированы в одну строку. См. скриншоты:
![]() |
![]() |
![]() |
Если вы хотите узнать больше об этой функции, пожалуйста, посетите Преобразовать диапазон.
Связанные статьи:
Как изменить строку на столбец в Excel?
Как транспонировать / преобразовать один столбец в несколько столбцов в Excel?
Как транспонировать / преобразовать столбцы и строки в один столбец?
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!