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

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

Author: Xiaoyang Last Modified: 2025-08-07

При работе с листом Excel иногда вы можете столкнуться с такой проблемой: как преобразовать или транспонировать диапазон данных в один столбец? (См. следующие скриншоты:) Сейчас я представлю вам три быстрых способа решения этой проблемы.

original data arrow right convert range to single column

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

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

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


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

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

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

define a range name for the range of data

2. После указания имени диапазона щелкните пустую ячейку, в этом примере я щелкну ячейку E1, а затем введу эту формулу: =INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1).

Примечание: MyData — это имя диапазона выбранных данных, вы можете изменить его по своему усмотрению.

3. Затем перетащите формулу вниз до ячейки, пока не появится информация об ошибке. Все данные в диапазоне будут транспонированы в один столбец. Смотрите скриншот:

 input a formula to get the result


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

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

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

После бесплатной установки Kutools для Excel выполните следующие действия:

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

2. Щелкните Kutools > Преобразовать диапазон, см. скриншот:

click Transform Range feature of kutools

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

select Range to single column option

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

specify a cell to put the result

5. Нажмите OK, и данные из нескольких столбцов и строк будут транспонированы в один столбец.
the range data has been transposed into a one column

Если вы хотите преобразовать столбец в диапазон с фиксированными строками, вы также можете использовать функцию Преобразовать диапазон для быстрого выполнения этой задачи.
convert one column to a range with kutools


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

С помощью следующего кода VBA вы также можете объединить несколько столбцов и строк в один столбец.

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

2. Щелкните Вставить > Модуль и вставьте следующий код в окно Модуль.

Sub ConvertRangeToColumn()
'Updateby20131126
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
    Rng.Copy
    Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
    rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

3. Нажмите клавишу F5, чтобы запустить код, и отобразится диалоговое окно для выбора диапазона для преобразования. Смотрите скриншот:

vba code to select the data range

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

vba code to select a cell to put the result

5. И нажмите Ok, тогда содержимое ячеек диапазона будет преобразовано в список одного столбца, см. скриншот:

vba code to get the result


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

Как изменить строку на столбец в 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% и сократите сотни кликов мышью ежедневно!