Menu

Транспонировать в Excel (эксель): функция ТРАНСП

=ТРАНСП(A1:D3) превращает строки A1:D3 в столбцы и остаётся связанной с источником. Для разовой копии используйте Специальная вставка > транспонировать. ПОСТОЛБЦ складывает всю сетку в один столбец.

Каждая таблица на этой странице живая: измените число или формулу, и она пересчитается.

Чтобы поменять местами строки и столбцы в Excel, введите =ТРАНСП(A1:D3) там, где должен начинаться результат: первая строка A1:D3 станет первым столбцом результата. Это функция ТРАНСП (по-английски TRANSPOSE). Результат остаётся связанным, поэтому изменение числа в источнике меняет его и в копии. Замените B2 на 50 и посмотрите, как изменится B6. В таблицах формулы записаны по-английски, но их можно вводить и по-русски, с точкой с запятой: =ТРАНСП(ЕСЛИ(A1:E2="";"";A1:E2)).

Кварталы по строке становятся кварталами по столбцу
A5
ABCD
1RepQ1Q2Q3
2Ann10129
3Ben81114
4
5RepAnnBen
6Q1108
7Q21211
8Q3914
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =ТРАНСП(A1:D3)

В источнике 3 строки и 4 столбца, поэтому в результате 4 строки и 3 столбца. В Excel 2021 и Microsoft 365 ТРАНСП разливается: вы вводите её в одну ячейку и нажимаете Enter.

Как транспонировать через специальную вставку

Если таблица с переставленными строками и столбцами нужна один раз, специальная вставка быстрее и не оставляет формулы:

  1. Выделите диапазон и скопируйте его (Ctrl+C, на Mac Cmd+C).
  2. Щёлкните левую верхнюю ячейку места, куда должен попасть результат, за пределами скопированного диапазона.
  3. На вкладке «Главная» нажмите стрелку под кнопкой «Вставить» и выберите «Транспонировать» или нажмите Ctrl+Alt+V (на Mac Cmd+Ctrl+V), отметьте «транспонировать» и нажмите «ОК».

В английской версии Excel для Windows путь с клавиатуры после копирования такой: Alt, H, V, T. Вставленная копия сохраняет форматирование, но не связана с источником: когда источник меняется, вставьте заново. Excel подстраивает формулы внутри скопированного диапазона под их новое положение; проверьте те, где есть относительные ссылки, или вставьте значения, если нужны только числа.

Синтаксис ТРАНСП

=TRANSPOSE(array)

Единственный аргумент это диапазон или массив, который нужно развернуть. ТРАНСП есть в Excel давно, но до Excel 2021 это формула массива: сначала выделите диапазон назначения нужной формы (4 строки на 3 столбца для примера выше), введите формулу и нажмите Ctrl+Shift+Enter (на Mac Cmd+Shift+Enter). Тогда Excel показывает её в фигурных скобках, {=ТРАНСП(A1:D3)}. В Excel 2021 и Microsoft 365 достаточно обычного Enter, а значение на пути результата даёт #ПЕРЕНОС! (по-английски #SPILL!).

В Google Таблицах TRANSPOSE тоже есть и разливается так же.

Превратить столбец в строку

Та же функция разворачивает один столбец в строку, например список имён в заголовки столбцов:

Столбец имён становится строкой
C2
ABCDEFG
1Name
2AnnAnnBenCaraDanEve
3Ben
4Cara
5Dan
6Eve
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =ТРАНСП(A2:A6)

C2 разливает имена от Ann до Eve по C2:G2. Добавьте имя в A7, и оно не попадёт в результат, потому что формула читает A2:A6; расширьте диапазон до A2:A7 или больше, чтобы включить его.

Почему ТРАНСП показывает 0 для пустых ячеек

Формула, которая указывает на пустую ячейку, возвращает 0, и ТРАНСП тоже. Ниже за март продаж нет, поэтому простой вариант показывает 0 там, где источник пуст:

Пустые ячейки превращаются в 0
D4
ABCDE
1MonthJanFebMarApr
2Sales12095150
3
4MonthSalesMonthSales
5Jan120Jan120
6Feb95Feb95
7Mar0Mar
8Apr150Apr150
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =ТРАНСП(ЕСЛИ(A1:E2="";"";A1:E2))

B7 показывает 0 для Mar. Вторая формула сначала превращает каждую пустую ячейку в пустой текст с помощью ЕСЛИ, поэтому E7 остаётся пустой. Введите число в D2, и обе формулы его покажут.

Транспонировать несколько строк в один столбец

Чтобы сложить всю сетку в один столбец, используйте ПОСТОЛБЦ (по-английски TOCOL, Microsoft 365 и Excel 2024). Она читает диапазон строка за строкой; ПОСТРОК делает то же в одну строку:

Сетка, сложенная в один столбец
F2
ABCDEF
1RepQ1Q2Q3All values
2Ann1012910
3Ben8111412
49
58
611
714
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =ПОСТОЛБЦ(B2:D3)

F2 перечисляет 10, 12, 9 из строки Ann, а затем 8, 11, 14 из строки Ben. Чтобы читать вниз по каждому столбцу, задайте третьему аргументу ИСТИНА: =ПОСТОЛБЦ(B2:D3;;ИСТИНА). =ПОСТОЛБЦ(B2:D3;1) пропускает пустые ячейки.

Практика: месяцы по столбцу, а не по строке

Ваша очередь
A5
ABCDE
1MonthJanFebMarApr
2Sales1209580150
3
4Months down
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.

Ваша очередь: В A5 разверните таблицу A1:E2 так, чтобы месяцы шли вниз по столбцу A, а продажи вниз по столбцу B.

ТРАНСП или поиск по строке

Часто широкую таблицу транспонируют только для того, чтобы применить к ней ВПР. Это не нужно: ГПР и ПРОСМОТРX ищут прямо по строке. =ПРОСМОТРX("Mar";B1:E1;B2:E2) возвращает продажи за март из широкой таблицы выше, ничего не разворачивая. Транспонируйте, когда должна измениться сама структура: для диаграммы, отчёта или системы, которая ждёт одну запись на строку.

Часто задаваемые вопросы

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

Скопируйте диапазон, щёлкните правой кнопкой ячейку, с которой должен начинаться результат, и выберите Специальная вставка > транспонировать (Ctrl+Alt+V, затем отметьте «транспонировать» и нажмите Enter). Так вставляется постоянная копия. Для копии, которая обновляется вместе с источником, введите =ТРАНСП(A1:D3) в ячейку назначения.

Почему ТРАНСП показывает 0 для пустых ячеек?

Формула, которая ссылается на пустую ячейку, возвращает 0, и ТРАНСП не исключение. Сначала замените пустые ячейки пустым текстом: =ТРАНСП(ЕСЛИ(A1:E2="";"";A1:E2)).

Как использовать ТРАНСП в Excel 2019 или старше?

Выделите диапазон назначения, у которого строки и столбцы поменяны местами (4 строки на 3 столбца для источника 3 на 4), введите =ТРАНСП(A1:D3) и нажмите Ctrl+Shift+Enter (на Mac Cmd+Shift+Enter). В Excel 2021 и новее достаточно Enter.

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

Используйте ПОСТОЛБЦ в Microsoft 365 или Excel 2024: =ПОСТОЛБЦ(B2:D3) читает диапазон строка за строкой и складывает все значения в один столбец. =ПОСТОЛБЦ(B2:D3;1) пропускает пустые ячейки, а ПОСТРОК делает то же в одну строку.

Иллюстрация языков программирования Coddy

Учитесь программировать с Coddy

НАЧАТЬ