Если у вас есть таблица с данными в столбцах, которые необходимо повернуть для переупорядочивать их по строкам, используйте функцию Транспонировать. С его помощью можно быстро переключать данные из столбцов в строки и наоборот.
Например, если данные выглядят так: «Регионы продаж» в заголовках столбцов и «Кварталы» с левой стороны:
Функция Транспонировать переупомешет таблицу, в которой столбцы «Кварталы» отображаются в заголовках столбцов, а слева будут показаны регионы продаж, например:
Примечание: Если данные хранятся в таблице 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)))
А затем копируем (протягиваем) формулу на соседние ячейки как обычно черным крестом. В итоге должно получиться примерно следующее:
Т.е. при копировании формулы вниз по столбцу, она выдает ссылку, которая уходит вправо по строке и наоборот. Чего и требовалось.
Плюсы: сохраняются связи между таблицами, можно легко вносить изменения во вторую таблицу.
Минусы: форматирование не сохраняется, но его можно легко воспроизвести Специальной вставкой (вставить только Формат с флажком Транспонировать
Транспонирование в Excel – преобразуем строки в столбцы и наоборот
Смотрите также не нашел - в столбце данные: А черезPaste Special командой сайта office-guru.ru(АДРЕС) понимает первое и собираемся сейчасВы можете спокойноEnter Если Вы сделаете
, чтобы перейти в его вручную (далееВыделите новые данные и кликнуть правой кнопкой по ячейке, в.Транспонирование данных в Excel как сделать чтобы вписывались не свыделить, копировать, вставить(Специальная вставка):Источник: https://www.ablebits.com/office-addins-blog/2014/03/06/transpose-excel-rows-columns/ число как номер сделать. Если Вы редактировать любую ячейку:
- попытку изменить какую-либо режим редактирования. в этом уроке
- откройте диалоговое окно мыши по любой которую нужно вставитьСкопируйте выделенные ячейки. Для
- – это задача, в имеющейся таблице
Преобразуем строки в столбцы в Excel при помощи Специальной вставки
самого верха? Касается (специальная вставка), транспонироватьВ открывшемся диалоговом окнеПеревел: Антон Андронов строки, а второе поймёте это, то (ячейки) в транспонированной=INDIRECT(ADDRESS(COLUMN(A1),ROW(A1))) ячейку, то получитеЗапишите функцию я покажу быстрый Excel – ячейке таблицы и данные, и в этого на выбор:
- знакомая многим пользователям. с данными, которая второго примера не получается?Paste specialАвтор: Антон Андронов число как номер всё остальное поймёте таблице, при этом=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1);СТРОКА(A1))) сообщение с предупреждением:TRANSP
- способ сделать это).Find and Replace
- в контекстном меню контекстном меню выберитекликните по ним правой Очень часто после состоит из спискаSerge 007
- Serge 007(Специальная вставка) выберитеИногда мы аккуратно и
- столбца. Другими словами, с лёгкостью она будет оставатьсяЕсли данные начинаются неYou cannot change partOSEЕсли Вы не ищите(Найти и заменить).
- выбратьPaste Special кнопкой мыши и создания сложной таблицы,
email адресов, где: Код =ИНДЕКС($A$1:$D$1;;СТРОКА(A1)): …надо будет изменить пункт старательно вводим данные функцияДумаю, Вы помните, что связанной с таблицей-источником в строке с of an array(ТРАНСП) и укажите лёгких путей, то Вы также можетеTable(Специальная вставка) >
- выберите становится очевидным, что в одной строкеVladimir28 диапазоны в формулахTranspose в столбцах ExcelADDRESS в формуле мы и будет автоматически
- номером(Нельзя изменять часть в скобках диапазон можете использовать формулы нажать сочетание(Таблица) >TransposeCopy эффективнее было бы таблицы то 1: Ребята помогите. и протянуть их.
- (Транспонировать) и нажмите и только к(АДРЕС) берёт номер использовали ещё 3 обновляться каждый раз,1 массива). данных, который нужно для преобразования столбцов
- Ctrl+HConvert to Range(Транспонировать).(Копировать) в контекстном развернуть её для емайл адрес, тоЕсть 4 столбцаСочетания клавиш нажимаются
ОК концу понимаем, что столбца, возвращённый функцией функции – когда Вы будетеи не вИ в завершение, какой транспонировать. В нашем в строки и, чтобы сразу попасть(Преобразовать в диапазон).(наконец, самый быстрый способ)
меню. более удобного анализа через запятую по и много строк, только при вводе. гораздо удобнее расположитьCOLUMNADDRESS вносить изменения в столбце бы хорошей и случае это будет наоборот. на вкладкуБолее серьёзное ограничение этого Нажмитенажмите
или построения диаграммы несколько адресов в нужно каждую ячейку или редактировании формул.Теперь Ваши столбцы преобразовались их горизонтально, т.е.
- (СТОЛБЕЦ), и превращает(АДРЕС), исходные данные.A простой ни была выглядеть так:Как можно понять изReplace метода состоит вCtrl+Alt+VCtrl+C по имеющимся данным. одной строке - скопировать последовательно слеваА самому попробовать? в строки! не в столбцах, его в номерCOLUMN
- Недостатки:, то потребуется немного функция=TRANSPOSE($A$1:$G$6) её названия, функция(Заменить). том, что он, выберите опцию.В этой статье Вы а надо сделать на право построчноBusine2009Точно таким же образом а в строках. строки, затем берёт
Как транспонировать таблицу, ссылающуюся на исходные данные
(СТОЛБЕЦ) иНа самом деле, более сложная формула:TRANSPOSE=ТРАНСП($A$1:$G$6)TRANSPOSEЗамените все символы равно создаёт копию исходныхTransposeнажмите кнопку найдёте несколько способов так, чтобы сторого в один столбец..как: Есть одна строка Вы можете преобразовать Да, ради этого номер строки иROW
- я вижу только=INDIRECT(ADDRESS(COLUMN(A1)-COLUMN($A$1)+ROW($A$1),ROW(A1)-ROW($A$1)+COLUMN($A$1)))(ТРАНСП), ей неЗамечание:(ТРАНСП) специально разработана
- « данных, и, если(Транспонировать) и кликните
- Co преобразовать строки в было: все емайл-адреса Это можно сделать?…вроде с данными на строки в столбцы. стоило потрудиться, чтобы превращает его в(СТРОКА). один – форматирование=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1)-СТОЛБЕЦ($A$1)+СТРОКА($A$1);СТРОКА(A1)-СТРОКА($A$1)+СТОЛБЕЦ($A$1)))
- хватает гибкости, иВсегда используйте абсолютные для транспонирования данных= они изменятся, ВамОКpy столбцы (или столбцы каждый в своей задача простая, но листе. Вот небольшой пример:
- понять, что с номер столбца, тоФункция исходных данных неГде поэтому она становится ссылки для работы в Excel. Если» на « придётся повторять процесс.(Копировать) на вкладке в строки) в ячейчке, в одном никак не догонюНужно переместить этиПосле копирования и специальной самого начала надо есть меняет местами
- ADDRESS сохраняется. Впрочем, ВыA1 не лучшим решением с функцией у Вас нетххх и транспонировать таблицуЗамечание:Home Excel. Эти решения
- столбце. как это сделать…если данные в столбец вставки с включенным было делать всё строки и столбцы.(АДРЕС) используется для можете легко восстановить– это левая во многих ситуациях.TRANSPOSE
большого опыта работы«. На самом деле снова. Никто неЕсли Вы транспонируете(Главная) в разделе работают во всехВручную умаялся уже использовать трапорирование, то на том же параметром наоборот! Не спешитеТеперь, когда Вы знаете, того, чтобы получить
Транспонируем данные в Excel при помощи формул
его, как это верхняя ячейка таблицы-источника.Этот метод очень похож(ТРАНСП). с формулами в Вы можете заменить
Преобразуем в Excel строки в столбцы при помощи функции TRANSPOSE (ТРАНСП)
захочет тратить своё ячейки, содержащие формулы,Clipboard версиях Excel (2013, переносить, а автоматизировать при протягивании за листе.Transpose удалять проделанную работу что делает каждая адрес ячейки из показано выше. Также обратите внимание на предыдущий. ЕгоНажмите Excel, и в
их на любые драгоценное время на убедитесь, что во(Буфер обмена). 2010, 2007 и
не умею правый угол, онТ.е. нужно перевести(Транспонировать) строки преобразовались и начинать всё функция, давайте сведём номеров строки иТеперь Вы понимаете, как на использование абсолютных главное преимущество перед
- Ctrl+Shift+Enter частности с функциями другие символы, которых то, чтобы преобразовывать всех этих ячейках
- Выделите первую ячейку диапазона, более ранних), охватываютПрилагаю файл с копирует через 3 текст из горизонтального в столбцы. заново. В Excel воедино логику всей столбца, заданных Вами. работает функция и относительных ссылок. функцией. массива, то, пожалуйста, нет в рассматриваемом
- одни и те использованы абсолютные ссылки в который Вы множество возможных сценариев,
- образцом — на строки, а мне положения в вертикальное.Это отличный способ расположить есть простой способ формулы: Запомните: сначала строка,INDIRECTСкопируйте формулу на весь
TRANSPOSE
Замечание:
внимательно следите за диапазоне. же строки и (со знаком $). собираетесь скопировать транспонированные объясняют наиболее типичные
- первом листе показано нужно каждую строкуОтвет: копируете строку
информацию на листе транспонировать всю таблицуфункции потом столбец. Например,(ДВССЫЛ), и, возможно, диапазон, в который(ТРАНСП) состоит вОбязательно нажмите тем, чтобы выполнятьЭто превратит Вашу таблицу
столбцы по нескольку Это необходимо, поскольку данные. ошибки и показывают как исходные данные
Преимущества функции TRANSPOSE (ТРАНСП)
транспорировать и скопировать с данными. Щ. Excel так, как целиком и сохранитьCOLUMNАДРЕС(8;1) захотите более подробно Вы собираетесь поместить том, что онCtrl+Shift+Enter
Недостатки функции TRANSPOSE (ТРАНСП)
- следующие шаги в в нечто слегка раз. Согласны? формулы также будутЗамечание:
- хорошие примеры использования выглядят, а на в столбец, причем правой кн. мыши Вам нужно.
- структуру.(СТОЛБЕЦ) ивозвратит разобраться, что на транспонированные данные, протянув оставляет возможность изменять, поскольку это формула точности как написано. пугающее (смотри рисунокДавайте посмотрим, как можно транспонированы, а ссылкиВажно выбрать ячейку, в Excel формул втором листе -
последовательно. по ячейке, кудаУрок подготовлен для ВасВ этой статье мыROW$A$8 самом деле делает за маркер автозаполнения данные в транспонированной массива. Если для
Преобразовываем строку в столбец или столбец в строку при помощи функции INDIRECT (ДВССЫЛ)
В этом примере мы ниже), но не преобразовать строки в на ячейки автоматически которая находится за для транспонирования. как необходимо сделать.Казанский надо вставить данные командой сайта office-guru.ru приводим примеры и(СТРОКА) возвращают номера
. эта формула и в правом нижнем таблице, при этом ввода формулы просто будем преобразовывать таблицу, тревожьтесь, осталось всего столбцы в Excel обновлены. пределами диапазона исходныхПреобразовываем строки в столбцыЖду вашей помощи: Протяните такую формулу в столбец -
Источник: http://www.howtogeek.com/howto/12366/convert-a-row-to-a-column-in-excel-the-easy-way/ снимки экрана из столбца и строкиФункция почему мы использовали углу выделенной ячейки сохраняя связь с нажать в которой перечислены 2 действия, и при помощи ужеКак Вы только что
- данных, чтобы скопированная методом Копировать > или хотя бы (данные в ст. Специальная вставка -Перевел: Антон Андронов версии Excel 2010 соответственно;COLUMN
комбинацию с функцией
(или диапазона ячеек).
исходной таблицей.Enter штаты США с Вы получите желаемый знакомой нам техники увидели, опция область и область Вставить подсказки — как
A : D):
ставим галочку "транспонировать"
Автор: Антон Андронов х64. В другихфункция(СТОЛБЕЦ) возвращает номерADDRESSВот и всё! ВВ этом примере мы
- , то она работать данными о населении: результат.КопироватьTranspose вставки не пересеклись.Транспонируем таблицу при помощи это можно решить?
Код =ИНДЕКС(A:D;ЦЕЛОЕ((СТРОКА()-1)/4+1);ОСТАТ(СТРОКА()-1;4)+1) — ОК.Andrew07 версиях, начиная сADDRESS столбца из заданной(АДРЕС). Если технические Вашей новой таблице
будем использовать небольшую не будет.Во-первых, необходимо определить точноеСкопируйте таблицу с символами>
- (Транспонировать) в Excel
- Например, если исходные
- копирования / вставкикитинVladimir28MrPorky: Добрый день! Excel 2003, этот(АДРЕС) меняет местами
ссылки на ячейку. детали Вас не все столбцы преобразованы таблицу, чтобы ВыГотово! Наши данные транспонированы, количество строк и «Вставить позволяет преобразовать строки данные состоят из
ссылок на исходные: 1)выделяте столбец,где вся: попробовал, но он: Суть проблемы. НеобходимоПожалуйста помогите с приём работает аналогично, строку и столбец; Например, интересуют, следующий раздел в строки. Однако, могли сосредоточить свое 7 столбцов превратились
столбцов в таблице.ххх, так, чтобы транспонированные в столбцы (или 4 столбцов и данные эта гадость копирует по диагонали данные из строк
сортировкой данных. но могут бытьфункцияСТОЛБЕЦ(A3) Вы можете пропустить. транспонированные ячейки выглядят внимание на процессе в 6 столбцов, В нашем примере» и выполните команду данные ссылались на столбцы в строки) 10 строк, тоТранспонируем данные в Excelнаписана-Данные-текст по столбцам-с
Функции INDIRECT (ДВССЫЛ) и ADDRESS (АДРЕС) – синтаксис и логика
и почему то перенести в столбецМне нужно записать отличия в интерфейсе,INDIRECTвозвратит значениеФункция очень плоско и транспонирования, а не что и требовалось это 7 столбцовPaste Special исходные данные. Главное буквально за несколько
транспонированная таблица будет
при помощи формул
раделителями-далее-галка на запятая-далее-готово. надо постоянно править в виде ссылки. данные из строк структуре меню и(ДВССЫЛ) выводит перевернутые1INDIRECT скучно по сравнению на данных в получить. и 6 строк,(Специальная вставка) > преимущество такого подхода секунд. Уверен, что состоять из 10Предположим, Вы создали таблицу
2)в А1 пишите формулу…для того чтобы Ссылка необходима для в столбцы. данные диалоговых окнах. данные в другую, поскольку столбец(ДВССЫЛ) служит для с исходными данными. таблице. Мы будем
Главное преимущество функции включая заголовки. ЗапомнимTranspose в том, что этот способ очень столбцов и 4 на листе Excel, следующую формулу онмог расчитывать не того что бы строк повторяются.Итак, у нас имеется ячейку на листе
A создания непрямой ссылкиНо не расстраивайтесь, это использовать немного замысловатуюTRANSPOSE эти цифры и(Транспонировать), чтобы преобразовать при изменении данных полезен, когда требуется строк. похожую на ту,200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС($B$2:$AD$4;ОСТАТ(СТРОКА(A1)-1;3)+1;ЦЕЛОЕ((СТРОКА(A1)-1)/3)+1) только по 4 при изменении данныхУчитывая, что общее вот такая таблица Excel.– это первый
на ячейку. Например, вовсе не проблема. комбинацию функций(ТРАНСП): преобразованная таблица приступим к преобразованию столбцы в строки
в исходной таблице,
транспонировать таблицу один
Вставьте скопированные данные при что показана ви тянете ее ячейки а сразу в строке, в количество более 1000 Excel:Совсем не страшно, правда? столбец. Как не если Вы хотите Вот как можноINDIRECT сохраняет связь с строк в столбцы. (или строки в транспонированная таблица обновится раз. Пользуясь этим помощи команды верхней части рисунка, вниз,пока не появится несколько 10 столбце данные тоже строк, вручную обработатьДанные расположены в двухНе составит труда написать трудно догадаться, функция поместить значение ячейки
легко восстановить исходное(ДВССЫЛ) и источником данных, т.е.Посчитайте ячейки, которые Вы столбцы).
- и отразит эти методом, Вы сохраняетеPaste Special расположенного ниже. Названия #ССЫЛ.Казанский изменялись.
- невозможно. столбцах, но мы скрипт, который будетROW
- B1 форматирование:ADDRESS какие бы изменения хотите транспонировать. ВСнова откройте диалоговое окно
изменения.
Транспонируем данные при помощи макроса VBA
исходные данные, и(Специальная вставка) > стран распределены по3)копируете этот столбец-спецвставка-значения: Да ну?! О_оЗаранее благодарю!Пример привел в хотим сделать таблицу транспонировать строки в(СТРОКА) работает точнов ячейкуСкопируйте исходную таблицу.(АДРЕС). в исходных данных нашем случае этоFind and ReplaceСкопируйте строки, которые Вы это ещё одинTranspose столбцам, но список4)сортируете столбец по
У меня работает:Busine2012
прикрепленном файле. также
горизонтальной и расположить
столбцы, при условии,
office-guru.ru
Как преобразовать столбец в строку в Excel – простой способ
так же, толькоA8Выделите транспонированную таблицу.Предположим, у Вас есть Вы ни вносили, 7 столбцов и(Найти и заменить), хотите преобразовать в аргумент в его(Транспонировать). Вы можете стран может оказаться 0,удаляете эти строкиVladimir28: там отобразил желаемый те же данные, что Вы достаточно для строк., то записываете вКликните по выделенной области данные в 4 транспонированная таблица также
6 строк. чтобы заменить все столбцы (или столбцы, пользу. открыть диалоговое окно очень длинным, поэтомуусё.иначе только макрос(ИМХО): ООО большое спасибо…яMrPorky результат. но в двух хорошо владеете VBA.
Преобразовываем столбец в строку
А теперь позвольте напомнить ячейку правой кнопкой мыши
столбцах ( будет изменяться.Выберите пустой диапазон ячеек. символы « которые хотите преобразоватьОднако, вышеописанный метод имеетPaste Special нам будет гораздоNic70y протупил…неправильно кое что, выложите книгу иSerge 007 строках. Выделите ячейки, Если нет, то всю формулу, которуюA8
и в разделеAФорматирование начальной таблицы не Так как функцияххх в строки). два существенных недостатка,(Специальная вставка) тремя
удобнее преобразовать столбцы: + ответы там: сделал… поясните, что надо: См. вложение. которые необходимо преобразовать. можете найти множество мы использовали для
следующую формулу:Paste Options
– сохранится в преобразованнойTRANSPOSE» на «
Выберите пустую ячейку на которые не позволяют способами: в строки, чтобы http://www.planetaexcel.ru/forum….D=56264Shakin313
сделать.Первая строка - Затем щелкните правой готовых макросов в
преобразования строк в=INDIRECT(«B1»)
(Параметры вставки) выберите
D
таблице, как это
office-guru.ru
Перенос данных строк в столбцы
(ТРАНСП) меняет вертикальное=
этом же или считать его идеальным
На вкладке таблица уместилась накитин: Казанский! ты просто
Примечание: оставьте в это одна формула, кнопкой мыши и интернете. Но если
столбцы на листе=ДВССЫЛ(«B1»)Formatting) и в 5
видно на рисунке на горизонтальное измерение
«, т.е. восстановить ссылки другом листе. решением для транспонирования
Home экране.
: Николай вот это гений! зарегался на книге столько данных, остальное — другой. выберите пункт Вы работаете с Excel:Но реальная сила функции
(Форматирование). строках (
выше. диапазона, значит нужно на исходные ячейки.
Откройте диалоговое окно данных в Excel.(Главная) в разделеВыделите строки и столбцы,
формула иам(http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=56264)!!!!!!! форуме только чтобы чтобы можно было
Andrew07
CyberForum.ru
Перемещение данных из строки в столбец
Copy большими таблицами, помните,=INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))INDIRECT
Подводя итог, метод с1Если какие-то ячейки начальной выбрать такое количество
Готово!Paste SpecialДанный инструмент не доступен
Clipboard которые требуется поменятьДЛСТРОКИ не смотрел? поблагодарить, понять вашу задачу.: Спасибо.(Копировать) или просто что метод=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1);СТРОКА(A1)))
CyberForum.ru
Необходимо перенести значение строк в столбец
(ДВССЫЛ) в том, функцией– таблицы были пусты, строк и столбцов,Быстрое, спокойное и элегантное(Специальная вставка), как при копировании /(Буфер обмена), нажмите местами. Если Выcoroban1
СПАСИБО, два дня
MrPorkyПрошу прощения. Подскажите, нажмитеTransposeКак видите, в функции что она может
INDIRECT5 то в транспонированных сколько столбцов и
решение, не так было показано в
вставке полнофункциональной таблицы маленькую чёрную стрелку хотите развернуть всю
: Парни, спасибо огромное! ковырялся, но такого: Вот пример. добавив остальные строкиCtrl+Cв VBA ограниченADDRESS превратить любую текстовую
(ДВССЫЛ) кажется более):
CyberForum.ru
Последовательное копирование в Excel данных из строк в один столбец
ячейках там будут строк соответственно имеет
ли? Единственный недостаток предыдущем примере, и Excel в отличие под кнопкой таблицу целиком, т.е.Очень помогли! элегантно-математического решения дажеSerge 007 в лист «исходные. 65536 элементами. Если(АДРЕС) мы задаём строку в ссылку, сложным решением задачиВведите формулу, показанную ниже, нули. Ваша исходная таблица. этого подхода состоит нажмите
от простого диапазона.Paste все ячейки сNic70y и не рассчитывал
: Код =ТРАНСП(A1:D1) Код данные», нажимаю сочетаниеТеперь щелкните правой кнопкой Ваш массив выйдет сначала столбец, а в том числе по преобразованию строк в верхнюю левуюВы не сможете редактировать В нашем примере
в том, чтоPaste Link В этом случае
(Вставить) и выберите данными на листе,: Игорь, та была найти.
=ИНДЕКС($A$1:$D$1;;СТРОКА()) клавиш, но ничего мыши в ячейке, за рамки этого затем строку, и
строку, которую Вы в столбцы, чем ячейку конечного диапазона ячейки в преобразованной мы выбираем 6
CyberForum.ru
Перенос данных из одной строки в ячейки столбца — как сделат (Форматирование/Formattings)
в процессе выполнения(Вставить связь) в
Вам придётся скопировать команду нажмите неправильная, заменилcoroban1MrPorky не происходит. Я где требуется поместить ограничения, то все в этом кроется создаёте при помощи с функцией (допустим, это будет таблице, поскольку функция столбцов и 7 форматирование исходной таблицы нижнем левом углу таблицу без заголовков,TransposeCtrl+Home
китин: Приветствую!: Спасибо большое! Еще
наверно, что-то не преобразованные данные и лишние данные будут весь фокус! Помните, других функций иTRANSPOSE ячейка
TRANSPOSE строк. будет потеряно, и диалогового окна.
либо преобразовать её(Транспонировать)., а затем: Коля все равноУважаемые спецы, подскажите
такой вопрос, как так делаю. выберите из контекстного
молча потеряны. что функция значений других ячеек.
(ТРАНСП).
A7(ТРАНСП) чрезвычайно зависима
Нажмите
Вам придётся восстанавливатьРезультат будет примерно таким: в диапазон, т.е.
Кликните правой кнопкой мышиCtrl+Shift+End ооооочень впечатляет! пожалуйста, сам ответа
сделать что быrenkonester
меню пункт
Урок подготовлен для ВасADDRESS Именно это мы
Преимущества:), и нажмите от источника данных.
excelworld.ru
F2
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
Для выполнения этого действия необходимо выделить и скопировать нужную область (CTRL+C).
После кликаем на нужную ячейку и правой клавишей мыши вызываем диалоговое меню, где нажимаем на транспонирование.
Все готово.
Из столбца в строку в Эксель
Проводим аналогичную операцию, скопировав нужный диапазон данных.
В нужной ячейке при помощи правой клавиши мыши выводим меню и кликаем на нужную кнопку.
Готово.
Изменение ориентации (транспонирование) таблиц
В случае с целыми таблицами можно использовать ту ж процедуру копирования.
Использования транспонирования данных.
В итоге получаем перевернутые данные.
Решение одним словом: транспонирование (transpose). Дальше ищущий может гуглить и найти данную статью.
Есть обычная таблица, как можно перенести все данные, чтобы столбцы стали строками, а строки – столбцами? Мне известно три способа решить задачу, каждый из которых по своему удобен.
- Специальная вставка
Выделяем один столбец или строку, копируем. В новом месте или листе, где будет располагаться транспонированная таблица, кликаем правой кнопкой «Специальная вставка».
Ставим галочку транспонировать. При использовании такого транспонирования «слетают» все формулы, все связи между таблицами. Поэтому, скорее всего нам также понадобится перенести только значения (или значения и форматы) чисел.
Из спорных преимуществ: сохранится все оформление ячеек, что требуется не всегда. Но главный недостаток способа – довольно трудоемкий процесс. Если строк и столбцов больше 100? Сто раз переносить данные построчно?
- Используем формулу
Гораздо более изящное решение.
Функция АДРЕС(номер_строки; номер_столбца) отдает ссылку (адрес) ячейки по 2 числам, где первое — номер строки, второе — номер столбца. Т.е. запись =АДРЕС(1;1) вернет нам ссылку на ячейку А1.
С помощью функций СТРОКА(ячейка) и СТОЛБЕЦ(ячейка) меняем порядок выдачи у функции АДРЕС — не (строка, столбец), а (столбец, строка).
В текущем виде формула =АДРЕС(СТОЛБЕЦ(A1);СТРОКА(A1)) вернет текст $A$1, надо преобразовать результат в ссылку, обернув все выражение в функцию ДВССЫЛ(ссылка_в_виде_текста).
Решение:
=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1);СТРОКА(A1)))
В английском Excel:
=INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))
Применив формулу для ячейки А9 (в примере на картинке), растягиваем ее на остальные. Результат:
И сразу можно увидеть 2 небольших минуса этого способа:
- Пустые ячейки заполняются нулями, правим вручную;
- Формат ячеек – числовой, так Даты тоже нужно будет преобразовывать вручную.
Но все-таки на больших таблицах эта формула однозначно быстрее, чем специальная вставка.
- Сводная таблица
Даже формула – не совсем то, что надо. Мы преобразовываем данные туда-сюда, хотя нам всего-то требуется поработать с самой таблицей.
Самое рациональное решение – сводная таблица. Нам понадобиться поправить исходные данные, у каждого столбца должен быть заголовок!
Выделяем таблицу, выбираем в меню Вставка – Сводная таблица. Указываем, куда вставить новую таблицу (можно на новый лист или куда-нибудь на текущий), график – да/нет. Ок. В настройках меняем местами блоки названия строк и названия столбцов. Результат:
Транспонирование данных в Excel – это задача, знакомая многим пользователям. Очень часто после создания сложной таблицы, становится очевидным, что эффективнее было бы развернуть её для более удобного анализа или построения диаграммы по имеющимся данным.
В этой статье Вы найдёте несколько способов преобразовать строки в столбцы (или столбцы в строки) в Excel. Эти решения работают во всех версиях Excel (2013, 2010, 2007 и более ранних), охватывают множество возможных сценариев, объясняют наиболее типичные ошибки и показывают хорошие примеры использования в Excel формул для транспонирования.
- Преобразовываем строки в столбцы методом Копировать > Вставить
- Транспонируем таблицу при помощи копирования / вставки ссылок на исходные данные
- Транспонируем данные в Excel при помощи формул
Содержание
- Преобразуем строки в столбцы в Excel при помощи Специальной вставки
- Как транспонировать таблицу, ссылающуюся на исходные данные
- Транспонируем данные в Excel при помощи формул
- Преобразуем в Excel строки в столбцы при помощи функции TRANSPOSE (ТРАНСП)
- Преимущества функции TRANSPOSE (ТРАНСП)
- Недостатки функции TRANSPOSE (ТРАНСП)
- Преобразовываем строку в столбец или столбец в строку при помощи функции INDIRECT (ДВССЫЛ)
- Функции INDIRECT (ДВССЫЛ) и ADDRESS (АДРЕС) – синтаксис и логика
- Транспонируем данные при помощи макроса VBA
Преобразуем строки в столбцы в Excel при помощи Специальной вставки
Предположим, Вы создали таблицу на листе Excel, похожую на ту, что показана в верхней части рисунка, расположенного ниже. Названия стран распределены по столбцам, но список стран может оказаться очень длинным, поэтому нам будет гораздо удобнее преобразовать столбцы в строки, чтобы таблица уместилась на экране.
- Выделите строки и столбцы, которые требуется поменять местами. Если Вы хотите развернуть всю таблицу целиком, т.е. все ячейки с данными на листе, нажмите Ctrl+Home, а затем Ctrl+Shift+End.
- Скопируйте выделенные ячейки. Для этого на выбор:
- кликните по ним правой кнопкой мыши и выберите Copy (Копировать) в контекстном меню.
- нажмите Ctrl+C.
- нажмите кнопку Copy (Копировать) на вкладке Home (Главная) в разделе Clipboard (Буфер обмена).
- Выделите первую ячейку диапазона, в который Вы собираетесь скопировать транспонированные данные.
Замечание: Важно выбрать ячейку, которая находится за пределами диапазона исходных данных, чтобы скопированная область и область вставки не пересеклись. Например, если исходные данные состоят из 4 столбцов и 10 строк, то транспонированная таблица будет состоять из 10 столбцов и 4 строк.
- Вставьте скопированные данные при помощи команды Paste Special (Специальная вставка) > Transpose (Транспонировать). Вы можете открыть диалоговое окно Paste Special (Специальная вставка) тремя способами:
- На вкладке Home (Главная) в разделе Clipboard (Буфер обмена), нажмите маленькую чёрную стрелку под кнопкой Paste (Вставить) и выберите команду Transpose (Транспонировать).
- Кликните правой кнопкой мыши по ячейке, в которую нужно вставить данные, и в контекстном меню выберите Paste Special (Специальная вставка) > Transpose (Транспонировать).
- (наконец, самый быстрый способ) Нажмите Ctrl+Alt+V, выберите опцию Transpose (Транспонировать) и кликните ОК.
Замечание: Если Вы транспонируете ячейки, содержащие формулы, убедитесь, что во всех этих ячейках использованы абсолютные ссылки (со знаком $). Это необходимо, поскольку формулы также будут транспонированы, а ссылки на ячейки автоматически обновлены.
Как Вы только что увидели, опция Transpose (Транспонировать) в Excel позволяет преобразовать строки в столбцы (или столбцы в строки) буквально за несколько секунд. Уверен, что этот способ очень полезен, когда требуется транспонировать таблицу один раз. Пользуясь этим методом, Вы сохраняете исходные данные, и это ещё один аргумент в его пользу.
Однако, вышеописанный метод имеет два существенных недостатка, которые не позволяют считать его идеальным решением для транспонирования данных в Excel.
- Данный инструмент не доступен при копировании / вставке полнофункциональной таблицы Excel в отличие от простого диапазона. В этом случае Вам придётся скопировать таблицу без заголовков, либо преобразовать её в диапазон, т.е. кликнуть правой кнопкой мыши по любой ячейке таблицы и в контекстном меню выбрать Table (Таблица) > Convert to Range (Преобразовать в диапазон).
- Более серьёзное ограничение этого метода состоит в том, что он создаёт копию исходных данных, и, если они изменятся, Вам придётся повторять процесс и транспонировать таблицу снова. Никто не захочет тратить своё драгоценное время на то, чтобы преобразовывать одни и те же строки и столбцы по нескольку раз. Согласны?
Как транспонировать таблицу, ссылающуюся на исходные данные
Давайте посмотрим, как можно преобразовать строки в столбцы в Excel при помощи уже знакомой нам техники Копировать > Вставить, так, чтобы транспонированные данные ссылались на исходные данные. Главное преимущество такого подхода в том, что при изменении данных в исходной таблице, транспонированная таблица обновится и отразит эти изменения.
- Скопируйте строки, которые Вы хотите преобразовать в столбцы (или столбцы, которые хотите преобразовать в строки).
- Выберите пустую ячейку на этом же или другом листе.
- Откройте диалоговое окно Paste Special (Специальная вставка), как было показано в предыдущем примере, и нажмите Paste Link (Вставить связь) в нижнем левом углу диалогового окна.Результат будет примерно таким:
- Выделите новые данные и откройте диалоговое окно Excel – Find and Replace (Найти и заменить). Вы также можете нажать сочетание Ctrl+H, чтобы сразу попасть на вкладку Replace (Заменить).
- Замените все символы равно «=» на «ххх«. На самом деле Вы можете заменить их на любые другие символы, которых нет в рассматриваемом диапазоне.Это превратит Вашу таблицу в нечто слегка пугающее (смотри рисунок ниже), но не тревожьтесь, осталось всего 2 действия, и Вы получите желаемый результат.
- Скопируйте таблицу с символами «ххх» и выполните команду Paste Special (Специальная вставка) > Transpose (Транспонировать), чтобы преобразовать столбцы в строки (или строки в столбцы).
- Снова откройте диалоговое окно Find and Replace (Найти и заменить), чтобы заменить все символы «ххх» на «=«, т.е. восстановить ссылки на исходные ячейки. Готово!
Быстрое, спокойное и элегантное решение, не так ли? Единственный недостаток этого подхода состоит в том, что в процессе выполнения форматирование исходной таблицы будет потеряно, и Вам придётся восстанавливать его вручную (далее в этом уроке я покажу быстрый способ сделать это).
Транспонируем данные в Excel при помощи формул
Если Вы не ищите лёгких путей, то можете использовать формулы для преобразования столбцов в строки и наоборот.
Преобразуем в Excel строки в столбцы при помощи функции TRANSPOSE (ТРАНСП)
Как можно понять из её названия, функция TRANSPOSE (ТРАНСП) специально разработана для транспонирования данных в Excel. Если у Вас нет большого опыта работы с формулами в Excel, и в частности с функциями массива, то, пожалуйста, внимательно следите за тем, чтобы выполнять следующие шаги в точности как написано.
В этом примере мы будем преобразовывать таблицу, в которой перечислены штаты США с данными о населении:
Во-первых, необходимо определить точное количество строк и столбцов в таблице. В нашем примере это 7 столбцов и 6 строк, включая заголовки. Запомним эти цифры и приступим к преобразованию строк в столбцы.
- Посчитайте ячейки, которые Вы хотите транспонировать. В нашем случае это 7 столбцов и 6 строк.
- Выберите пустой диапазон ячеек. Так как функция TRANSPOSE (ТРАНСП) меняет вертикальное на горизонтальное измерение диапазона, значит нужно выбрать такое количество строк и столбцов, сколько столбцов и строк соответственно имеет Ваша исходная таблица. В нашем примере мы выбираем 6 столбцов и 7 строк.
- Нажмите F2, чтобы перейти в режим редактирования.
- Запишите функцию TRANSPOSE (ТРАНСП) и укажите в скобках диапазон данных, который нужно транспонировать. В нашем случае это будет выглядеть так:
=TRANSPOSE($A$1:$G$6)
=ТРАНСП($A$1:$G$6)
Замечание: Всегда используйте абсолютные ссылки для работы с функцией TRANSPOSE (ТРАНСП).
- Нажмите Ctrl+Shift+Enter.
Замечание: Обязательно нажмите Ctrl+Shift+Enter, поскольку это формула массива. Если для ввода формулы просто нажать Enter, то она работать не будет.
Готово! Наши данные транспонированы, 7 столбцов превратились в 6 столбцов, что и требовалось получить.
Преимущества функции TRANSPOSE (ТРАНСП)
Главное преимущество функции TRANSPOSE (ТРАНСП): преобразованная таблица сохраняет связь с источником данных, т.е. какие бы изменения в исходных данных Вы ни вносили, транспонированная таблица также будет изменяться.
Недостатки функции TRANSPOSE (ТРАНСП)
- Форматирование начальной таблицы не сохранится в преобразованной таблице, как это видно на рисунке выше.
- Если какие-то ячейки начальной таблицы были пусты, то в транспонированных ячейках там будут нули.
- Вы не сможете редактировать ячейки в преобразованной таблице, поскольку функция TRANSPOSE (ТРАНСП) чрезвычайно зависима от источника данных. Если Вы сделаете попытку изменить какую-либо ячейку, то получите сообщение с предупреждением: You cannot change part of an array (Нельзя изменять часть массива).
И в завершение, какой бы хорошей и простой ни была функция TRANSPOSE (ТРАНСП), ей не хватает гибкости, и поэтому она становится не лучшим решением во многих ситуациях.
Преобразовываем строку в столбец или столбец в строку при помощи функции INDIRECT (ДВССЫЛ)
Этот метод очень похож на предыдущий. Его главное преимущество перед функцией TRANSPOSE (ТРАНСП) состоит в том, что он оставляет возможность изменять данные в транспонированной таблице, при этом сохраняя связь с исходной таблицей.
В этом примере мы будем использовать небольшую таблицу, чтобы Вы могли сосредоточить свое внимание на процессе транспонирования, а не на данных в таблице. Мы будем использовать немного замысловатую комбинацию функций INDIRECT (ДВССЫЛ) и ADDRESS (АДРЕС).
Предположим, у Вас есть данные в 4 столбцах (A – D) и в 5 строках (1 – 5):
- Введите формулу, показанную ниже, в верхнюю левую ячейку конечного диапазона (допустим, это будет ячейка A7), и нажмите Enter:
=INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))
=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1);СТРОКА(A1)))
Если данные начинаются не в строке с номером 1 и не в столбце A, то потребуется немного более сложная формула:
=INDIRECT(ADDRESS(COLUMN(A1)-COLUMN($A$1)+ROW($A$1),ROW(A1)-ROW($A$1)+COLUMN($A$1)))
=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1)-СТОЛБЕЦ($A$1)+СТРОКА($A$1);СТРОКА(A1)-СТРОКА($A$1)+СТОЛБЕЦ($A$1)))
Где A1 – это левая верхняя ячейка таблицы-источника. Также обратите внимание на использование абсолютных и относительных ссылок.
- Скопируйте формулу на весь диапазон, в который Вы собираетесь поместить транспонированные данные, протянув за маркер автозаполнения в правом нижнем углу выделенной ячейки (или диапазона ячеек).
Вот и всё! В Вашей новой таблице все столбцы преобразованы в строки. Однако, транспонированные ячейки выглядят очень плоско и скучно по сравнению с исходными данными.
Но не расстраивайтесь, это вовсе не проблема. Вот как можно легко восстановить исходное форматирование:
- Скопируйте исходную таблицу.
- Выделите транспонированную таблицу.
- Кликните по выделенной области правой кнопкой мыши и в разделе Paste Options (Параметры вставки) выберите Formatting (Форматирование).
Подводя итог, метод с функцией INDIRECT (ДВССЫЛ) кажется более сложным решением задачи по преобразованию строк в столбцы, чем с функцией TRANSPOSE (ТРАНСП).
Преимущества: Вы можете спокойно редактировать любую ячейку (ячейки) в транспонированной таблице, при этом она будет оставаться связанной с таблицей-источником и будет автоматически обновляться каждый раз, когда Вы будете вносить изменения в исходные данные.
Недостатки: На самом деле, я вижу только один – форматирование исходных данных не сохраняется. Впрочем, Вы можете легко восстановить его, как это показано выше.
Теперь Вы понимаете, как работает функция INDIRECT (ДВССЫЛ), и, возможно, захотите более подробно разобраться, что на самом деле делает эта формула и почему мы использовали комбинацию с функцией ADDRESS (АДРЕС). Если технические детали Вас не интересуют, следующий раздел Вы можете пропустить.
Функции INDIRECT (ДВССЫЛ) и ADDRESS (АДРЕС) – синтаксис и логика
Функция INDIRECT (ДВССЫЛ) служит для создания непрямой ссылки на ячейку. Например, если Вы хотите поместить значение ячейки B1 в ячейку A8, то записываете в ячейку A8 следующую формулу:
=INDIRECT("B1")
=ДВССЫЛ("B1")
Но реальная сила функции INDIRECT (ДВССЫЛ) в том, что она может превратить любую текстовую строку в ссылку, в том числе строку, которую Вы создаёте при помощи других функций и значений других ячеек. Именно это мы и собираемся сейчас сделать. Если Вы поймёте это, то всё остальное поймёте с лёгкостью 🙂
Думаю, Вы помните, что в формуле мы использовали ещё 3 функции – ADDRESS (АДРЕС), COLUMN (СТОЛБЕЦ) и ROW (СТРОКА).
Функция ADDRESS (АДРЕС) используется для того, чтобы получить адрес ячейки из номеров строки и столбца, заданных Вами. Запомните: сначала строка, потом столбец. Например, АДРЕС(8;1) возвратит $A$8.
Функция COLUMN (СТОЛБЕЦ) возвращает номер столбца из заданной ссылки на ячейку. Например, СТОЛБЕЦ(A3) возвратит значение 1, поскольку столбец A – это первый столбец. Как не трудно догадаться, функция ROW (СТРОКА) работает точно так же, только для строк.
А теперь позвольте напомнить всю формулу, которую мы использовали для преобразования строк в столбцы на листе Excel:
=INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))
=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1);СТРОКА(A1)))
Как видите, в функции ADDRESS (АДРЕС) мы задаём сначала столбец, а затем строку, и в этом кроется весь фокус! Помните, что функция ADDRESS (АДРЕС) понимает первое число как номер строки, а второе число как номер столбца. Другими словами, функция ADDRESS (АДРЕС) берёт номер столбца, возвращённый функцией COLUMN (СТОЛБЕЦ), и превращает его в номер строки, затем берёт номер строки и превращает его в номер столбца, то есть меняет местами строки и столбцы.
Теперь, когда Вы знаете, что делает каждая функция, давайте сведём воедино логику всей формулы:
- функции COLUMN (СТОЛБЕЦ) и ROW (СТРОКА) возвращают номера столбца и строки соответственно;
- функция ADDRESS (АДРЕС) меняет местами строку и столбец;
- функция INDIRECT (ДВССЫЛ) выводит перевернутые данные в другую ячейку на листе Excel.
Совсем не страшно, правда?
Транспонируем данные при помощи макроса VBA
Не составит труда написать скрипт, который будет транспонировать строки в столбцы, при условии, что Вы достаточно хорошо владеете VBA. Если нет, то можете найти множество готовых макросов в интернете. Но если Вы работаете с большими таблицами, помните, что метод Transpose в VBA ограничен 65536 элементами. Если Ваш массив выйдет за рамки этого ограничения, то все лишние данные будут молча потеряны.
Оцените качество статьи. Нам важно ваше мнение: