Если у вас есть таблица с данными в столбцах, которые необходимо повернуть для переупорядочивать их по строкам, используйте функцию Транспонировать. С его помощью можно быстро переключать данные из столбцов в строки и наоборот.
Например, если данные выглядят так: «Регионы продаж» в заголовках столбцов и «Кварталы» с левой стороны:
Функция Транспонировать переупомешет таблицу, в которой столбцы «Кварталы» отображаются в заголовках столбцов, а слева будут показаны регионы продаж, например:
Примечание: Если данные хранятся в таблице Excel, функция Транспонирование будет недоступна. Можно сначала преобразовать таблицу в диапазон или воспользоваться функцией ТРАНСП, чтобы повернуть строки и столбцы.
Вот как это сделать:
-
Выделите диапазон данных, который требуется переупорядочить, включая заголовки строк или столбцов, а затем нажмите клавиши CTRL+C.
Примечание: Убедитесь, что для этого нужно скопировать данные, так как не получится использовать команду Вырезать или CTRL+X.
-
Выберите новое место на том месте на компьютере, куда вы хотите ввести транспонную таблицу, чтобы вместить данные в достаточном месте. В новой таблице будут полностью переоформатироваться все данные и форматирование, которые уже есть.
Щелкните правой кнопкой мыши левую верхнюю ячейку, в которой нужно ввести транспонировать таблицу, и выберите транспонировать .
-
После успешного поворота данных можно удалить исходную таблицу, и данные в новой таблице останутся без изменений.
Советы по транспонированию данных
-
Если данные содержат формулы, Excel автоматически обновляет их в соответствие с новым расположением. Убедитесь, что в этих формулах используются абсолютные ссылки. Если они не используются, перед поворотом данных можно переключаться между относительными, абсолютными и смешанными ссылками.
-
Если вы хотите часто поворачивать данные для их просмотра под разными углами, создайте с помощью нее с помощью перетаскиванием полей из области строк в область столбцов (или наоборот)в списке полей.
Вы можете ввести в книгу данные в качестве транспон данных. Транспонировать: переупочевание содержимого скопированные ячейки при копировании. Данные строк будут вставлены в столбцы, и наоборот.
Вот как можно транспоннять содержимое ячейки:
-
Скопируйте диапазон ячеев.
-
Вы выберите пустые ячейки, в которые вы хотите ввести транспонировать данные.
-
На вкладке Главная щелкните значок Ввести и выберите Ввести транспонировать.
Превращение строк в столбцы и обратно
Постановка задачи
Хотим, упрощенно говоря, повернуть таблицу на бок, т.е. то, что располагалось в строке — пустить по столбцу и наоборот:
Способ 1. Специальная вставка
Выделяем и копируем исходную таблицу (правой кнопкой мыши — Копировать). Затем щелкаем правой по пустой ячейке, куда хотим поместить повернутую таблицу и выбираем из контекстного меню команду Специальная вставка (Paste Special). В открывшемся диалоговом окне ставим галочку Транспонировать (Transpose) и жмем ОК.
Минусы: не всегда корректно копируются ячейки с формулами, нет связи между таблицами (изменение данных в первой таблице не повлияет на вторую).
Плюсы: в транспонированной таблице сохраняется исходное форматирование ячеек.
Способ 2. Функция ТРАНСП
Выделяем нужное количество пустых ячеек (т.е. если, например, исходная таблица была из 3 строк и 5 столбцов, то выделить обязательно нужно диапазон из 5 строк и 3 столбцов) и вводим в первую ячейку функцию ТРАНСП (TRANSPOSE) из категории Ссылки и массивы (Lookup and Reference):
После ввода функции необходимо нажать не Enter, а Ctrl+Shift+Enter, чтобы ввести ее сразу во все выделенные ячейки как формулу массива. Если раньше не сталкивались с формулами массивов, то советую почитать тут — это весьма экзотический, но очень мощный инструмент в Excel.
Плюсы: между таблицами сохраняется связь, т.е. изменения в первой таблице тут же отражаются во второй.
Минусы: не сохраняется форматирование, пустые ячейки из первой таблицы отображаются в виде нулей во второй, нельзя редактировать отдельные ячейки во второй таблице, поскольку формулу массива можно менять только целиком.
Способ 3. Формируем адрес сами
Этот способ отчасти похож не предыдущий, но позволяет свободно редактировать значения во второй таблице и вносить в нее любые правки при необходимости. Для создания ссылок на строки и столбцы нам понадобятся четыре функции из категории Ссылки и массивы:
- Функция АДРЕС(номер_строки; номер_столбца) — выдает адрес ячейки по номеру строки и столбца на листе, т.е. АДРЕС(2;3) выдаст, например, ссылку на ячейку C2.
- Функция ДВССЫЛ(ссылка_в_виде_текста) — преобразует текстовую строку, например, «F3» в настоящую ссылку на ячейку F3.
- Функции СТРОКА(ячейка) и СТОЛБЕЦ(ячейка) — выдают номер строки и столбца для заданной ячейки, например =СТРОКА(F1) выдаст 1, а =СТОЛБЕЦ(А3) выдаст 3.
Теперь соединяем эти функции, чтобы получить нужную нам ссылку, т.е. вводим в любую свободную ячейку вот такую формулу:
=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1);СТРОКА(A1)))
в английской версии Excel это будет =INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))
А затем копируем (протягиваем) формулу на соседние ячейки как обычно черным крестом. В итоге должно получиться примерно следующее:
Т.е. при копировании формулы вниз по столбцу, она выдает ссылку, которая уходит вправо по строке и наоборот. Чего и требовалось.
Плюсы: сохраняются связи между таблицами, можно легко вносить изменения во вторую таблицу.
Минусы: форматирование не сохраняется, но его можно легко воспроизвести Специальной вставкой (вставить только Формат с флажком Транспонировать
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. При использовании Excel нередко приходится менять строчки и колонки в таблице местами. Например, бывает так, что человек сделал огромную таблицу, и тут понял, что значительно проще ее читать, если перевернуть.
Эта детальная инструкция расскажет о нескольких способах транспонирования Excel-таблицы, а также о часто встречаемых ошибках, с которыми может столкнуться пользователь. Все они могут использоваться на любой версии Excel, как очень старой, так и самой новой.
Содержание
- Использование функции «Специальная вставка»
- Как поменять строки и колонки местами и связать их с основной таблицей?
- Применение формул
- Функция ТРАНСП
- Использование формулы ДВССЫЛ
- Как работает сочетание формул ДВССЫЛ и АДРЕСС?
- Использование макроса для транспонирования
Использование функции «Специальная вставка»
Предположим, у вас есть два набора данных. Второй – это то, что вы хотите получить в итоге. Первый – это та таблица, которую нужно транспонировать. В первом варианте названия стран представлены в разных колонках, и это очень неудобно читать, и тем более, сравнивать характеристики государств между собой. Поэтому значительно лучше организовать таблицу так, чтобы названия стран отображались в разных колонках.
Чтобы поменять местами строки и колонки, надо сделать следующее:
- Выбрать изначальную таблицу. Если требуется увидеть целую таблицу сразу (если она очень большая), нужно нажать на комбинацию клавиш Ctrl+Home, а после этого – Ctrl+Shift+End.
- Далее ячейки копируются. Это можно сделать как через контекстное меню, так и нажатием комбинации клавиш Ctrl+C. Рекомендуется сразу себя приучать к последнему варианту, поскольку если выучить горячие клавиши, выполнять многие задачи можно буквально в одну секунду.
- Выбрать первую ячейку в целевом диапазоне. При этом он должен находиться за пределами таблицы. Также необходимо подобрать ячейку таким образом, чтобы таблица после транспонирования не пересекалась с другими данными. Например, если начальная таблица имеет 4 колонки и 10 строк, то после выполнения всех этих операций она будет распространяться на 10 ячеек вниз и на 4 ячейки в сторону. Поэтому в рамках этого диапазона (отсчет ведется с целевой ячейки) не должно ничего быть.
- По целевой ячейке необходимо нажать правой кнопкой мыши и выбрать пункт «Специальная вставка», а потом поставить флажок возле надписи «Транспонировать».
Важно: если в исходной таблице есть формулы, важно проследить, чтобы абсолютные ссылки использовались в каждой ячейке. Это нужно сделать, чтобы автоматически все ссылки обновились.
Огромное преимущество опции «Специальная вставка» и заключается в возможности транспонировать таблицу всего лишь за несколько секунд. И при этом полностью сохраняется форматирование, что также позволяет сэкономить кучу времени.
Несмотря на эти явные плюсы, есть и ряд серьезных недостатков, которые мешают этому методу называться универсальным:
- Его плохо использовать для транспонирования полноценных таблиц, которые не сводятся к банальному диапазону значений. В таком случае функция «Транспонировать» будет отключена. Чтобы обойти эту проблему, необходимо конвертировать таблицу в диапазон.
- Этот метод хорошо подходит для однократного транспонирования, поскольку не связывает новую таблицу с оригинальными данными. Простыми словами, при изменении одной из таблиц, информация не будет автоматически обновлена на второй. Поэтому придется повторить транспонирование.
Как поменять строки и колонки местами и связать их с основной таблицей?
Итак, что можно сделать, чтобы опция «Специальная вставка» могла связывать таблицу с основными данными и ту, которая получилась вследствие транспонирования? Ведь каждому хотелось бы, чтобы данные автоматически обновлялись.
- Скопировать таблицу, для которой требуется транспонирование.
- Выбрать ячейку без данных в пустом месте таблицы.
- Запустить меню «Специальная вставка», аналогично прошлому примеру. После этого необходимо нажать на кнопку «Вставить связь», которую можно найти слева внизу.
- В результате получится следующее.
- Выбрать новую таблицу и запустить окно «Найти и заменить» путем нажатия комбинации клавиш Ctrl + H.
- Заменить все знаки ввода формулы (=) на ххх (или любую другую комбинацию знаков, которой нет в оригинальной таблице).
- В результате, получится нечто страшное, но это обязательное промежуточное условие достижения желаемого результата. Потом все будет красиво выглядеть.
- Скопировать получившуюся таблицу, а потом использовать специальную вставку, чтобы транспонировать ее.
После этого всего необходимо повторно открыть диалог «Найти и заменить», и с его помощью изменить «ххх» в ячейках на «=», чтобы все ячейки были связаны с исходной информацией.Конечно, это сложнее и дольше, но этот метод позволяет обойти отсутствие связи с исходной таблицей. Но и у этого подхода есть недостаток. Выражается он в необходимости самостоятельно возобновлять форматирование.
Применение формул
Существует две функции, позволяющие гибко менять строки и колонки: ТРАНСП и ДВССЫЛ. Здесь также есть возможность сохранить связь с первоначальной таблицей, но механика работы несколько иная.
Функция ТРАНСП
Собственно, эта формула непосредственно транспонирует электронную таблицу. Синтаксис следующий:
=ТРАНСП(массив)
Сейчас мы попробуем применить ее к таблице, в какой приводится информация о популяции отдельных штатов.
- Посчитайте количество колонок и строк, находящихся в таблице и найдите пустое место в листе, имеющее такие же размеры.
- Запустить режим редактирования путем нажатия клавиши F2.
- Записать функцию ТРАНСП с диапазоном данных в скобках. Важно всегда использовать абсолютные ссылки во время применения этой функции.
- Нажать комбинацию клавиш Ctrl+Shift+Enter. Важно нажать именно комбинацию клавиш, иначе формула откажется работать.
Все, теперь результат выглядит следующим образом!
Преимущество этой формулы такое же, как и у предыдущего метода (с использованием функции «найти и заменить» заключается в том, что при изменении базовой информации транспонированная таблица будет автоматически обновляться.
Но недостатки у нее тоже имеются:
- Форматирование, как и в случае со способом «Найти и заменить», не будет сохранено.
- Первоначальная таблица должна содержать какие-то данные, в ином случае в некоторых ячейках будут нули.
- Излишняя зависимость от источника данных. То есть, этот метод имеет противоположный по недостаток – невозможность изменять транспонированную таблицу. Если попытаться это сделать, программа скажет, что невозможно редактировать часть массива.
Также эту функцию не всегда можно гибко применять в разных ситуациях, поэтому нужно о ней знать, но использовать более эффективные приемы.
Использование формулы ДВССЫЛ
Механика этого метода очень напоминает использование формулы ТРАНСП, но при этом его использование решает проблему невозможности редактировать транспонированную таблицу без потери связи с основной информацией.
Но одной формулы ДВССЫЛ недостаточно: необходимо еще использовать функцию АДРЕС. Большой таблицы в этом примере не будет, чтобы не перегружать вас большим количеством ненужной информации.
Итак, допустим, у вас есть такая таблица, состоящая из 4 колонок и 5 строк.
Необходимо предпринять следующие действия:
- Ввести такую формулу: =ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1);СТРОКА(A1))) в верхнюю левую ячейку новой таблицы (в нашем примере это А7) и нажать на клавишу ввода. Если информация начинается не в первой строке и не в первом столбце, то придтся использовать более сложную формулу: =ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1)-СТОЛБЕЦ($A$1)+СТРОКА($A$1);СТРОКА(A1)-СТРОКА($A$1)+СТОЛБЕЦ($A$1))). В данной формуле под А1 подразумевается верхняя ячейка таблицы, на основе которой будет формироваться транспонированная.
- Распространить формулу на весь участок, на котором будет размещаться новая версия таблицы. Для этого необходимо потянуть маркер в нижнем правом углу первой ячейки в противоположный конец будущей таблицы.
- Все! Таблицу получилось успешно транспонировать, и по-прежнему можно ее редактировать. Конечно, ее внешний вид оставляет желать лучшего, но исправить ее не составит труда. Чтобы восстановить правильное форматирование необходимо таблицу, которую мы транспонировали (то есть, исходную) скопировать, затем выделить только что созданную таблицу. Далее делается правый клик по выделенному диапазону, а потом нажать на «Форматирование» в параметрах вставки.
Таким образом, использование функции ДВССЫЛ позволяет редактировать абсолютно любое значение в итоговой таблице, а данные будут обновляться всегда, как только в исходной таблице будут осуществляться какие-либо изменения.
Конечно, этот метод более тяжелый, но если его отработать на практике, то все не так страшно.
Этот метод один из самых лучших, потому что несмотря на то, что не сохраняется форматирование в новосозданной таблице, можно его легко восстановить.
Как работает сочетание формул ДВССЫЛ и АДРЕСС?
После того, как вы разобрались в том, как использовать совокупность этих формул для транспонирования таблицы, вам, возможно, захочется более глубоко изучить принцип работы этого метода.
Функция ДВССЫЛ в нашей формуле используется, чтобы создать непрямую ссылку на ячейку. Допустим, если необходимо в ячейке А8 указать такое же значение, как и в B1, то можно написать формулу
=ДВССЫЛ(«B1»)
Казалось бы, зачем это делать? Ведь можно просто написать ссылку на ячейку в другой ячейке. Но преимущество этой функции в том, что в ссылку можно превратить абсолютно любую строку, и даже ту, которая создается с использованием других формул. Собственно, это мы и делаем в формуле.
Помимо функции АДРЕС в формуле использовались еще СТОЛБЕЦ и СТРОКА. Первая возвращает адрес ячейки на основе уже известных номеров строки и столбца. Здесь важно правильно соблюдать последовательность. Сначала указывается строка, а потом лишь колонка. Например, функция АДРЕС(4;2) возвратит адрес $B$2.
Следующая используемая выше функция – это СТОЛБЕЦ. Она здесь необходима, чтобы формула получила номер столбца из конкретной ссылки. Например, если использовать параметр B2 в скобках этой функции, то она вернет цифру 2, поскольку вторым столбцом является столбец B.
Очевидно, что функция СТРОКА работает таким же образом, просто возвращает номер строки.
А теперь будем использовать не абстрактные примеры, а вполне конкретную формулу, которая применялась выше:
=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1);СТРОКА(A1)))
Здесь видно, что сначала в функции АДРЕС указывается колонка, а лишь потом строка. И именно здесь спрятан секрет работоспособности этой формулы. Мы же помним, что эта функция работает зеркально, и первый аргумент в ней – это номер строки. И получается, что когда мы прописываем там адрес столбца, он превращается в номер строки и наоборот.
То есть, если подытожить:
- Мы получаем номера столбца и строки с помощью соответствующих функций.
- С помощью функции АДРЕС строки превращаются в столбцы и наоборот.
- Функция ДВССЫЛ помогает вывести в ячейку отзеркаленные данные.
Вот, как просто все оказывается!
Использование макроса для транспонирования
Макрос – это маленькая программка. Она может использоваться для автоматизации процесса. Важно учитывать, что макрос имеет некоторые ограничения. Максимально метод Transpose дает возможность работать с 65536 элементами. Если это ограничение будет превышено, то это приведет к потере данных.
Во всем остальном, это эффективный метод автоматизации, который сможет значительно облегчить жизнь.
Например, можно написать такой код, который будет менять местами строки и колонки.
Sub TransposeColumnsRows()
Dim SourceRange As Range
Dim DestRange As Range
Set SourceRange = Application.InputBox(Prompt:=»Please select the range to transpose», Title:=»Transpose Rows to Columns», Type:=8)
Set DestRange = Application.InputBox(Prompt:=»Select the upper left cell of the destination range», Title:=»Transpose Rows to Columns», Type:=8)
SourceRange.Copy
DestRange.Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = False
End Sub
Но если знаний в программировании особо нет, ничего страшного. Можно воспользоваться описанными выше способами. А потом учиться новому по мере освоения старого.
Оцените качество статьи. Нам важно ваше мнение:
Do you want to rotate your data, changing your Excel columns to rows or vice versa?
Switching data from columns to rows or from rows to columns is known as transposing the data. When you convert columns into rows, the dimensions of data and the cell address will also change. Therefore, you should be careful while transposing the data. There are several ways to transpose columns to rows. We list three simple ways you can do this.
Method 1: use the transpose feature in paste drop-down menu
Let’s take the example of regional sales data in a table. Our data include row headers, column headers, and numerical data. Take a look at the images below and follow the steps below to convert the data in columns to row data and vice versa.
Step 1: Select the data set you want to transpose.
Step 2: On the Home tab, in the clipboard group, click Copy. You can also use the shortcut key Ctrl+C (Command+C on the Mac).
Step 3: On the worksheet, select the top-left cell of the destination.
Step 4: On the Home tab, in the clipboard group, click Paste and then click Transpose.
When using this method, there is no link between the source and destination tables. If you change the source data, the transposed data does not change.
Method 2: use the transpose() function to convert excel columns to rows
Another way of doing this is to use the actual Transpose() function.
Step 1: Select the destination area. In this case, as the original is five rows by four columns, this is an area four rows deep and five columns across.
Step 2: Press the F2 function key to enter into edit mode while the target area is still selected, or click in the Formula Bar.
Step 3: Write “=” (without quotes) followed by the Transpose function, and in brackets, select the range you want to transpose.
Step 5: In some versions of Excel (especially versions earlier than Excel 2019), you may need the combination of Ctrl+Shift+Enter keys to save this formula. However, in later versions of Excel, you can press either Enter or Ctrl+Shift+Enter.
When using the Transpose function, if you change the values in the source range, the values in the transposed range automatically update. A disadvantage of using the Transpose function is that this array formula may break when you make changes to the number of source rows or columns. Therefore, you need to be careful if you are handling complex data ranges.
Method 3 – using paste special
If you need more control over your transposition of columns to rows and vice versa, you can use the Paste Link option in the Paste Special drop-down menu.
In the previous method, if the source range changed, the Transpose formula could break. This can be avoided by using Paste Link. This pastes the cell references into each cell. If the values in the source range are changed, the linked cells will also change. Though this function sounds complicated, it’s fairly simple, provided you follow the steps correctly.
Step 1: Copy the data range and go to the top-left of the destination range on the same worksheet.
Step 2: Press the combination of Ctrl+Alt+V (Command+Ctrl+V on the Mac) to get the Paste Special dialogue box. Then press the Paste Link button. The result is that the cell references of the range are copied as formulas.
Step 3: Select the range you just pasted in the destination range and hold down Ctrl+H (or Command+H on the Mac) to invoke the Find and Replace dialogue box.
Step 4: In this box, enter “=” (without quotes) in the “Find what” field and “HS=” (without quotes) in the “Replace with” field, and click the Replace All button. The formulas are converted into text, as you have just replaced the “=” with “HS=.” You can use text other than “HS,” but you must convert the formulas into standard text. We are only using “HS” as a placeholder to help us move values in the spreadsheet.
Step 5: Copy this second range. Select the destination range where you want the transposed range to go. Hold down the Ctrl+Alt+V keys (Command+Ctrl+V on the Mac) to invoke the Paste Special dialogue box again. Check the Transpose option and click OK. This will convert the columns to rows.
Step 6: Now you can convert the transposed data back to formulas. Hold down Ctrl+H again (Command+H on the Mac) to invoke the Replace dialogue box. This time, enter “HS=” (without quotes) in the “Find what” field, “=” (without quotes) in the “Replace with” field, and click the Replace All button.
Now you have the live-transposed range of data without using the Transpose function. You have swapped your Excel columns to rows and vice versa.
Microsoft Excel is an important part of your toolkit, especially if you manage any kind of data. It allows you to store and analyze data easily and with great flexibility. Learning MS Excel can be easy if you put your mind to it. And, of course, our fun and comprehensive course on Excel is always available to help you along.
Would you like to learn more shortcut keys, such as the Ctrl+Alt+V combination shown in this article? If so, read our article on Excel Keyboard Shortcuts.
Frequently Asked Questions
How do I convert multiple columns to rows in Excel?
You cannot transpose entire columns, but smaller ranges of data in multiple columns can be. You need to select the data first. Highlight the first range to be copied, then hold down Ctrl (Command on the Mac) and highlight the other ranges. Copy the data. Then go to where you want the data to be pasted, and go to Home – Paste – Transpose.
What is the shortcut to convert rows to columns in Excel?
The shortcut to convert rows to columns or transpose columns to rows is to press Ctrl+Alt+V (Control+Command+V on the Mac), the letter ‘e,’ then Enter.
How do I switch rows and columns in an Excel chart?
There are three ways to transpose rows and columns in an Excel chart. The first is to go to Chart Design – Switch Row/Column. The second is to right-click in some empty space in the chart, click on “Select Data,” and click on “Switch Row/Column.” Thirdly, you can also go to Chart Design – Select Data – Switch Row/Column.