Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше
Иногда требуется изменить направление, в котором располагаются ячейки. Это можно сделать путем копирования и вставки и применения команды «Транспонировать». Но в этом случае образуются повторяющиеся данные. Чтобы такого не происходило, можно вместо этого ввести формулу с функцией ТРАНСП. Например, на следующем изображении показано, как расположить горизонтально ячейки с A1 по B4 с помощью формулы =ТРАНСП(A1:B4).
Примечание: Если у вас есть текущая версия Microsoft 365, вы можете ввести формулу в левую верхнюю ячейку диапазона вывода, а затем нажать ввод, чтобы подтвердить формулу как формулу динамического массива. Иначе формулу необходимо вводить с использованием прежней версии массива, выбрав диапазон вывода, введя формулу в левой верхней ячейке диапазона и нажав клавиши CTRL+SHIFT+ВВОД для подтверждения. Excel автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
Шаг 1. Выделите пустые ячейки
Сначала выделите пустые ячейки. Их число должно совпадать с числом исходных ячеек, но располагаться они должны в другом направлении. Например, имеется 8 ячеек, расположенных по вертикали:
Нам нужно выделить 8 ячеек по горизонтали:
Так будут располагаться новые ячейки после транспонирования.
Шаг 2. Введите =ТРАНСП(
Не снимая выделение с пустых ячеек, введите =ТРАНСП(
Лист Excel будет выглядеть так:
Обратите внимание на то, что восемь ячеек по-прежнему выделены даже несмотря на то, что мы начали вводить формулу.
Шаг 3. Введите исходный диапазон ячеек
Теперь введите диапазон ячеек, которые нужно транспоннять. В этом примере мы хотим транспоннять ячейки с A1 по B4. Поэтому формула для этого примера будет такой: =ТРАНСП(A1:B4) — но не нажимайте ввод! Просто остановите ввод и перейдите к следующему шагу.
Лист Excel будет выглядеть так:
Шаг 4. Нажмите клавиши CTRL+SHIFT+ВВОД
Теперь нажмите клавиши CTRL+SHIFT+ВВОД. Зачем это нужно? Дело в том, что функция ТРАНСП используется только в формулах массивов, которые завершаются именно так. Если говорить кратко, формула массива — это формула, которая применяется сразу к нескольким ячейкам. Так как в шаге 1 вы выделили более одной ячейки, формула будет применена к нескольким ячейкам. Результат после нажатия клавиш CTRL+SHIFT+ВВОД будет выглядеть так:
Советы
-
Вводить диапазон вручную не обязательно. Введя =ТРАНСП(, вы можете выделить диапазон с помощью мыши. Простой щелкните первую ячейку диапазона и перетащите указатель к последней. Но не забывайте: по завершении нужно нажать клавиши CTRL+SHIFT+ВВОД, а не просто клавишу ВВОД.
-
Нужно также перенести форматирование текста и ячеек? Вы можете копировать ячейки, вставить их и применить команду «Транспонировать». Но помните, что при этом образуются повторяющиеся данные. При изменении исходных ячеек их копии не обновляются.
-
Вы можете узнать больше о формулах массивов. Создайте формулу массива или ознакомьтесь с подробными рекомендациями и примерами.
Технические подробности
Функция ТРАНСП возвращает вертикальный диапазон ячеек в виде горизонтального и наоборот. Функцию ТРАНСП необходимо вводить как формула массива в диапазон, содержащий столько же строк и столбцов, что и аргумент диапазон. Функция ТРАНСП используется для изменения ориентации массива или диапазона на листе с вертикальной на горизонтальную и наоборот.
Синтаксис
ТРАНСП(массив)
Аргументы функции ТРАНСП описаны ниже.
-
Массив. Обязательный аргумент. Массив (диапазон ячеек) на листе, который нужно транспонировать. Транспонирование массива заключается в том, что первая строка массива становится первым столбцом нового массива, вторая — вторым столбцом и т. д. Если вы не знаете, как ввести формулу массива, см. статью «Создание формулы массива».
См. также
Транспонирование (поворот) данных из строк в столбцы и наоборот
Создание формулы массива
Поворот и выравнивание данных в ячейке
Использование формул массива: рекомендации и примеры
Нужна дополнительная помощь?
Понятие «транспонировать» почти не встречается в работе пользователей ПК. Но тем, кто работает с массивами, будь то матрицы в высшей математике или таблицы в Excel, приходится сталкиваться с этим явлением.
Транспонированием таблицы в Excel называется замена столбцов строками и наоборот. Иными словами – это поворот в двух плоскостях: горизонтальной и вертикальной. Транспонировать таблицы можно тремя способами.
Способ 1. Специальная вставка
Самый простой и универсальный путь. Рассмотрим сразу на примере. Имеем таблицу с ценой некоего товара за штуку и определенным его количеством. Шапка таблицы расположена горизонтально, а данные расположены вертикально соответственно. Стоимость рассчитана по формуле: цена*количество. Для наглядности примера подсветим шапку таблицы зеленым цветом.
Нам нужно расположить данные таблицы горизонтально относительно вертикального расположения ее шапки.
Чтобы транспонировать таблицу, будем использовать команду СПЕЦИАЛЬНАЯ ВСТАВКА. Действуем по шагам:
- Выделяем всю таблицу и копируем ее (CTRL+C).
- Ставим курсор в любом месте листа Excel и правой кнопкой вызываем меню.
- Кликаем по команде СПЕЦИАЛЬНАЯ ВСТАВКА.
- В появившемся окне ставим галочку возле пункта ТРАНСПОНИРОВАТЬ. Остальное оставляем как есть и жмем ОК.
В результате получили ту же таблицу, но с другим расположением строк и столбцов. Причем, заметим, что зеленым подсвечены ячейки с тем же содержанием. Формула стоимости тоже скопировалась и посчитала произведение цены и количества, но уже с учетом других ячеек. Теперь шапка таблицы расположена вертикально (что хорошо видно благодаря зеленому цвету шапки), а данные соответственно расположились горизонтально.
Аналогично можно транспонировать только значения, без наименований строк и столбцов. Для этого нужно выделить только массив со значениями и проделать те же действия с командой СПЕЦИАЛЬНАЯ ВСТАВКА.
Способ 2. Функция ТРАНСП в Excel
С появлением СПЕЦИАЛЬНОЙ ВСТАВКИ транспонирование таблицы при помощи команды ТРАНСП почти не используется по причине сложности и большего времени на операцию. Но функция ТРАНСП все же присутствует в Excel, поэтому научимся ею пользоваться.
Снова действует по этапам:
- Правильно выделяем диапазон для транспонирования таблицы. В данном примере исходной таблицы имеется 4 столбца и 6 строк. Соответственно мы должны выделить диапазон ячеек в котором будет 6 столбцов и 4 строки. Как показано на рисунке:
- Сразу заполняем активную ячейку так чтобы не снять выделенную область. Вводим следующую формулу:=ТРАНСП(A1:D6)
- Нажимаем CTRL+SHIFT+ENTER. Внимание! Функия ТРАНСП()работает тилько в массиве. Поэтому после ее ввода нужно обязательно нажать комбинацию горячих клавиш CTRL+SHIFT+ENTER для выполнения функции в массиве, а не просто ENTER.
Обратите внимание, что формула не скопировалась. При нажатии на каждую ячейку становится видно, что эта таблица была транспонирована. К тому же все исходное форматирование утеряно. Придется выравнивать и подсвечивать снова. Так же стоит обратить внимание на то что транспонированная таблица привязанная к исходной. Измененные значения исходной таблице автоматически обновляются в транспонированной.
Способ 3. Сводная таблица
Те, кто тесно работает с Excel, знают, что сводная таблица многофункциональна. И одной из ее функций является возможность транспонирования. Правда, оно будет выглядеть немного иначе, чем в предыдущих примерах.
- Создадим сводную таблицу. Для этого выделим исходную таблицу и откроем пункт ВСТАВКА – СВОДНАЯ ТАБЛИЦА.
- Местом, где будет создана сводная таблица, выбираем новый лист.
- В получившемся макете сводных таблиц можем выбрать необходимые пункты и перенести их в нужные поля. Перенесем «продукт» в НАЗВАНИЯ СТОЛБЦОВ, а «цена за шт» в ЗНАЧЕНИЯ.
- Получили сводную таблицу по нужному нам полю. Также команда автоматически подсчитала общий итог.
- Можно убрать галочку у ЦЕНА ЗА ШТ и поставить галочку рядом с ОБЩАЯ СТОИМОСТЬ. И тогда получим сводную таблицу по стоимости товаров, а также опять общий итог.
Скачать примеры транспонирования таблиц в Excel.
Это достаточно своеобразный способ частичного транспонирования, позволяющий заменить столбцы на строки (наоборот – не получится) и дополнительно узнать общую сумму по заданному полю.
Skip to content
В этой статье показано, как столбец можно превратить в строку в Excel с помощью функции ТРАНСП, специальной вставки, кода VBA или же специального инструмента. Иначе говоря, мы научимся транспонировать таблицу.
В этой статье вы найдете несколько способов поменять местами строки и столбцы (или столбцы и строки), как бы вы это ни называли, это одно и то же Эти решения работают во всех версиях Excel 2016, 2013, 2010, 2007 и ниже, представляют множество возможных сценариев и объясняют наиболее типичные ошибки. Вот о чём мы поговорим:
- 1. Используем специальную функцию транспонирования
- 2. Как транспонировать с помощью формул
- 3. Специальная вставка.
- 4. Макрос VBA для преобразования строки в столбец
- 5. Сводная таблица для транспонирования.
- 6. Преобразование столбцов в строки с помощью специального инструмента
О вкусах не спорят. То же самое и с рабочими привычками. Некоторые пользователи Excel предпочитают организовывать данные вертикально в столбцы, тогда как другие выбирают горизонтальное расположение в строках. И при совместной работе над таблицами вкусы зачастую не совпадают …
Довольно часто вы строите сложную таблицу только для того, чтобы в конце концов понять, что имеет смысл повернуть ее для более удобного анализа показателей или же для представления их в виде графиков.
Транспонирование – это математическая операция. Это преобразование матрицы, в результате чего столбцы становятся строками, а строки превращаются в столбцы. Говоря проще, нужно все значения в строке (горизонталь) перекинуть в столбец (вертикаль).
Способ 1. Использовать функцию ТРАНСП.
В случае, когда вам нужно быстро изменить ориентацию вашей таблицы, можно использовать функцию ТРАНСП (TRANSPOSE в англоязычной версии).
Назначение функции ТРАНСП в Excel – транспонировать строку в столбец, т. е. поменять ориентацию данных с горизонтальной на вертикальную или наоборот.
Функция ТРАНСП в Excel — синтаксис
Функция транспонировать принимает только один аргумент:
= ТРАНСП(массив)
Где массив – это диапазон для транспонирования. Данные преобразуются следующим образом: первая строка исходного диапазона становится первым столбцом нового, вторая строка становится вторым столбцом и так далее.
Синтаксис ТРАНСП не оставляет места для ошибок при создании формулы. Более сложная задача – правильно записать её на рабочий лист. Если у вас нет большого опыта работы с формулами Excel в целом и формулами массивов в частности, внимательно следуйте приведенным ниже инструкциям.
1. Подсчитайте количество столбцов и строк в исходной таблице.
Эти числа понадобятся вам на следующем шаге.
В этом примере мы собираемся транспонировать небольшую таблицу Excel, которая показывает объем экспорта свежих фруктов по регионам:
2. Выберите такое же количество ячеек, но измените их ориентацию.
Ваша новая таблица будет содержать такое же количество значений, но данные теперь будут располагаться не по строке, а вертикально, по столбцам. Итак, вы выбираете диапазон пустых ячеек, который занимает то же количество строк, что и исходная таблица имела столбцов, и такое же количество колонок, как исходная таблица – строк.
В нашем случае мы выбираем диапазон из 5 столбцов и 4 строк:
3. Введите формулу ТРАНСП.
Выделив этот пустой диапазон, используйте функцию транспонирования:
=ТРАНСП(A1:D5)
Вот подробные шаги:
Сначала вы вводите знак равенства, имя функции и открывающую скобку: = ТРАНСП(
Затем выберите исходный диапазон с помощью мыши или введите его вручную:
Наконец, введите закрывающую скобку, но не нажимайте клавишу Enter! На этом этапе ваша формула должна выглядеть примерно так:
4. Запишите формулу.
Нажмите Ctrl + Shift + Enter
, чтобы правильно закончить формулу массива. Зачем это? Потому что формула должна применяться ко всем данным. И это именно то, для чего предназначены формулы массива.
После этого Excel окружит вашу формулу транспонирования {фигурными скобками}, которые видны в строке формул и являются визуальным индикатором формулы массива. Ни в коем случае не набирайте их вручную, это не сработает.
На скриншоте ниже показано, что наша исходная матрица значений была успешно транспонирована и 4 столбца были преобразованы в 4 строки. А столбцов теперь стало пять:
Примечание. Конечно, подобным образом вы можете транспонировать отдельный столбец или одну строку. Не обязательно это должна быть целая таблица.
Преимущества функции ТРАНСП:
Основное преимущество использования этой функции заключается в том, что повернутая таблица сохраняет связь с исходной. Всякий раз, когда вы меняете исходные данные, транспонированная таблица будет меняться соответствующим образом.
Слабые стороны функции ТРАНСП:
- Исходное форматирование не сохраняется в преобразованной таблице, как вы видите на скриншоте выше.
- Если в исходной таблице есть пустые клетки, вместо них ячейки новой таблицы будут содержать ноль. Чтобы исправить это, используйте ТРАНСП в комбинации с функцией ЕСЛИ, как описано в этом примере ниже: Как транспонировать без нулей.
- Вы не можете редактировать какие-либо данные в преобразованной таблице, потому что она полностью завязана на исходные данные. Если вы попытаетесь изменить какое-либо значение, то получите ошибку «Вы не можете изменить часть массива».
Итак, какой бы хорошей и простой в использовании не была бы функция ТРАНСП, ей определенно не хватает гибкости. Поэтому она может быть не самым оптимальным вариантом во многих ситуациях.
Как транспонировать таблицу без замены нулей на пробелы.
Выше мы уже упоминали, что если одна или несколько ячеек в исходной таблице пусты, то они будут иметь нулевые значения после преобразования, как показано на скриншоте ниже:
То есть, если при транспонировании строки в столбец программа обнаруживает пустую ячейку, то вместо нее сразу же вставляется ноль. Это особенность Экселя: стоит с пустой ячейкой произвести какую-то математическую операцию, и там тут же появляется ноль. А транспонирование в Excel – это математическая операция с матрицей значений.
С одной стороны, это выглядит несущественно, поскольку не меняет математические результаты в итогах. Но для вас эти нули могут выглядеть не совсем эстетично, так как меняют внешний вид данных. Ну а если они появляются посреди текстовых значений – это совсем некрасиво.
Если вы хотите оставить в новой таблице по-прежнему пустые ячейки, а не нули, то вложите функцию ЕСЛИ в формулу ТРАНСП, чтобы предварительно проверить, является ли ячейка пустой. Если она пуста, функция ЕСЛИ вернет пустую строку («»), в противном случае предоставит значение для транспонирования:
=ТРАНСП(ЕСЛИ(A1:D5=»»;»»;A1:D5))
Введите формулу, как описано выше (не забудьте нажать Ctrl + Shift + Enter
, чтобы правильно завершить формулу массива), и вы получите результат, подобный этому:
Как видите, мы транспонируем не все ячейки, а только непустые.
Советы по использованию ТРАНСП
Как вы только что видели, функция ТРАНСП имеет ряд особенностей, которые могут сбить с толку неопытных пользователей. Приведенные ниже советы помогут вам избежать некоторых типичных ошибок.
1. Как редактировать формулу?
Как функция массива, ТРАНСП не позволяет изменять часть возвращаемого массива. Чтобы отредактировать формулу транспонирования, выберите весь диапазон, к которому относится формула, внесите необходимые изменения и нажмите Ctrl + Shift + Enter
, чтобы сохранить обновленную формулу.
2. Как удалить формулу?
Чтобы удалить формулу транспонирования с листа, выберите весь диапазон, на который имеется ссылка в формуле, и нажмите клавишу Del.
3. Как заменить формулу на значения?
Когда вы переворачиваете таблицу с помощью функции ТРАНСП, исходная и новая таблицы связываются. Это означает, что всякий раз, когда вы изменяете какое-либо значение в исходной таблице, соответствующее значение в новой изменяется автоматически.
Если вы хотите разорвать связь между ними, замените формулы вычисленными значениями. Для этого выберите все ячейки преобразованной таблицы, затем нажмите Ctrl + C, чтобы скопировать их в буфер обмена. Кликните правой кнопкой мыши и выберите в контекстном меню «Специальная вставка» > « Значения». Или используйте для вставки значений вместо формул комбинацию клавиш Ctrl+Alt+V
.
Способ 2. Как транспонировать с помощью формул
Этот способ отчасти похож на предыдущий, но позволяет свободно редактировать значения во второй таблице и вносить в нее любые правки при необходимости.
Для создания ссылок на строки и столбцы нам понадобятся четыре функции из категории Ссылки и массивы:
- Функция АДРЕС(номер_строки; номер_столбца) – выдает адрес ячейки по номеру строки и столбца на листе, т.е. АДРЕС(2;3) выдаст, например, ссылку на C2.
- Функция ДВССЫЛ(ссылка_в_виде_текста) – преобразует текстовую строку, например, «F3» в настоящую ссылку на ячейку F3.
- Функции СТРОКА() и СТОЛБЕЦ() — выдают номер строки и столбца для заданной ячейки, например =СТРОКА(F1) выдаст 1, а формула =СТОЛБЕЦ(А3) возвратит 3.
Теперь соединяем эти функции, чтобы получить нужную нам ссылку на исходную таблицу. Предположим, координаты её верхнего левого угла – A1.
Вводим в любую свободную ячейку (скажем, в A8) вот такую формулу:
=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1);СТРОКА(A1)))
в английской версии Excel это будет =INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))
Чтобы столбцы превратились в строки, копируем (протягиваем) формулу вправо и вниз, перетащив маленький черный крестик в нижнем правом углу выбранных ячеек. В итоге должно получиться примерно следующее:
Вот и все! В вашей вновь созданной таблице все столбцы поменяны местами со строками.
Если ваши данные начинаются с некоторой строки, отличной от 1, и столбца, отличного от A, вам придется использовать немного более сложную формулу:
=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(B6) — СТОЛБЕЦ($B$6) + СТРОКА($B$6); СТРОКА(B6) — СТРОКА($B$6) + СТОЛБЕЦ($B$6)))
Где B6 — самая верхняя левая ячейка исходной таблицы. Также обратите внимание на использование абсолютных и относительных ссылок.
Однако транспонированные данные выглядят очень просто и тускло по сравнению с исходными. Всё форматирование потеряно.
Но не расстраивайтесь, эту проблему легко решить. Чтобы восстановить исходное форматирование, выполните следующие действия:
- Скопируйте исходную таблицу.
- Выделите получившуюся таблицу.
- Щелкните её правой кнопкой мыши и выберите «Параметры вставки» > «Форматирование» .
Преимущества: эта формула обеспечивает более гибкий способ замены строк и столбцов в Excel. Это позволяет вносить любые изменения в итоговую таблицу, поскольку вы используете обычную формулу, а не формулу массива.
Недостатки: вижу только один — теряется форматирование данных. Хотя вы можете быстро восстановить его, как описано выше.
Способ 3. Специальная вставка
Предположим, у вас есть набор данных, аналогичный тому, что вы видите в верхней части рисунка ниже. Названия стран организованы в столбцы. Но их список слишком длинный, поэтому нам лучше перевернуть столбцы в строки, чтобы всё поместилось на экране:
Для этого выполните следующие действия:
- Выберите исходные данные. Чтобы быстро выделить всю таблицу, то есть все ячейки с данными в ней, нажмите
Ctrl + Home
, а потомCtrl + Shift + End
. Вы также можете транспонировать отдельную строку или столбец. - Скопируйте выделенное, щелкнув правой кнопкой мыши и выбрав пункт Копировать в контекстном меню, или нажав
Ctrl + C
. - Выберите первую позицию целевого диапазона.
Обязательно выберите клетку, расположенную вне вашей исходной таблицы, чтобы области копирования и области вставки не перекрывались. Например, если у вас сейчас 4 столбца и 10 строк, преобразованная таблица будет иметь 10 столбцов и 4 строки. - Щелкните правой кнопкой мыши целевую ячейку и выберите «Специальная вставка» в контекстном меню, затем выберите «Транспонировать».
Как вы только что видели, функция «Специальная вставка» позволяет выполнять преобразование из строки в столбец (или из столбца в строку) буквально за несколько секунд. Этот метод также копирует форматирование ваших исходных данных, чем добавляет еще один плюс в свою пользу.
Однако у этого подхода есть два недостатка, которые не позволяют называть его идеальным решением чтобы перевернуть данные в Excel:
- Он не слишком подходит для вращения полнофункциональных таблиц Excel. Если вы скопируете всю таблицу и затем откроете диалоговое окно «Специальная вставка», то обнаружите, что пункт «Транспонировать» неактивен. В этом случае вам нужно либо скопировать ее без заголовков столбцов, либо сначала преобразовать ее в обычный диапазон.
- Операция Специальная вставка > Транспонировать не связывает новую таблицу с исходными данными. Поэтому она хорошо подходит только для одноразовых преобразований. Всякий раз, когда исходные данные меняются, вам нужно будет повторить процесс и повернуть таблицу заново. Никто не захочет тратить свое время на преобразование одних и тех же строк и столбцов снова и снова, верно?
Как транспонировать таблицу и связать ее с исходными данными
Давайте посмотрим, как вы можете превращать строки в столбцы, используя уже знакомую нам технику специальной вставки, но при этом связывая полученную таблицу с исходным набором данных. То есть, всякий раз, когда вы меняете данные в исходной, перевернутая будет отражать изменения и обновляться соответствующим образом. Чуть выше мы назвали отсутствие такой связи недостатком. А сейчас посмотрим, как этот недостаток можно обойти.
- Скопируйте строки, которые нужно преобразовать в столбцы (или столбцы, которые нужно превратить в строки).
- Выберите пустую ячейку на том же или другом листе.
- Откройте диалоговое окно «Специальная вставка», как описано в предыдущем примере, и нажмите «Вставить связь» в нижнем левом углу.
- Результат будет примерно таким:
- Выберите новую таблицу и откройте диалоговое окно Excel «Найти и заменить» (или нажмите
Ctrl + H
, чтобы сразу перейти на вкладку Заменить). - Замените все знаки «=» на «###» или любые другие символы, которых нет нигде в ваших реальных данных. Таким нехитрым образом мы преобразуем наши формулы-ссылки в текст.
Эта операция превратит ваши данные во что-то немного пугающее, как вы видите на скриншоте ниже. Но не паникуйте – еще 2 шага, и вы достигнете желаемого результата.
- Скопируйте диапазон со значениями «###» в буфер обмена, а затем используйте Специальная вставка > Транспонировать, чтобы преобразовать столбцы в строки.
- Наконец, откройте диалоговое окно «Найти и заменить» еще раз, чтобы отменить изменение, т.е. обратно заменить все «###» на «=», и восстановить ссылки на исходные данные.
Это длинноватое, но элегантное решение, не правда ли? Единственным недостатком этого подхода является то, что исходное форматирование теряется в процессе, и вам нужно будет восстановить его вручную (в дальнейшем в этом руководстве я покажу вам быстрый способ сделать это).
Способ 4. Транспонировать матрицу данных в Excel с помощью макроса VBA
Чтобы автоматизировать преобразование строк в столбцы в Excel, вы можете использовать следующий макрос:
Sub TransposeColumnsRows() Dim SourceRange As Range Dim DestRange As Range Set SourceRange = Application.InputBox(Prompt:="Выделите диапазон для транспонирования", Title:="Транспонирование строк в столбцы", Type:=8) Set DestRange = Application.InputBox(Prompt:="Укажите верхнюю левую ячейку новой таблицы", Title:="Транспонирование строк в столбцы", Type:=8) SourceRange.Copy DestRange.Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True Application.CutCopyMode = False End Sub
Чтобы добавить макрос на лист, следуйте инструкциям, описанным в разделе Как вставить и запустить код VBA в Excel .
Примечание. Транспонирование с помощью VBA имеет ограничение в 65536 элементов. Если ваш массив превышает этот предел, дополнительные данные будут автоматически отброшены.
Как использовать макрос для преобразования строки в столбец
Вставив макрос в книгу, выполните следующие шаги, чтобы повернуть таблицу:
- Откройте целевой рабочий лист, нажмите
Alt + F8
, выберите макрос TransposeColumnsRows и нажмите «Выполнить».
- Выберите диапазон, который вы хотите преобразовать, и нажмите OK :
- Выберите верхнюю левую позицию целевого диапазона и нажмите ОК:
Матрица значений транспонирована. Наслаждайтесь результатом
Способ 5. Сводная таблица.
Еще один способ как можно транспонировать таблицу в Excel — с помощью сводной таблицы. К сожалению, этот способ работает только в одном направлении — из столбцов переворачивает данные в строки. Но его преимущество, по сравнению с предыдущими, – это возможность фильтровать данные и использовать всю мощь сводных таблиц.
Сначала необходимо создать сводную таблицу (здесь есть подробная инструкция). Выделяем исходные данные:
Создаем её на новом листе.
В свойствах сводной таблицы отключаем общие и промежуточные итоги по столбцам и строкам.
Перетаскиваем поля в макете таблицы, и получаем результат – таблица повёрнута набок.
Преобразуйте столбцы в строки с помощью инструмента транспонирования
Если вам нужно выполнять преобразования строки в столбец достаточно часто, то возможно, вы действительно ищете более быстрый и простой способ. К счастью, у меня есть такой способ в моем Excel, как и у других пользователей надстройки Ultimate Suite
Позвольте мне продемонстрировать вам, как перенести строки в столбцы в Excel буквально за пару кликов при помощи инструмента транспонирования таблицы:
- Выделите любую отдельную ячейку в таблице, перейдите на вкладку AblebitsTools > Transform и нажмите кнопку Transpose.
- В большинстве случаев настройки по умолчанию работают нормально, поэтому вы просто нажимаете «Транспонировать», ничего не меняя.
Если вы хотите Создать ссылки на исходные данные, чтобы повернутая таблица обновлялась автоматически при каждом изменении исходной таблицы, выберите соответствующий вариант:
Готово! Таблица транспонирована:
Если вам интересно попробовать этот и более 60 других профессиональных инструментов для Excel, я приглашаю вас загрузить пробную версию Ultimate Suite.
Итак, вы можете выбрать для себя любой из этих шести методов транспонирования таблицы в Excel.
Благодарю вас за чтение и надеюсь увидеть вас в нашем блоге!
Содержание
- Исправление ошибки #ЗНАЧ! в функции ТРАНСП
- Проблема: формула не была введена как формула массива
- Дополнительные сведения
- Функция ТРАНСП() — Транспонирование диапазонов ячеек в EXCEL
- Синтаксис функции
- Транспонирование вертикальных диапазонов ячеек (столбцов)
- Транспонирование горизонтальных диапазонов ячеек (строк)
- Транспонирование диапазонов ячеек
- Транспонирование с помощью Специальной вставки
- ТРАНСП (функция ТРАНСП)
- Шаг 1. Выделите пустые ячейки
- Шаг 2. Введите =ТРАНСП(
- Шаг 3. Введите исходный диапазон ячеек
- Шаг 4. Нажмите клавиши CTRL+SHIFT+ВВОД
- Советы
- Технические подробности
- Синтаксис
- Почему флажок транспонирования в диалоговом окне «Вставить / Специальный» неактивен?
- 3 ответа 3
- 6 способов быстро транспонировать таблицу
- Способ 1. Использовать функцию ТРАНСП.
- Функция ТРАНСП в Excel — синтаксис
- Преимущества функции ТРАНСП:
- Слабые стороны функции ТРАНСП:
- Как транспонировать таблицу без замены нулей на пробелы.
- Советы по использованию ТРАНСП
- 1. Как редактировать формулу?
- 2. Как удалить формулу?
- 3. Как заменить формулу на значения?
- Способ 2. Как транспонировать с помощью формул
- Способ 3. Специальная вставка
- Как транспонировать таблицу и связать ее с исходными данными
- Способ 4. Перенести данные в Excel с помощью макроса VBA
- Как использовать макрос для преобразования строки в столбец
- Способ 5. Сводная таблица.
- Преобразуйте столбцы в строки с помощью инструмента транспонирования
Исправление ошибки #ЗНАЧ! в функции ТРАНСП
В этой статье приводятся сведения об устранении ошибки #ЗНАЧ! в функции ТРАНСП.
Проблема: формула не была введена как формула массива
Рассмотрим следующий пример:
Результатом формулы будет #VALUE! ошибку «#ВЫЧИС!».
Решение: Формулу необходимо преобразовать в формулу массива для диапазона, размер которого совпадает с размером исходного диапазона. Для этого выполните указанные ниже действия.
Выделите диапазон пустых ячеек на листе. Помните, что количество выделенных пустых ячеек должно быть равно количеству ячеек, которые вы пытаетесь скопировать. В этом случае мы выделим диапазон из 7 столбцов и 2 строк.
Это формула массива, и для ее ввода нужно нажать клавиши CTRL+SHIFT+ВВОД. Excel автоматически заключит формулу в фигурные скобки <>. Если вы попытаетесь ввести их вручную, Excel отобразит формулу как текст.
Примечание: Если у вас установлена текущая версия Microsoft 365, можно просто ввести формулу в верхней левой ячейке диапазона вывода и нажать клавишу ВВОД, чтобы подтвердить использование формулы динамического массива. Иначе формулу необходимо вводить с использованием прежней версии массива, выбрав диапазон вывода, введя формулу в левой верхней ячейке диапазона и нажав клавиши CTRL+SHIFT+ВВОД для подтверждения. Excel автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Источник
Функция ТРАНСП() — Транспонирование диапазонов ячеек в EXCEL
history 9 апреля 2013 г.
Функция ТРАНСП() , в анлийском варианте TRANSPOSE(), преобразует вертикальный диапазон ячеек в горизонтальный и наоборот. Научимся транспонировать (поворачивать) столбцы, строки и диапазоны значений.
Синтаксис функции
ТРАНСП ( массив )
Массив — массив (диапазон ячеек) на рабочем листе, который нужно транспонировать. Транспонирование массива заключается в том, что первая строка массива становится первым столбцом нового массива, вторая — вторым столбцом и т. д.
Транспонирование вертикальных диапазонов ячеек (столбцов)
Пусть дан столбец с пятью заполненными ячейками B2:B6 (в этих ячейках могут быть константы или формулы). Сделаем из него строку. Строка будет той же размерности (длины), что и столбец (см. Файл примера ).
- выделим строку длиной 5 ячеек;
- в Строке формул введем =ТРАНСП(B2:B6) ;
- нажмем CTRL+SHIFT+ENTER .
Транспонирование горизонтальных диапазонов ячеек (строк)
Пусть дана строка с пятью заполненными ячейками B 10: F 10 (в этих ячейках могут быть константы или формулы). Сделаем из нее столбец. Столбец будет той же размерности (длины), что и строка.
- выделим столбец длиной 5 ячеек;
- в Строке формул введем =ТРАНСП(B10:F10) ;
- Нажмем CTRL+SHIFT+ENTER .
Транспонирование диапазонов ячеек
Транспонирование диапазонов ячеек аналогично транспонированию одномерных диапазонов, единственное нужно помнить о размерности: число строк нового транспонированного диапазона должно совпадать с числом столбцов исходного диапазона, а число столбцов должно совпадать с числом строк исходного диапазона.
СОВЕТ: Транспонирование можно осуществить и обычными формулами: см. статью Транспонирование таблиц .
Транспонирование с помощью Специальной вставки
Также транспонирование диапазонов значений можно осуществить с помощью Специальной вставки ( Главная/ Буфер обмена/ Вставить/ Транспонировать ). Для этого выделите исходный диапазон.
Выделите левую верхнюю ячейку диапазона, в который нужно поместить транспонированный диапазон. Выберите пункт меню Главная/ Буфер обмена/ Вставить/ Транспонировать . В результате получим транспонированный диапазон.
Источник
ТРАНСП (функция ТРАНСП)
Иногда требуется изменить направление, в котором располагаются ячейки. Это можно сделать путем копирования и вставки и применения команды «Транспонировать». Но в этом случае образуются повторяющиеся данные. Чтобы такого не происходило, можно вместо этого ввести формулу с функцией ТРАНСП. Например, на следующем изображении показано, как расположить горизонтально ячейки с A1 по B4 с помощью формулы =ТРАНСП(A1:B4).
Примечание: Если у вас есть текущая версия Microsoft 365, вы можете ввести формулу в левую верхнюю ячейку диапазона вывода, а затем нажать ввод, чтобы подтвердить формулу как формулу динамического массива. Иначе формулу необходимо вводить с использованием прежней версии массива, выбрав диапазон вывода, введя формулу в левой верхней ячейке диапазона и нажав клавиши CTRL+SHIFT+ВВОД для подтверждения. Excel автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
Шаг 1. Выделите пустые ячейки
Сначала выделите пустые ячейки. Их число должно совпадать с числом исходных ячеек, но располагаться они должны в другом направлении. Например, имеется 8 ячеек, расположенных по вертикали:
Нам нужно выделить 8 ячеек по горизонтали:
Так будут располагаться новые ячейки после транспонирования.
Шаг 2. Введите =ТРАНСП(
Не снимая выделение с пустых ячеек, введите =ТРАНСП(
Лист Excel будет выглядеть так:
Обратите внимание на то, что восемь ячеек по-прежнему выделены даже несмотря на то, что мы начали вводить формулу.
Шаг 3. Введите исходный диапазон ячеек
Теперь введите диапазон ячеек, которые нужно транспоннять. В этом примере мы хотим транспоннять ячейки с A1 по B4. Поэтому формула для этого примера будет такой: =ТРАНСП(A1:B4) — но не нажимайте ввод! Просто остановите ввод и перейдите к следующему шагу.
Лист Excel будет выглядеть так:
Шаг 4. Нажмите клавиши CTRL+SHIFT+ВВОД
Теперь нажмите клавиши CTRL+SHIFT+ВВОД. Зачем это нужно? Дело в том, что функция ТРАНСП используется только в формулах массивов, которые завершаются именно так. Если говорить кратко, формула массива — это формула, которая применяется сразу к нескольким ячейкам. Так как в шаге 1 вы выделили более одной ячейки, формула будет применена к нескольким ячейкам. Результат после нажатия клавиш CTRL+SHIFT+ВВОД будет выглядеть так:
Советы
Вводить диапазон вручную не обязательно. Введя =ТРАНСП(, вы можете выделить диапазон с помощью мыши. Простой щелкните первую ячейку диапазона и перетащите указатель к последней. Но не забывайте: по завершении нужно нажать клавиши CTRL+SHIFT+ВВОД, а не просто клавишу ВВОД.
Нужно также перенести форматирование текста и ячеек? Вы можете копировать ячейки, вставить их и применить команду «Транспонировать». Но помните, что при этом образуются повторяющиеся данные. При изменении исходных ячеек их копии не обновляются.
Вы можете узнать больше о формулах массивов. Создайте формулу массива или ознакомьтесь с подробными рекомендациями и примерами.
Технические подробности
Функция ТРАНСП возвращает вертикальный диапазон ячеек в виде горизонтального и наоборот. Функцию ТРАНСП необходимо вводить как формула массива в диапазон, содержащий столько же строк и столбцов, что и аргумент диапазон. Функция ТРАНСП используется для изменения ориентации массива или диапазона на листе с вертикальной на горизонтальную и наоборот.
Синтаксис
Аргументы функции ТРАНСП описаны ниже.
Массив. Обязательный аргумент. Массив (диапазон ячеек) на листе, который нужно транспонировать. Транспонирование массива заключается в том, что первая строка массива становится первым столбцом нового массива, вторая — вторым столбцом и т. д. Если вы не знаете, как ввести формулу массива, см. статью «Создание формулы массива».
Источник
Почему флажок транспонирования в диалоговом окне «Вставить / Специальный» неактивен?
В Excel предполагается, что вы сможете изменить строки на столбцы, а столбцы — на строки (по сути, вращая лист по диагональной оси), выбрав область для транспонирования и выполнив команду Копировать, Вставить специальную. Но диалоговое окно, которое открывается, имеет серый цвет.
Я пробовал несколько методов, таких как выделение квадратной области, выделение верхней левой ячейки перед вставкой, выделение нижней правой ячейки перед вставкой, но все они имеют одинаковый результат.
Как я могу снять ящик, чтобы проверить его?
3 ответа 3
Чтобы выполнить транспонирование, выберите область для транспонирования и выполните копию, чтобы поместить ее в буфер обмена. Сокращение не будет работать.
Выберите область цели и сделайте вставку / спец. Нажмите переключатель « Значения »; это уберет флажок Транспонировать. Установите флажок Транспонировать и нажмите кнопку ОК. Данные будут транспонированы и вставлены во вновь выбранную область.
Для успешного выполнения транспонирования должны выполняться все следующие условия:
Область, выбранная для целевой пасты, должна иметь правильную форму и размер. Например, если скопированные исходные данные имеют ширину шесть столбцов и высоту три строки, необходимо выбрать целевую область шириной три столбца и высотой шесть строк.
Целевая область должна быть пустой; Вы не можете транспонировать на месте.
У Дуга Миткиффа есть отличное учебное пособие для этого, а также файл Excel, который вы можете скачать и попрактиковаться.
Источник
6 способов быстро транспонировать таблицу
В этой статье показано, как столбец можно превратить в строку в Excel с помощью функции ТРАНСП, специальной вставки, кода VBA или же специального инструмента. Иначе говоря, мы научимся транспонировать таблицу.
В этой статье вы найдете несколько способов поменять местами строки и столбцы (или столбцы и строки), как бы вы это ни называли, это одно и то же 🙂 Эти решения работают во всех версиях Excel 2016, 2013, 2010, 2007 и ниже, представляют множество возможных сценариев и объясняют наиболее типичные ошибки. Вот о чём мы поговорим:
О вкусах не спорят. То же самое и с рабочими привычками. Некоторые пользователи Excel предпочитают организовывать данные вертикально в столбцы, тогда как другие выбирают горизонтальное расположение в строках. И при совместной работе над таблицами вкусы зачастую не совпадают …
Довольно часто вы строите сложную таблицу только для того, чтобы в конце концов понять, что имеет смысл повернуть ее для более удобного анализа показателей или же для представления их в виде графиков.
Транспонирование – это математическая операция. Это преобразование матрицы, в результате чего столбцы становятся строками, а строки превращаются в столбцы. Говоря проще, нужно все значения в строке (горизонталь) перекинуть в столбец (вертикаль).
Способ 1. Использовать функцию ТРАНСП.
В случае, когда вам нужно быстро изменить ориентацию вашей таблицы, можно использовать функцию ТРАНСП (TRANSPOSE в англоязычной версии).
Назначение функции ТРАНСП в Excel – превратить строки в столбцы, т. е. поменять ориентацию с горизонтальной на вертикальную или наоборот.
Функция ТРАНСП в Excel — синтаксис
Функция транспонировать принимает только один аргумент:
= ТРАНСП(массив)
Где массив – это диапазон для транспонирования. Данные преобразуются следующим образом: первая строка исходного диапазона становится первым столбцом нового, вторая строка становится вторым столбцом и так далее.
Важно! Чтобы функция ТРАНСП работала, вы должны ввести ее как формулу массива, нажав Ctrl + Shift + Enter .
Синтаксис ТРАНСП не оставляет места для ошибок при создании формулы. Более сложная задача – правильно записать её на рабочий лист. Если у вас нет большого опыта работы с формулами Excel в целом и формулами массивов в частности, внимательно следуйте приведенным ниже инструкциям.
1. Подсчитайте количество столбцов и строк в исходной таблице.
Эти числа понадобятся вам на следующем шаге.
В этом примере мы собираемся транспонировать небольшую табличку, которая показывает объем экспорта свежих фруктов по регионам:
2. Выберите такое же количество ячеек, но измените их ориентацию.
Ваша новая таблица будет содержать такое же количество значений, но будет повернута с горизонтальной ориентации на вертикальную. Итак, вы выбираете диапазон пустых ячеек, который занимает то же количество строк, что и исходная таблица имела столбцов, и такое же количество колонок, как исходная таблица – строк.
В нашем случае мы выбираем диапазон из 5 столбцов и 4 строк:
3. Введите формулу ТРАНСП.
Выделив этот пустой диапазон, используйте функцию транспонирования:
Вот подробные шаги:
Сначала вы вводите знак равенства, имя функции и открывающую скобку: = ТРАНСП(
Затем выберите исходный диапазон с помощью мыши или введите его вручную:
Наконец, введите закрывающую скобку, но не нажимайте клавишу Enter! На этом этапе ваша формула должна выглядеть примерно так:
4. Запишите формулу.
Нажмите Ctrl + Shift + Enter , чтобы правильно закончить формулу массива. Зачем это? Потому что формула должна применяться ко всем данным. И это именно то, для чего предназначены формулы массива.
После этого Excel окружит вашу формулу транспонирования <фигурными скобками>, которые видны в строке формул и являются визуальным индикатором формулы массива. Ни в коем случае не набирайте их вручную, это не сработает.
На скриншоте ниже показано, что наша исходная матрица значений была успешно транспонирована и 4 столбца были преобразованы в 4 строки. А столбцов теперь стало пять:
Преимущества функции ТРАНСП:
Основное преимущество использования этой функции заключается в том, что повернутая таблица сохраняет связь с исходной. Всякий раз, когда вы меняете исходные данные, транспонированная будет меняться соответствующим образом.
Слабые стороны функции ТРАНСП:
- Исходное форматирование не сохраняется в преобразованной таблице, как вы видите на скриншоте выше.
- Если в исходной таблице есть пустые клетки, вместо них ячейки новой таблицы будут содержать ноль. Чтобы исправить это, используйте ТРАНСП в комбинации с функцией ЕСЛИ, как описано в этом примере ниже: Как транспонировать без нулей.
- Вы не можете редактировать какие-либо данные в преобразованной таблице, потому что она полностью завязана на исходные данные. Если вы попытаетесь изменить какое-либо значение, то получите ошибку «Вы не можете изменить часть массива».
Итак, какой бы хорошей и простой в использовании не была бы функция ТРАНСП, ей определенно не хватает гибкости. Поэтому она может быть не самым оптимальным вариантом во многих ситуациях.
Как транспонировать таблицу без замены нулей на пробелы.
Выше мы уже упоминали, что если одна или несколько ячеек в исходной таблице пусты, то они будут иметь нулевые значения после преобразования, как показано на скриншоте ниже:
То есть, если при транспонировании строки в столбец программа обнаруживает пустую ячейку, то вместо нее сразу же вставляется ноль. Это особенность Экселя: стоит с пустой ячейкой произвести какую-то математическую операцию, и там тут же появляется ноль. А транспонирование в Excel – это математическая операция с матрицей значений.
С одной стороны, это выглядит несущественно, поскольку не меняет математические результаты в итогах. Но для вас эти нули могут выглядеть не совсем эстетично, так как меняют внешний вид данных. Ну а если они появляются посреди текстовых значений – это совсем некрасиво.
Если вы хотите оставить в новой таблице по-прежнему пустые ячейки, а не нули, то вложите функцию ЕСЛИ в формулу ТРАНСП, чтобы предварительно проверить, является ли ячейка пустой. Если она пуста, функция ЕСЛИ вернет пустую строку («»), в противном случае предоставит значение для транспонирования:
Введите формулу, как описано выше (не забудьте нажать Ctrl + Shift + Enter , чтобы правильно завершить формулу массива), и вы получите результат, подобный этому:
Как видите, мы транспонируем не все ячейки, а только непустые.
Советы по использованию ТРАНСП
Как вы только что видели, функция ТРАНСП имеет ряд особенностей, которые могут сбить с толку неопытных пользователей. Приведенные ниже советы помогут вам избежать некоторых типичных ошибок.
1. Как редактировать формулу?
Как функция массива, ТРАНСП не позволяет изменять часть возвращаемого массива. Чтобы отредактировать формулу транспонирования, выберите весь диапазон, к которому относится формула, внесите необходимые изменения и нажмите Ctrl + Shift + Enter , чтобы сохранить обновленную формулу.
2. Как удалить формулу?
Чтобы удалить формулу транспонирования с листа, выберите весь диапазон, на который имеется ссылка в формуле, и нажмите клавишу Del.
3. Как заменить формулу на значения?
Когда вы переворачиваете таблицу с помощью функции ТРАНСП, исходная и новая таблицы связываются. Это означает, что всякий раз, когда вы изменяете какое-либо значение в исходной таблице, соответствующее значение в новой изменяется автоматически.
Если вы хотите разорвать связь между ними, замените формулы вычисленными значениями. Для этого выберите все ячейки преобразованной таблицы, затем нажмите Ctrl + C, чтобы скопировать их в буфер обмена. Кликните правой кнопкой мыши и выберите в контекстном меню «Специальная вставка» > « Значения». Или используйте для вставки значений вместо формул комбинацию клавиш Ctrl+Alt+V .
Способ 2. Как транспонировать с помощью формул
Этот способ отчасти похож на предыдущий, но позволяет свободно редактировать значения во второй таблице и вносить в нее любые правки при необходимости.
Для создания ссылок на строки и столбцы нам понадобятся четыре функции из категории Ссылки и массивы:
- Функция АДРЕС(номер_строки; номер_столбца) – выдает адрес ячейки по номеру строки и столбца на листе, т.е. АДРЕС(2;3) выдаст, например, ссылку на C2.
- Функция ДВССЫЛ(ссылка_в_виде_текста) – преобразует текстовую строку, например, «F3» в настоящую ссылку на ячейку F3.
- Функции СТРОКА() и СТОЛБЕЦ() — выдают номер строки и столбца для заданной ячейки, например =СТРОКА(F1) выдаст 1, а формула =СТОЛБЕЦ(А3) возвратит 3.
Теперь соединяем эти функции, чтобы получить нужную нам ссылку на исходную таблицу. Предположим, координаты её верхнего левого угла – A1.
Вводим в любую свободную ячейку (скажем, в A8) вот такую формулу:
в английской версии Excel это будет =INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))
Чтобы столбцы превратились в строки, копируем (протягиваем) формулу вправо и вниз, перетащив маленький черный крестик в нижнем правом углу выбранных ячеек. В итоге должно получиться примерно следующее:
Вот и все! В вашей вновь созданной таблице все столбцы поменяны местами со строками.
Если ваши данные начинаются с некоторой строки, отличной от 1, и столбца, отличного от A, вам придется использовать немного более сложную формулу:
=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(B6) — СТОЛБЕЦ($B$6) + СТРОКА($B$6); СТРОКА(B6) — СТРОКА($B$6) + СТОЛБЕЦ($B$6)))
Где B6 — самая верхняя левая ячейка исходной таблицы. Также обратите внимание на использование абсолютных и относительных ссылок.
Однако транспонированные данные выглядят очень просто и тускло по сравнению с исходными. Всё форматирование потеряно.
Но не расстраивайтесь, эту проблему легко решить. Чтобы восстановить исходное форматирование, выполните следующие действия:
- Скопируйте исходную таблицу.
- Выделите получившуюся таблицу.
- Щелкните её правой кнопкой мыши и выберите «Параметры вставки» > «Форматирование» .
Преимущества: эта формула обеспечивает более гибкий способ замены строк и столбцов в Excel. Это позволяет вносить любые изменения в итоговую таблицу, поскольку вы используете обычную формулу, а не формулу массива.
Недостатки: вижу только один — теряется форматирование данных. Хотя вы можете быстро восстановить его, как описано выше.
Способ 3. Специальная вставка
Предположим, у вас есть набор данных, аналогичный тому, что вы видите в верхней части рисунка ниже. Названия стран организованы в столбцы. Но их список слишком длинный, поэтому нам лучше перевернуть столбцы в строки, чтобы всё поместилось на экране:
Для этого выполните следующие действия:
- Выберите исходные данные. Чтобы быстро выделить всю таблицу, то есть все ячейки с данными в ней, нажмите Ctrl + Home , а потом Ctrl + Shift + End .
- Скопируйте выделенное, щелкнув правой кнопкой мыши и выбрав пункт Копировать в контекстном меню, или нажав Ctrl + C .
- Выберите первую позицию целевого диапазона.
Обязательно выберите клетку, расположенную вне вашей исходной таблицы, чтобы области копирования и области вставки не перекрывались. Например, если у вас сейчас 4 столбца и 10 строк, преобразованная таблица будет иметь 10 столбцов и 4 строки. - Щелкните правой кнопкой мыши целевую ячейку и выберите «Специальная вставка» в контекстном меню, затем выберите «Транспонировать».
Примечание. Если ваши исходные данные содержат формулы, убедитесь, что вы правильно используете относительные и абсолютные ссылки в зависимости от того, должны ли они быть изменены или оставаться зафиксированными.
Как вы только что видели, функция «Специальная вставка» позволяет выполнять преобразование из строки в столбец (или из столбца в строку) буквально за несколько секунд. Этот метод также копирует форматирование ваших исходных данных, чем добавляет еще один плюс в свою пользу.
Однако у этого подхода есть два недостатка, которые не позволяют называть его идеальным решением чтобы перевернуть данные в Excel:
- Он не слишком подходит для вращения полнофункциональных таблиц Excel. Если вы скопируете всю таблицу и затем откроете диалоговое окно «Специальная вставка», то обнаружите, что пункт «Транспонировать» неактивен. В этом случае вам нужно либо скопировать ее без заголовков столбцов, либо сначала преобразовать ее в обычный диапазон.
- Операция Специальная вставка >Транспонировать не связывает новую таблицу с исходными данными. Поэтому она хорошо подходит только для одноразовых преобразований. Всякий раз, когда исходные данные меняются, вам нужно будет повторить процесс и повернуть таблицу заново. Никто не захочет тратить свое время на преобразование одних и тех же строк и столбцов снова и снова, верно?
Как транспонировать таблицу и связать ее с исходными данными
Давайте посмотрим, как вы можете превращать строки в столбцы, используя уже знакомую нам технику специальной вставки, но при этом связывая полученную таблицу с исходным набором данных. То есть, всякий раз, когда вы меняете данные в исходной, перевернутая будет отражать изменения и обновляться соответствующим образом. Чуть выше мы назвали отсутствие такой связи недостатком. А сейчас посмотрим, как этот недостаток можно обойти.
- Скопируйте строки, которые нужно преобразовать в столбцы (или столбцы, которые нужно превратить в строки).
- Выберите пустую ячейку на том же или другом листе.
- Откройте диалоговое окно «Специальная вставка», как описано в предыдущем примере, и нажмите «Вставить связь» в нижнем левом углу.
- Результат будет примерно таким:
- Выберите новую таблицу и откройте диалоговое окно Excel «Найти и заменить» (или нажмите Ctrl + H , чтобы сразу перейти на вкладку Заменить).
- Замените все знаки «=» на «###» или любые другие символы, которых нет нигде в ваших реальных данных. Таким нехитрым образом мы преобразуем наши формулы-ссылки в текст.
Эта операция превратит ваши данные во что-то немного пугающее, как вы видите на скриншоте ниже. Но не паникуйте – еще 2 шага, и вы достигнете желаемого результата.
- Скопируйте диапазон со значениями «###» в буфер обмена, а затем используйте Специальная вставка > Транспонировать, чтобы преобразовать столбцы в строки.
- Наконец, откройте диалоговое окно «Найти и заменить» еще раз, чтобы отменить изменение, т.е. обратно заменить все «###» на «=», и восстановить ссылки на исходные данные.
Это длинноватое, но элегантное решение, не правда ли? Единственным недостатком этого подхода является то, что исходное форматирование теряется в процессе, и вам нужно будет восстановить его вручную (в дальнейшем в этом руководстве я покажу вам быстрый способ сделать это).
Способ 4. Перенести данные в Excel с помощью макроса VBA
Чтобы автоматизировать преобразование строк в столбцы в Excel, вы можете использовать следующий макрос:
Чтобы добавить макрос на лист, следуйте инструкциям, описанным в разделе Как вставить и запустить код VBA в Excel .
Примечание. Транспонирование с помощью VBA имеет ограничение в 65536 элементов. Если ваш массив превышает этот предел, дополнительные данные будут автоматически отброшены.
Как использовать макрос для преобразования строки в столбец
Вставив макрос в книгу, выполните следующие шаги, чтобы повернуть таблицу:
- Откройте целевой рабочий лист, нажмите Alt + F8 , выберите макрос TransposeColumnsRows и нажмите «Выполнить».
- Выберите диапазон, который вы хотите преобразовать, и нажмите OK :
- Выберите верхнюю левую позицию целевого диапазона и нажмите ОК:
Способ 5. Сводная таблица.
Еще один способ как можно транспонировать матрицу значений в Excel — с помощью сводной таблицы. К сожалению, этот способ работает только в одном направлении — из столбцов переворачивает данные в строки. Но его преимущество, по сравнению с предыдущими, – это возможность фильтровать данные и использовать всю мощь сводных таблиц.
Сначала необходимо создать сводную таблицу (здесь есть подробная инструкция). Выделяем исходные данные:
Создаем её на новом листе.
В свойствах сводной таблицы отключаем общие и промежуточные итоги по столбцам и строкам.
Перетаскиваем поля в макете таблицы, и получаем результат – таблица повёрнута набок.
Преобразуйте столбцы в строки с помощью инструмента транспонирования
Если вам нужно выполнять преобразования строки в столбец достаточно часто, то возможно, вы действительно ищете более быстрый и простой способ. К счастью, у меня есть такой способ в моем Excel, как и у других пользователей надстройки Ultimate Suite 🙂
Позвольте мне продемонстрировать вам, как перенести строки в столбцы в Excel буквально за пару кликов при помощи инструмента транспонирования таблицы:
- Выделите любую отдельную ячейку в таблице, перейдите на вкладку AblebitsTools >Transform и нажмите кнопку Transpose.
- В большинстве случаев настройки по умолчанию работают нормально, поэтому вы просто нажимаете «Транспонировать», ничего не меняя.
Если вы хотите Создать ссылки на исходные данные, чтобы повернутая таблица обновлялась автоматически при каждом изменении исходной таблицы, выберите соответствующий вариант:
Готово! Таблица транспонирована:
Если вам интересно попробовать этот и более 60 других профессиональных инструментов для Excel, я приглашаю вас загрузить пробную версию Ultimate Suite.
Итак, вы можете выбрать для себя любой из этих шести методов транспонирования в Excel.
Благодарю вас за чтение и надеюсь увидеть вас в нашем блоге!
Источник
Часто в работе у нас возникает потребность перевернуть данные — из строчного представления сделать данные столбцом, из столбца перевернуть данные в строку. Поворот данных из столбцов в строки или наоборот называется транспонированием.
Транспонировать данные в Excel можно с помощью:
- «Специальной» вставки с галочкой «Транспонировать»;
- Функции Excel =трансп();
- и с помощью сводной таблицы.
Рассмотрим данные способы транспонирования на примерах.
У нас есть таблица с данными, и мы хотим из табличного представления данных сделать строчное — для этого транспонируем данные.
1-ый способ транспонирования — специальная вставка
Транспонируем данные с помощью специальной вставки с галочкой «транспонировать».
Для этого выделяем необходимые данные и копируем их с помощью кнопки «копировать» или с помощью сочетания клавиш ctrl+c.
Затем переходим на новый лист, устанавливаем курсор, куда хотим вставить данные, и заходим в «специальную вставку»: нажимаем кнопку в меню «Специальная вставка» или нажимаем правой кнопкой мыши и выбираем пункт «Специальная вставка».
После нажатия откроется диалоговое окно, в котором ставим галочку «транспонировать» и нажимаем ОК
Данные переворачиваются, и мы получаем нужное нам строчное представление:
Обратите внимание, что при таком способе транспонирования данных связь между исходными данными и перевернутыми отсутствует. Т.е. если мы меняем исходные данные, данные в транспонированной таблице не меняются. Как транспонировать данные с сохранением связи с исходником?
2-ой способ транспонирования функция Excel =ТРАНСП()
Рассмотрим второй способ транспонирования, который, в отличие от первого, позволяет сохранить связь с исходными данными, — с помощью функции Excel «=ТРАНСП()»
Итак, как с помощью формулы =ТРАНСП перевернуть данные?
1. Вводим формулу (как в картинке выше) и передаем в неё ссылку на весь диапазон, который хотим перевернуть:
2. Выделяем диапазон в листе с формулой =ТРАНСП, равный массиву исходных данных (т.е равное количество строк и столбцов в перевернутом виде).
Чтобы легче было выделить массив нужного размера, рекомендую перевести стиль ссылок в вид R1C1, чтобы столбцы и строки стали номерами. Это делается в параметрах Excel -> в разделе «Формулы» -> поставить галочку «Стиль ссылок R1C1».
Например, у нас в исходных данных значения расположены со 2й по 47 строку и 3 столбца, в источнике данных мы выделим 3 строки и 46 столбцов начиная с 1-го. После того, как диапазон выделен, нажимаем на клавиатуре клавишу F2, а затем одновременно Ctrl+Shift+Enter, таким образом мы вводим формулу массива и получаем перевернутые данные с сохраненными ссылками на первоначальный диапазон.
Скачать пример транспонирования в Excel
Теперь дату преобразуем в формат «Дата», а продажи в «руб». В итоге получаем диапазон, аналогичный исходным данным, только с перевернутыми значениями и, что важно, связанный с исходными данными. Если мы будем изменять исходные данные, то автоматически они будут меняться на листе с транспонированными данными.
Аналогичным образом диапазон переворачивается и в обратную сторону.
3-ий способ транспонирования — сводная таблица
Третий способ транспонирования данных в Excel — с помощью сводной таблицы. Этот способ транспонирования работает только в одном направлении — из столбцов переворачивает данные в строки. Но его преимущество, по сравнению с предыдущими, — это возможность фильтровать данные и использовать всю мощь сводных таблиц.
Сначала необходимо сделать сводную таблицу. Выделяем исходные данные:
Заходим в меню «Вставка» и выбираем пункт «Сводная таблица», и в диалоговом окне сводной нажимаем «ОК»:
В новом листе создается сводная таблица:
В названия столбцов перетаскиваем поля «дата» и «товар», в значения перетаскиваем «объем продаж».
В меню «Конструктор» отключаем общие и промежуточные итоги. Меню «Конструктор» появляется в Excel при постановке курсора на сводную таблицу.
И получаем перевернутые данные:
Для удобства поле «Товары» мы можем перенести в область строк, и получить более рабочий вид кросс таблицы:
Мы рассмотрели 3 способа транспонирования данных.
Для того, чтобы сделать расчет с помощью программы Forecast4AC PRO, данные временного ряда необходимо представить в виде строки. Вы можете воспользоваться любым предложенным способом — программа будет работать и со сводной, и с формулами или ссылками и с обычными значениями, представленными в виде кросс таблицы!
Воспользовавшись Forecast4AC PRO в листе «3-й способ», мы построили график, на который выведена «Модель прогноза», «Исходные данные», «Границы прогноза», и «Тренд».
Точных Вам прогнозов и хорошего настроения!
Скачать пример транспонирования в Excel
Присоединяйтесь к нам!
Скачивайте бесплатные приложения для прогнозирования и бизнес-анализа:
- Novo Forecast Lite — автоматический расчет прогноза в Excel.
- 4analytics — ABC-XYZ-анализ и анализ выбросов в Excel.
- Qlik Sense Desktop и QlikView Personal Edition — BI-системы для анализа и визуализации данных.
Тестируйте возможности платных решений:
- Novo Forecast PRO — прогнозирование в Excel для больших массивов данных.
Получите 10 рекомендаций по повышению точности прогнозов до 90% и выше.