Как поменять строки и столбцы местами в таблице Word

Иван Корнев·13.05.2026·4 мин

Чтобы преобразовать строки в столбцы (транспонировать таблицу) в Microsoft Word, проще всего использовать функцию «Специальная вставка» в Excel. В самом Word встроенной кнопки для этой операции нет. Скопируйте таблицу, вставьте в Excel, примените транспонирование и верните результат обратно в документ. Это сохраняет данные и занимает меньше минуты.

Ниже рассмотрены три рабочих способа: от самого надежного (через Excel) до автоматизированного (макрос).

Оглавление

Способ 1: Через Excel (рекомендуемый)

Этот метод универсален, подходит для таблиц любого размера и сохраняет форматирование ячеек при правильной настройке.

  1. Выделите таблицу в Word. Нажмите на крестик в левом верхнем углу таблицы или используйте Ctrl + A, находясь внутри неё.
  2. Скопируйте данные (Ctrl + C).
  3. Откройте Microsoft Excel и вставьте таблицу в пустой лист (Ctrl + V).
  4. Выделите вставленные данные в Excel и снова скопируйте их (Ctrl + C).
  5. Кликните правой кнопкой мыши по пустой ячейке (где будет новая таблица).
  6. Выберите пункт Специальная вставка (Paste Special).
  7. В открывшемся окне поставьте галочку Транспонировать (Transpose) и нажмите OK.
    • Альтернатива: В контекстном меню найдите значок «Транспонировать» (иконка с двумя стрелками, меняющими направление).
  8. Скопируйте полученную перевернутую таблицу из Excel.
  9. Вернитесь в Word и вставьте её (Ctrl + V).

Если после вставки в Word пропали границы ячеек, выделите таблицу, перейдите на вкладку Конструктор таблиц (или Макет) → Границы → выберите Все границы.

Способ 2: Макрос VBA для постоянной работы

Если вам приходится часто менять ориентацию таблиц, лучше один раз настроить макрос. Он выполняет операцию автоматически внутри Word, не требуя перехода в Excel.

Шаг 1: Включение разработчика

  1. Перейдите в ФайлПараметрыНастроить ленту.
  2. В правом списке поставьте галочку напротив пункта Разработчик. Нажмите OK.

Шаг 2: Создание макроса

  1. На вкладке Разработчик нажмите кнопку Макросы.
  2. Введите имя, например TransposeTable, и нажмите Создать.
  3. В открывшемся редакторе удалите весь код и вставьте следующий:
Sub TransposeTable()
    Dim tbl As Table
    Dim newTbl As Table
    Dim i As Long, j As Long
    Dim rowCount As Long, colCount As Long
    
    ' Проверка, выделена ли таблица
    If Selection.Tables.Count = 0 Then
        MsgBox "Выделите таблицу перед запуском макроса!", vbExclamation
        Exit Sub
    End If
    
    Set tbl = Selection.Tables(1)
    rowCount = tbl.Rows.Count
    colCount = tbl.Columns.Count
    
    ' Создание новой таблицы с перевернутыми размерами
    ' Добавляем таблицу после текущей
    Dim rng As Range
    Set rng = tbl.Range
    rng.Collapse Direction:=wdCollapseEnd
    rng.InsertParagraphAfter
    rng.Collapse Direction:=wdCollapseEnd
    
    Set newTbl = ActiveDocument.Tables.Add(rng, colCount, rowCount)
    
    ' Копирование данных
    For i = 1 To rowCount
        For j = 1 To colCount
            newTbl.Cell(j, i).Range.Text = tbl.Cell(i, j).Range.Text
        Next j
    Next i
    
    ' Опционально: удалить старую таблицу
    ' tbl.Delete 
    MsgBox "Таблица транспонирована ниже исходной.", vbInformation
End Sub
  1. Закройте редактор VBA.
  2. Выделите нужную таблицу в документе и запустите макрос через кнопку МакросыВыполнить.

Макрос создает новую таблицу под старой. Исходная таблица сохраняется. Если нужно заменить её, раскомментируйте строку tbl.Delete в коде (уберите апостроф в начале).

Способ 3: Для простых списков (замена символов)

Если у вас нет сложной таблицы с границами, а просто список данных, разделенных запятыми или табуляцией (например, Имя, Возраст, Город), можно использовать инструмент «Найти и заменить».

  1. Нажмите Ctrl + H.
  2. Нажмите кнопку Больше >>, чтобы открыть дополнительные параметры.
  3. В поле Найти введите разделитель (например, запятую , или знак табуляции ^t).
  4. В поле Заменить на введите код абзаца ^p (нажмите кнопку СпециальныйЗнак абзаца).
  5. Нажмите Заменить все.

Текст превратится в вертикальный список. Этот метод не подходит для полноценных таблиц с ячейками, так как разрушает структуру.

Частые ошибки

ПроблемаПричина и решение
Пропали границы ячеекПри копировании из Excel часто теряется оформление границ. Решение: в Word выделите таблицу и примените стиль границ «Все границы».
Текст слипся в одну ячейкуВ Excel перед копированием убедитесь, что данные разбиты по разным ячейкам, а не находятся в одной длинной строке.
Ошибка в макросеМакрос не сработает, если курсор стоит вне таблицы или выделено несколько таблиц сразу. Выделите строго одну таблицу.
Word зависаетПри очень больших таблицах (более 500–1000 строк) Word может работать медленно. Используйте Excel для обработки таких массивов.

FAQ

Можно ли транспонировать таблицу в Word Online? Нет, в веб-версии Word функция транспонирования отсутствует. Необходимо использовать десктопную версию программы или скопировать данные в Excel Online, транспонировать там и вернуть обратно.

Как повернуть текст в ячейке на 90 градусов? Это не меняет структуру таблицы (строки остаются строками), но меняет визуальное отображение текста. Выделите ячейку → вкладка Макет (Работа с таблицами) → кнопка Направление текста. Нажимайте её, пока текст не займет нужное положение.

Сохранится ли цвет ячеек при переносе через Excel? Да, если при вставке из Excel обратно в Word вы используете обычную вставку (Ctrl + V) или «Сохранить исходное форматирование». Если цвета слетели, проверьте настройки вставки в Word (значок буфера обмена после вставки).