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

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

Author: Xiaoyang Last Modified: 2025-06-05

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

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

Транспонирование / Преобразование столбцов и строк в одну строку с помощью кода 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
Популярные функции: Найти, выделить или отметить дубликаты | Удалить пустые строки | Объединить столбцы или ячейки без потери данных |   Округлить без формулы ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP с несколькими значениями | Многолистовой поиск | Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Избранные функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгами и листами | Библиотека автотекста | Выбор даты | Объединить данные | Шифрование/расшифровка ячеек | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр ячеек с жирным/курсивом/зачёркнутым...) ...
Топ-15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ практических формул (Расчет возраста на основе даты рождения, ...) |19 инструментов вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов для объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое

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


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

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