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

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

Если у вас есть лист с данными из столбцов, которые нужно повернуть, чтобы изменить порядок строк, используйте функцию транспонировать . С его помощью можно быстро переключать данные из столбцов в строки и наоборот.

Например, если данные выглядят следующим образом: области продаж в заголовках столбцов и кварталов в левой части экрана, выполните указанные ниже действия.

Функция транспонировать переупорядочивает таблицу таким образом, что кварталы отображаются в заголовках столбцов, а области продаж — в левой части, как показано ниже.

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

Вот как это сделать:

Выделите диапазон данных, который требуется переупорядочить, включая заголовки строк или столбцов, а затем нажмите клавиши CTRL+C.

Примечание: Убедитесь, что вы хотите скопировать данные для этого, так как при использовании команды Вырезать или CTRL + X не работает.

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

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

После успешного поворота данных вы можете удалить исходную таблицу, и данные в новой таблице останутся без изменений.

Советы по транспонированию данных

Если данные содержат формулы, Excel автоматически обновит их в соответствии с новым расположением. Проверка использования абсолютных ссылок в формулах (в противном случае можно переключаться между относительными, абсолютными и смешанными ссылками перед поворотом данных.

Если вы хотите быстро поворачивать данные, чтобы просмотреть их в разных угловых обозначениях, попробуйте создать сводную таблицу для быстрой группировки данных путем перетаскивания полей из области строки в область столбцы (или наоборот) в списке полей сводной таблицы.

Вы можете вставлять данные в книгу как данные. Транспонировать перенакладывает содержимое скопированных ячеек при вставке. Данные строк будут вставлены в столбцы, и наоборот.

Вот как можно транспонировать содержимое ячейки:

Копирование диапазона ячеек.

Выделите пустые ячейки, в которые нужно вставить данные.

На вкладке Главная щелкните значок Вставить и выберите команду Вставить транспонировать.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Источник:
http://support.microsoft.com/ru-ru/office/%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BF%D0%BE%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B8%D0%B7-%D1%81%D1%82%D1%80%D0%BE%D0%BA-%D0%B2-%D1%81%D1%82%D0%BE%D0%BB%D0%B1%D1%86%D1%8B-%D0%B8-%D0%BD%D0%B0%D0%BE%D0%B1%D0%BE%D1%80%D0%BE%D1%82-3419f2e3-beab-4318-aae5-d0f862209744

Как сделать столбцы строками в Excel

Если вы много работаете с таблицами Excel, то у вас наверняка возникала необходимость переместить данные из столбцов в строки или, другими словами, сделать столбцы строками и наоборот. Многие пользователи сразу отбрасывают такую возможность, поскольку считают, что для такого преобразования данных нужно будет потратить много часов ручного труда.

К счастью, это не так и данная задача решается намного проще. Сейчас мы расскажем, как сделать столбцы строками в Excel буквально за пару кликов мышкой. Материал будет актуален для всех современных версий Excel, включая Excel 2007, 2010, 2013 и 2016.

Способ № 1. Используем копирование и вставку с транспонированием.

Самый простой способ сделать столбцы строками и наоборот – это воспользоваться копированием и вставкой с транспонированием. Данный способ не требует использования формул или других сложных манипуляций, но его нужно выполнять вручную. Поэтому его можно рекомендовать в тех случаях, когда преобразование таблицы нужно выполнить один раз.

Для того чтобы воспользоваться данным способом вам нужно выделить область листа Excel, строки которой нужно преобразовать в столбцы, и скопировать данную область с помощью комбинации клавиш Ctrl-C или с помощью команды «Копировать» в контекстном меню (как на скриншоте внизу).

После этого нужно выбрать ячейку для вставки новой преобразованной области и кликнуть по ней правой кнопкой мышки. После чего в открывшемся окне нужно выбрать вставку с транспонированием (на скриншоте внизу нужная кнопка выделена стрелкой).

В результате в выбранном вами месте появится область с вашими данными. При этом ее строки будут преобразованы в столбцы и наоборот (как на скриншоте внизу). Нужно отметить, что вставить данные в том же месте не получится, но вы можете обойти это ограничение создав новый лист Excel.

Также нужно отметить, что данный способ не будет работать если ваша область с данными оформлена как таблица Excel (кнопка «Таблица» на вкладке «Вставка»).

Для того чтобы транспонировать таблицу Excel ее нужно сначала преобразовать в диапазон. Делается это при помощи кнопки «Преобразовать в диапазон» на вкладке «Робота с таблицами – Конструктор».

Кроме этого, таблицу Excel можно транспонировать при помощи функции ТРАНСП, о которой мы расскажем ниже.

Способ № 1. Используем формулу «ТРАНСП».

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

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

Для начала вам нужно выделить область таблицы, в которую будут помещаться транспонированные данные. Область должна быть такой же, как и область с исходными данными, но количество столбцов и строк нужно поменять местами. Например, если ваша исходная область имела 30 столбцов и 1 строку, то область для транспонированных данных должна иметь 30 строк и 1 столбец.

После выделения области нужного размера можно приступать к вводу формулы, которая сделает столбцы строками и наоборот. Для этого нажимаем Enter, вводим знак «=», вводим название формулы «ТРАНСП» и открываем круглую скобку.

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

После ввода адреса массива с данными закрываем круглую скобку и нажимаем комбинацию Ctrl-Shift-Enter. Нажимать нужно именно Ctrl-Shift-Enter, а не просто Enter, так как эта формула работает с массивом.

После нажатия на Ctrl-Shift-Enter вы получите новую область таблицы, в которой столбцы преобразованы в строки и наоборот.

При этом, теперь все ячейки новой области связаны с исходными ячейками с помощью формулы «ТРАНСП». Это означает, что при изменении данных в исходной области, данные будут изменяться и в новой преобразованной области.

Источник:
http://comp-security.net/%D0%BA%D0%B0%D0%BA-%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C-%D1%81%D1%82%D0%BE%D0%BB%D0%B1%D1%86%D1%8B-%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0%D0%BC%D0%B8-%D0%B2-excel/

Превращение строк в столбцы и обратно

Постановка задачи

Хотим, упрощенно говоря, повернуть таблицу на бок, т.е. то, что располагалось в строке — пустить по столбцу и наоборот:

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

Выделяем и копируем исходную таблицу (правой кнопкой мыши — Копировать). Затем щелкаем правой по пустой ячейке, куда хотим поместить повернутую таблицу и выбираем из контекстного меню команду Специальная вставка (Paste Special) . В открывшемся диалоговом окне ставим галочку Транспонировать (Transpose) и жмем ОК.

Читайте также  Как в Excel пронумеровать строки по порядку

Минусы : не всегда корректно копируются ячейки с формулами, нет связи между таблицами (изменение данных в первой таблице не повлияет на вторую).

Плюсы : в транспонированной таблице сохраняется исходное форматирование ячеек.

Способ 2. Функция ТРАНСП

Выделяем нужное количество пустых ячеек (т.е. если, например, исходная таблица была из 3 строк и 5 столбцов, то выделить обязательно нужно диапазон из 5 строк и 3 столбцов) и вводим в первую ячейку функцию ТРАНСП (TRANSPOSE) из категории Ссылки и массивы (Lookup and Reference):

После ввода функции необходимо нажать не Enter, а Ctrl+Shift+Enter, чтобы ввести ее сразу во все выделенные ячейки как формулу массива . Если раньше не сталкивались с формулами массивов, то советую почитать тут — это весьма экзотический, но очень мощный инструмент в Excel.

Плюсы : между таблицами сохраняется связь, т.е. изменения в первой таблице тут же отражаются во второй.

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

Способ 3. Формируем адрес сами

Этот способ отчасти похож не предыдущий, но позволяет свободно редактировать значения во второй таблице и вносить в нее любые правки при необходимости. Для создания ссылок на строки и столбцы нам понадобятся четыре функции из категории Ссылки и массивы:

  • Функция АДРЕС(номер_строки; номер_столбца) — выдает адрес ячейки по номеру строки и столбца на листе, т.е. АДРЕС(2;3) выдаст, например, ссылку на ячейку C2.
  • Функция ДВССЫЛ(ссылка_в_виде_текста) — преобразует текстовую строку, например, «F3» в настоящую ссылку на ячейку F3.
  • Функции СТРОКА(ячейка) и СТОЛБЕЦ(ячейка) — выдают номер строки и столбца для заданной ячейки, например =СТРОКА(F1) выдаст 1, а =СТОЛБЕЦ(А3) выдаст 3.

Теперь соединяем эти функции, чтобы получить нужную нам ссылку, т.е. вводим в любую свободную ячейку вот такую формулу:

в английской версии Excel это будет =INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))

