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

Работая с табличными данными в Excel, иногда возникает необходимость поменять строки и столбцы местами. Эта операция называется транспонированием. Давайте разберем несколько эффективных способов транспонирования.

1. Специальная вставка

Самый простой способ - использовать команду "Специальная вставка" в меню Excel. Для этого:

  1. Выделяем нужный диапазон ячеек с данными;
  2. Копируем его в буфер обмена (Ctrl+C);
  3. Вставляем скопированные данные с помощью "Специальная вставка" (в меню "Вставка") и ставим галочку "Транспонировать".

Этот метод позволяет разово транспонировать таблицу. Но при пересчете книги Excel связь между ячейками теряется. Поэтому лучше предварительно сохранить нужное форматирование.

Например, у нас есть таблица заказов клиентов:

Клиент Заказ 1 Заказ 2
Иванов И.И. 100 200

После транспонирования с помощью "Специальной вставки" получим:

Иванов И.И.
100
200

2. Формула ТРАНСП

Еще один способ транспонирования - использовать функцию ТРАНСП в формуле. Синтаксис:

=ТРАНСП(матрица)

В аргументе матрица указываем диапазон для транспонирования. Например:

=ТРАНСП(A1:C4)

При нажатии Ctrl+Shift+Enter формула ТРАНСП транспонирует выделенный диапазон, меняя строки и столбцы местами.

Внимание! В формуле нужно использовать абсолютные ссылки на ячейки, иначе связь данных потеряется.

Допустим, у нас есть данные ежемесячных продаж компании:

Месяц Продукт 1 Продукт 2
Январь 5000 3000

С помощью формулы =ТРАНСП(A1:C2) транспонируем их:

Январь
5000
3000

3. Сводные таблицы

Сводные таблицы в Excel также могут транспонировать данные. Этапы:

  1. Создаем сводную таблицу на основе исходных данных;
  2. Перетаскиваем в строки и столбцы нужные поля;
  3. Убираем промежуточные итоги;
  4. При необходимости меняем строки и столбцы местами.

Например, есть таблица продаж по регионам:

Регион Январь Февраль
Север 5000 5100

Создаем на ее основе сводную таблицу и переносим поля: "Регион" в строки, "Январь" и "Февраль" в значения. Получаем транспонированную таблицу:

Север 5000
Север 5100

4. Скрипт VBA

Еще один мощный инструмент - это язык VBA для написания скриптов в Excel. Например, такой код позволяет транспонировать выделенный диапазон:

Sub Транспонирование() Selection.Transpose End Sub 

Запускаем макрос на выполнение и выделяем нужные ячейки. Но есть ограничение по объему данных - не больше 65536 элементов.

Например, применим скрипт к таблице отчета о продажах:

Месяц Книги Альбомы
Январь 2019 5000 500

Получим:

Январь 2019
5000
500

5. Комбинация функций

Еще один способ транспонирования - использовать функции КОСВЕННЫЙ и АДРЕС. Например, формула:

=КОСВЕННЫЙ(АДРЕС(;СТОЛБЕЦ(A1);СТРОКА(A1)))

позволяет транспонировать диапазон, начиная с ячейки A1. При этом сохраняется связь с исходными данными.

Применим для таблицы ежедневной выручки магазина:

Дата Выручка
01.12.2023 58000

С помощью формулы получаем:

01.12.2023
58000

Выбор способа транспонирования

Какой же метод лучше выбрать из рассмотренных? Давайте сравним их по основным критериям.

Скорость транспонирования

Самый быстрый способ - использовать "Специальную вставку". Нужно просто скопировать данные и вставить с опцией транспонирования. Но этот метод не годится, если требуется регулярное обновление.

Связь с исходными данными

Формула ТРАНСП, сводные таблицы и комбинация КОСВЕННЫЙ + АДРЕС позволяют сохранить связь с исходником. При их изменении автоматически обновится транспонированный диапазон.

Форматирование данных

При использовании "Специальной вставки" и формулы ТРАНСП теряется форматирование, его приходится восстанавливать вручную. А вот сводные таблицы и скрипт VBA сохраняют нужный вид данных.

Объем данных

Если таблица большая (больше 65536 элементов), подойдут только "Специальная вставка" и сводные таблицы. Для скрипта VBA есть ограничения.

Кейс: транспонирование графика продаж

Рассмотрим применение разных способов на примере годового графика продаж компании по месяцам и товарам. Необходимо поменять местами строки и столбцы, чтобы построить диаграмму "Продажи по товарам".

С помощью сводной таблицы получаем транспонированный диапазон. А формулы ТРАНСП и КОСВЕННЫЙ используем для дополнительных вычислений на базе сводной.

Таким образом, комбинируя способы, можно гибко решать задачи с табличными данными в Excel.

Комментарии