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

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

Author: Sun Last Modified: 2025-06-05

Предположим, у вас есть несколько столбцов, и задача состоит в том, чтобы объединить их слева направо в один столбец, как показано на скриншоте ниже. Кроме как вручную перемещать столбцы по одному, существуют ли какие-либо способы решить эту задачу в Excel?
stack columns from left to right into one column

Объединение столбцов слева направо в один с помощью VBA

Объединение столбцов слева направо в один с помощью Kutools для Excel


Объединение столбцов слева направо в один с помощью VBA

В Excel нет встроенной функции, которая могла бы справиться с этой задачей, но код VBA может помочь вам.

1. Нажмите клавиши Alt +F11, затем в окне Microsoft Visual Basic for Applications нажмите Вставить > Модуль, чтобы создать новый пустой модуль.

2. Скопируйте и вставьте следующий код в Модуль.

VBA: Объединение столбцов в один

Sub StackColumns()
'UpdatebyExtendoffice20180814
Dim xSRg, xDRg As Range
Dim xDWS As Worksheet
Dim xIntDR, xIntDC, xI As Long
Dim xFNumR, xFNumC As Long
On Error GoTo Err1
Set xSRg = Application.InputBox("Select Columns:", "Kutools for Excel", xTxt, , , , , 8)
If xSRg Is Nothing Then
Err1:
    Application.ScreenUpdating = True
    Exit Sub
End If
Set xDRg = Application.InputBox("Select a cell to place result:", "Kutools for Excel", xTxt, , , , , 8)
If xDRg Is Nothing Then
    Exit Sub
End If
Application.ScreenUpdating = False
Set xDWS = xDRg.Worksheet
xIntDR = xDRg.Row
xIntDC = xDRg.Column
xI = 0
    For xFNumC = 1 To xSRg.Columns.Count
        For xFNumR = 1 To xSRg.Rows.Count
            Set xDRg = xDWS.Cells(xIntDR + xI, xIntDC)
            xDRg.Value = xSRg.Cells(xFNumR, xFNumC).Value
            xI = xI + 1
        Next xFNumR
    Next xFNumC
Application.ScreenUpdating = True
End Sub

copy and paste the vba code into the module

3. Нажмите F5 , чтобы запустить код. Появится диалоговое окно, в котором вы сможете выбрать столбцы, которые хотите объединить в один.
run the code to select the data range

4. Нажмите OK, выберите ячейку для размещения результата.
vba code to select a cell to put the result

5. Нажмите OK для завершения. Теперь выбранные столбцы были объединены в один столбец.
the selected columns have been stacked into one column


Объединение столбцов слева направо в один с помощью Kutools для Excel

Если у вас установлен Kutools для Excel, вы можете использовать инструмент Преобразовать диапазон для выполнения этой задачи.

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

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

1. Выберите столбцы, которые вы хотите объединить, нажмите Kutools > Диапазон > Преобразовать диапазон.
click Transform Range feature of kutools

2. В Преобразовать диапазон диалоговом окне отметьте Диапазон в одну строку флажок, нажмите Ok.
check Range to single row checkbox

3. В появившемся диалоговом окне выберите ячейку для размещения результата, нажмите OK.
 select a cell to place the result

Теперь столбцы были преобразованы в одну строку.
the columns have been transformed to a single row

4. Выберите единственную строку, нажмите Ctrl + C , чтобы скопировать её, и выберите другую ячейку, в которой будет размещен стековый столбец. Щелкните правой кнопкой мыши и выберите Транспонировать (T) в контекстном меню.
copy the row and paste as Transpose

Теперь единственная строка была транспонирована в стековый столбец.
the single row has been transposed to a stack column

Лучшие инструменты для повышения продуктивности работы с 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% и сократите сотни лишних кликов мышью каждый день!