А затем копируем (протягиваем) формулу на соседние ячейки как обычно черным крестом. В итоге должно получиться примерно следующее:

Т.е. при копировании формулы вниз по столбцу, она выдает ссылку, которая уходит вправо по строке и наоборот. Чего и требовалось.

Плюсы : сохраняются связи между таблицами, можно легко вносить изменения во вторую таблицу.

Минусы : форматирование не сохраняется, но его можно легко воспроизвести Специальной вставкой (вставить только Формат с флажком Транспонировать

Источник:
http://www.planetaexcel.ru/techniques/2/87/

Excel: перенос данных из столбцов в строки и наоборот

Решение одним словом: транспонирование (transpose). Дальше ищущий может гуглить и найти данную статью.

Есть обычная таблица, как можно перенести все данные, чтобы столбцы стали строками, а строки – столбцами? Мне известно три способа решить задачу, каждый из которых по своему удобен.

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

Выделяем один столбец или строку, копируем. В новом месте или листе, где будет располагаться транспонированная таблица, кликаем правой кнопкой «Специальная вставка».

Ставим галочку транспонировать. При использовании такого транспонирования «слетают» все формулы, все связи между таблицами. Поэтому, скорее всего нам также понадобится перенести только значения (или значения и форматы) чисел.

Из спорных преимуществ: сохранится все оформление ячеек, что требуется не всегда. Но главный недостаток способа – довольно трудоемкий процесс. Если строк и столбцов больше 100? Сто раз переносить данные построчно?

  1. Используем формулу

Гораздо более изящное решение.

Функция АДРЕС(номер_строки; номер_столбца) отдает ссылку (адрес) ячейки по 2 числам, где первое — номер строки, второе — номер столбца. Т.е. запись =АДРЕС(1;1) вернет нам ссылку на ячейку А1.

С помощью функций СТРОКА(ячейка) и СТОЛБЕЦ(ячейка) меняем порядок выдачи у функции АДРЕС — не (строка, столбец), а (столбец, строка).

В текущем виде формула =АДРЕС(СТОЛБЕЦ(A1);СТРОКА(A1)) вернет текст $A$1, надо преобразовать результат в ссылку, обернув все выражение в функцию ДВССЫЛ(ссылка_в_виде_текста).

В английском Excel:

Применив формулу для ячейки А9 (в примере на картинке), растягиваем ее на остальные. Результат:

И сразу можно увидеть 2 небольших минуса этого способа:

  • Пустые ячейки заполняются нулями, правим вручную;
  • Формат ячеек – числовой, так Даты тоже нужно будет преобразовывать вручную.

Но все-таки на больших таблицах эта формула однозначно быстрее, чем специальная вставка.

  1. Сводная таблица

Даже формула – не совсем то, что надо. Мы преобразовываем данные туда-сюда, хотя нам всего-то требуется поработать с самой таблицей.

Самое рациональное решение – сводная таблица. Нам понадобиться поправить исходные данные, у каждого столбца должен быть заголовок!

Выделяем таблицу, выбираем в меню Вставка – Сводная таблица. Указываем, куда вставить новую таблицу (можно на новый лист или куда-нибудь на текущий), график – да/нет. Ок. В настройках меняем местами блоки названия строк и названия столбцов. Результат:

Excel: перенос данных из столбцов в строки и наоборот: 3 комментария

Добрый день! Есть данные по выручке которые расположены по строке , теперь нужно перенести их вместе с датами в столбец . Можно ли это сделать без VBA и макросов?

Можно сводной таблицей, см. пример в тексте

Специальная вставка — Транспонировать

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Источник:
http://agitopro.ru/excel-perenos-dannyx-iz-stolbcov-v-stroki-i-naoborot.html

Основы работы со столбцами и строками в Excel

Базовый набор функций в Microsoft Excel подразумевает возможность работать напрямую только с ячейками электронной книги. В этой публикации рассмотрим, как правильно форматировать столбцы и строки, а также познакомимся с основами работы с листами.

Как вставить пустую строку на лист Excel

Чтобы дополнить электронную книгу еще одной строкой, можно поступить двумя разными способами. Будьте внимательны, ведь вставка происходит над той строчкой, которую вы выбрали, поэтому предварительно укажите правильное место. Давайте рассмотрим, как это сделать на практике.

  1. Выделяем строчку на листе, над которой необходимо вставить дополнительную строчку. Затем переходим во вкладку «Главная», в блоке «Ячейки» выбираем кнопку «Вставить», а в выпадающем списке «Вставить строки на лист.

  1. Вы заметите, что одна строчка смещается вниз под тем же номером. Такую операцию можно проделать с уже имеющимися таблицами. Можно сделать вставку другим способом: снова зайдите в блок «Ячейки», затем кликните на кнопку «Вставить ячейку». Высветится контекстное меню, в котором необходимо переустановить флажок на «Строку».

При выделении строки перед вставкой необязательно дотягивать ее до конца листа. Достаточно выделить несколько ячеек в горизонтальном положении, а затем нажать кнопку добавления.

Как вставить столбцы на лист Excel

Вставка столбиков на листе производится аналогичным способом, поэтому пользователю остается выбрать любой столбец, соответственно выделить его буквенное обозначение, а слева от него будет выполнено добавление нового.

  1. Выделите нужный столбец и обратитесь к контекстному меню, нажмите на правую кнопку мыши и выберите пункт «Вставить». Обратите внимание, что новый столбец моментально появится на листе в назначенном месте.

  1. Также вы можете выполнить добавление через меню вставки. Для этого активируйте любую ячейку на листе, возле которой должен появиться новый столбик, затем нажмите флажок кнопки «Вставить», перейдите на «Вставить ячейки», затем установите флажок напротив «Столбец».
Читайте также  Образец графика работы в Excel 2020, Скачать форму, бланк

Удаление строк и столбиков в Microsoft Excel выполняется через контекстное меню. Достаточно выделить нужный объект и нажать кнопку удалить.

Как изменить ширину строк и столбцов в Excel

При оформлении ячеек и их заполнении текстовыми данными мы иногда видим некорректное отображение в строчках и столбиках.

  1. Перейдите на лист со столбцами, которые нужно исправить, затем мышью наведите на границу столбика и протяните его в нужную сторону до необходимого размера.

  1. С расширением строк нужно выполнить похожие действия, только наведите мышью на номер и растяните после образования маркера до нужных размеров.

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

Перенос столбцов и строк из одной части листа в другую

Перемещение ячеек в Microsoft Excel является базовой операцией. Она может понадобится в случае допущенной ошибки при заполнении столбиков.

  1. Выделим столбик, затем перенесём на него курсор мыши и дождемся, пока он преобразуется в маркер. После остается перетянуть столбик в нужное место.

  1. Теперь то же самое делаем со строкой. Наведем мышь, преобразуем в маркер, затем перетянем на нужное место.

При смещении строк и столбцов буква и цифра, которой они соответствуют, меняются на те, к которым было выполнено смещение.

Рассмотрев основы работы с ячейками, вы сможете редактировать любые данные, связанные с форматом ячеек, при необходимости удалять и смещать их. Кроме того, такие принципы редактирования можно применять при работе с ограниченными таблицами в Excel.

Источник:
http://studwork.org/spravochnik/informatika/excel/osnovy-raboty-so-stolbcami-i-strokami-v-excel

Преобразовать «столбцы в строки» в Excel через VBA

Очень часто у пользователей Excel возникает необходимость преобразовать столбцы в строки в какой-либо таблице для удобной работы с ней, а в особенности для построения сводных таблиц. В данной статье я расскажу и покажу, как можно это сделать с помощью VBA.

«Столбцы в строки» с помощью VBA

Для тех, кто не сталкивался с такой «необходимостью», я приведу небольшой пример с двумя таблицами:

Левая таблица — исходная. В ней все данные хранятся в столбцах. Из такой таблицы крайне неудобно будет строить сводную: Excel каждый столбец будет рассматривать как отдельное поле, которое по отдельности надо будет перетаскивать при разработки структуры сводной таблицы. Это не будет большой проблемой, если таких столбцов несколько. А если 12, как в примере? Или 50, или еще больше? Вот в таком случае, максимально удобно будет использовать таблицу, у которой столбцы преобразованы в строки.

Правая таблица — искомая. Именно такой вариант таблицы максимально удобен для построения сводной. И целью моей статьи является показать, как можно преобразовать левую табличку в правую посредством языка VBA.

Стоит отметить, что столбцы в строки можно также преобразовать с помощью надстройки Power Query для Excel, но здесь об этом рассказано не будет. Итак, поехали.

«Столбцы в строки»: разработка формы

Для начала нам необходимо создать форму, с помощью которой мы будем преобразовывать столбцы в строки: выделять исходный диапазон для преобразования, конечную ячейку для вставки новой таблицы, а также вводить количество столбцов, которые необходимо преобразовать. Итак, заходим в меню «Разработчик» и создаем новую форму.

Выделять диапазоны (исходный и конечный) мы будем с помощью элемента управления RefEdit (если данный элемент управления отсутствует на панели инструментов, то его необходимо добавить: щелкните по рабочей форме, затем нажмите «Tools» — «Additional Controls» и поставьте галочку рядом с «RefEdit.Ctrl»). Вводить необходимое количество обрабатываемых столбцов мы будем через элемент TextBox (его переименуем в Clmn_Count для удобства). Также добавляем CommandButton, то есть кнопку, для запуска самого основного макроса. Получается что-то вроде этого:

По нажатию на кнопку «Выполнить преобразование» будет выполняться следующий код:

Переменным s1 и s2 присваиваем значения полей RefEdit1 и RefEdit2 соответственно. Затем эти переменные проверяются: если они пустые, то уведомляем пользователя и выходим из процедуры, а если с ними все в порядке — преобразовываем их в диапазоны r1 и r2 соответственно. Проверяем второй диапазон на количество столбцов и строк: если этот диапазон не является ячейкой (т.е. строк и столбцов больше 1) — тоже уведомляем пользователя и завершаем процедуру.

Если все проверки пройдены — запускаем поочередно три процедуры:

  1. Prepare — активация кода оптимизации
  2. Collapse Clmn_Count.Value, r1, r2 — запуск основной обработки, преобразующей столбцы в строки
  3. Ended — деактивация кода оптимизации

Пройдемся по каждому из них.

Код оптимизации, взятый мной с Хабра. Отключает некоторые функции Excel, ускоряя выполнение макросов:

Collapse Clmn_Count.Value, r1, r2

Основной макрос, которые как раз выполняет нужную нам функцию: преобразовывает столбцы в строки. У него есть три аргумента: количество столбцов для преобразования (используется TextBox, который у нас называется Clmn_Count), и два диапазона (исходная табличка и конечная ячейка). Сам по себе макрос довольно сложный для восприятия, но я постараюсь вкратце объяснить его принцип работы на небольшом примере:

  1. Сначала копируем заголовки, которые у нас статичны (в нашем примере это заголовок «Клиент» и «SKU»)
  2. Затем берем новую строку исходной таблицы и выполняем определенный алгоритм 3 раза (то есть столько раз, сколько у нас столбцов):
    • Копируем строку с наименованиями «Клиента» и «SKU»
    • Затем делаем сдвиг на Z столбцов вправо (изначально Z = 1 и наращивается, в нашем случае, до 3)
    • Копируем заголовок данного столбца (сначала это «Январь»), а затем соответствующее значение
    • Наращиваем Z (для сдвига на следующий месяц), и повторяем все сначала
  3. Затем спускаемся на новую строку исходной таблицы и повторяем пункт 2 снова, до тех пор, пока не переберем все строки исходной таблицы:

На гифке показан наглядный пример выполнения данного алгоритма. После того, как выполнение макроса завершилось и все столбцы в строки преобразованы — переходим к макросу Ended.

Включение функций Excel, которые мы отключили с помощью макроса Prepare

Заключение

В общем-то, на этом работа завершена. Принцип работы макроса очень прост: вызываем форму, выделяем исходную таблицу с заголовками(!), вводим количество столбцов, которое у нас должно быть преобразовано (как пример: если есть столбцы январь-декабрь, то вводим 12), затем выбираем ячейку, в которую мы хотим вставить исходную таблицу и нажимаем «Выполнить преобразование». И все, столбцы в строки преобразованы.

По желанию, можно связать вызов формы с какой-либо кнопкой в документе. Или шагнуть дальше — сделать свою надстройку с возможностью вызова этой формы в совершенно любом файле Excel.

Источник:
http://shtem.ru/%D1%81%D1%82%D0%BE%D0%BB%D0%B1%D1%86%D1%8B-%D0%B2-%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8/