Перейти к содержимому

Как транспонировать / преобразовать столбцы и строки в одну строку?

Author: Xiaoyang Last Modified: 2025-08-07

Как объединить несколько строк и столбцов в одну длинную строку? Возможно, вам это кажется простым, так как вы можете копировать их по одному и вручную объединять в строку. Но если есть сотни строк и столбцов, это будет отнимать много времени и утомительно. Здесь я расскажу о некоторых быстрых способах решения этой задачи.

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

Транспонирование / Преобразование столбцов и строк в одну строку с помощью кода VBA

Транспонирование / Преобразование столбцов и строк в одну строку с помощью Kutools для Excel


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

Предположим, у вас есть диапазон данных, как показано на следующем скриншоте, вы можете преобразовать данные диапазона в одну строку на новом листе с помощью длинной формулы.

doc-convert-range-to-row1

Пожалуйста, примените формулу следующим образом:

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. В этом случае все данные в диапазоне будут транспонированы в одну строку на новом листе. См. скриншот:

doc-convert-range-to-row2


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

screenshot of converting range to row with VBA
screenshot of converting range to row with VBA arrow
screenshot of converting range to row with VBA 2

Затем нажмите Ok, содержимое выбранного диапазона преобразуется в строку. См. скриншот:

screenshot of converting range to row with VBA original data
screenshot of converting range to row with VBA arrow 2
screenshot of converting range to row with VBA result

Примечание: В Set OutRng = OutRng.Offset(0, xCols + 0) вы можете изменить 0 на любое число по вашему усмотрению.

Например, если вы хотите разделить результаты согласно исходным строкам через один столбец, вы можете изменить Set OutRng = OutRng.Offset(0, xCols + 0) на Set OutRng = OutRng.Offset(0, xCols + 1), результаты будут показаны следующим образом:

screenshot of converting range to row with VBA example


Транспонирование / Преобразование столбцов и строк в одну строку с помощью Kutools для Excel

Кажется, что два вышеупомянутых метода несколько сложны для нас, начинающих пользователей Excel, здесь я расскажу о удобном инструменте — Kutools для Excel.

Kutools для Excel включает более 300 удобных инструментов для Excel. Бесплатная пробная версия без ограничений в течение 30 дней. Получите его сейчас

С помощью утилиты Преобразовать диапазон из Kutools для Excel вы можете быстро преобразовать диапазон в одну строку, выполните следующие действия:

1. Выберите диапазон, который вы хотите транспонировать.

2. Нажмите Kutools > Диапазон > Преобразовать диапазон.

3. В диалоговом окне Преобразовать диапазон выберите опцию Диапазон в одну строку, см. скриншот:

screenshot of converting range to row with kutools for Excel dialog

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

screenshot of converting range to row with kutools for Excel output range dialog

5. Нажмите OK, и данные в диапазоне будут транспонированы в одну строку. См. скриншоты:

doc-convert-range-to-row1
-1
doc-convert-range-to-row7

Если вы хотите узнать больше об этой функции, пожалуйста, посетите Преобразовать диапазон.


Связанные статьи:

Как изменить строку на столбец в Excel?

Как транспонировать / преобразовать один столбец в несколько столбцов в Excel?

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

Лучшие инструменты для повышения продуктивности в Office

🤖 Kutools AI Aide: Переворот в анализе данных на основе: Интеллектуальное выполнение   |  Сгенерировать код  |  Создать Пользовательские Формулы  |  Анализ данных и генерация диаграмм  |  Вызов Kutools Functions
Популярные функции: Найти, выделить или отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячейки без потери данных   |   Округлить...
Супер ПОИСК: VLookup с несколькими критериями    VLookup с несколькими значениями  |   Многолистовой поиск   |   Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскр. список   |  Зависимый раскрывающийся список   |  Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки   |  Дизайн листа   |   Улучшенная строка формулы    Управление книгой и листами   |  Библиотека автотекста (Auto Text)   |  Выбор даты   |  Объединить данные   |  Шифрование/Расшифровка ячеек    Отправить письмо по списку   |  Супер фильтр   |   Специальный фильтр (фильтр по жирному/курсиву/зачеркиванию...) ...
Топ–15 наборов инструментов: 12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...)   |   50+ типов диаграмм (Диаграмма Ганта, ...)   |   40+ практических формул (Расчет возраста на основе даты рождения, ...)   |   19 инструментов вставки (Вставить QR-код, Вставить изображение из пути, ...)   |  12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...)   |  7 инструментов объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...)   |   ... и многое другое
Используйте Kutools на вашем предпочитаемом языке – поддерживаются английский, испанский, немецкий, французский, китайский и более40 других языков!

Повысьте свои навыки работы в Excel с Kutools для Excel и ощутите новую эффективность. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени.  Щелкните здесь, чтобы получить наиболее нужную вам функцию...


Office Tab добавляет вкладочный интерфейс в Office, делая вашу работу значительно проще

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна, а не в новых окнах.
  • Увеличьте свою продуктивность на50% и сократите сотни кликов мышью ежедневно!