Как строчку в excel перевести в столбец
Перейти к содержимому

Как строчку в excel перевести в столбец

  • автор:

Как в Excel преобразовать строку в столбец

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

Чтобы решить нашу проблему и преобразовать строку в столбец нам потребуется функция транспонирования (операция поможет развернуть наши данные как из строки в столбец, так и из столбца в строку).

Рассмотрим пример: у нас есть две строки, которые по каким-то причинам мы хотим развернуть в Excel:

Данные для преобразования

Данные для преобразования

Скопируем диапазон данных A1:L2 для преобразования. Кликнем правой кнопкой мыши на свободную ячейку ниже и в открывшемся меню выберем «Специальная вставка»:

Контекстное меню- специальная вставка

Контекстное меню- специальная вставка

В открывшемся окне поставим галочку «Транспонировать»:

Транспонировать

Если дополнительно мы отметим точкой «Значения», то будут вставлены только значения (принтскрин ниже, слева), если «Все» то вставка осуществится вместе с форматом (принтскрин ниже, справа):

Результат перевода строк в столбцы

Результат перевода строк в столбцы

Для обратного преобразования (столбцов в строки) нужно выполнить туже самую операцию транспонирования.

Если есть вопросы — задавайте!

Будем благодарны, если Вы нажмете +1 и/или Мне нравится внизу данной статьи или поделитесь с друзьями с помощью кнопок расположенных ниже.

Как строку в Excel преобразовать в столбец

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

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

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

Первый способ, который поможет преобразовать строки в столбцы, это использование специальной вставки.

Возьмем следующий пример. Здесь данные размещены в диапазоне B2:D7 . Сделаем так, чтобы шапка была записана по строкам. Выделяем соответствующие ячейки и копируем их, нажав комбинацию «Ctrl+C» .

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

Как строку в Excel преобразовать в столбец

Теперь выделите ту ячейку на листе, где будет располагаться первый рядок, в примере это «Имя» . Кликните в ней правой кнопкой мышки и выберите из меню «Специальная вставка» .

В следующем окне поставьте галочку в поле «Транспонировать» и нажмите «ОК» .

Теперь заголовки, которые были записаны в один рядок, отображаются в одном столбце. Если на листе в Экселе у Вас набрано много данных, можно сделать так, чтобы при пролистывании всегда была видна шапка (заголовки столбцов) и первая строка. Подробно ознакомиться с данным вопросом, можно в статье: как закрепить область в Excel.

Для того чтобы поменять строки со столбцами в таблице Excel, выделите весь необходимый диапазон. В примере это B2:D7. Затем нажмите «Ctrl+C» . Дальше выделите необходимую ячейку для новой таблицы и кликните по ней правой кнопкой мыши. Выберите из меню «Специальная вставка» , а затем поставьте галочку в пункте «Транспонировать» .

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

Использование функции

Второй способ – использование функции ТРАНСП. Для начала выделим диапазон ячеек, в котором будем размещать данные. Поскольку в исходной у нас шесть рядков и три столбца, значит, выделим три рядочка и шесть столбцов. Дальше в поле для ввода формул напишите: =ТРАНСП(B2:D7) , где «B2:D7» – исходный диапазон ячеек, и нажмите комбинацию клавиш «Ctrl+Shift+Enter» .

Таким образом, мы поменяли столбцы и строки местами в таблице Эксель.

Для преобразования строки в столбец, выделим нужный диапазон ячеек. В шапке таблицы 3 столбца, значит, выделим 3 рядка. Теперь пишем: =ТРАНСП(B2:D2) и нажимаем «Ctrl+Shift+Enter» .

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

В рассмотренном примере, заменим «Катя1» на «Катя» . И допишем ко всем именам по первой букве фамилии. Обратите внимание, изменения вносим в исходный диапазон В2:D7 . В результате, и во втором диапазоне данные тоже будут изменяться.

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

Первый способ. Выделите нужный столбец, нажмите «Ctrl+C» , выберите ячейку и кликните по ней правой кнопкой мыши. Из меню выберите «Специальная вставка» . В следующем диалоговом окне ставим галочку в поле «Транспонировать» .

Чтобы преобразовать данные столбца в рядок, используя функцию ТРАНСП, выделите соответствующее количество ячеек, в поле для формул напишите: =ТРАНСП(В2:В7) – вместо «В2:В7» введите Ваш диапазон. Нажмите «Ctrl+Shift+Enter» .

Если Вы сделали из столбцов рядки и теперь нужно настроить автоматическую нумерацию строк в 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 – преобразуем строки в столбцы и наоборот

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

В этой статье Вы найдёте несколько способов преобразовать строки в столбцы (или столбцы в строки) в Excel. Эти решения работают во всех версиях Excel (2013, 2010, 2007 и более ранних), охватывают множество возможных сценариев, объясняют наиболее типичные ошибки и показывают хорошие примеры использования в Excel формул для транспонирования.

Преобразуем строки в столбцы в Excel при помощи Специальной вставки

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

Транспонирование данных в Excel

  1. Выделите строки и столбцы, которые требуется поменять местами. Если Вы хотите развернуть всю таблицу целиком, т.е. все ячейки с данными на листе, нажмите Ctrl+Home, а затем Ctrl+Shift+End.
  2. Скопируйте выделенные ячейки. Для этого на выбор:
    • кликните по ним правой кнопкой мыши и выберите Copy (Копировать) в контекстном меню.
    • нажмите Ctrl+C.
    • нажмите кнопку Copy (Копировать) на вкладке Home (Главная) в разделе Clipboard (Буфер обмена).
  3. Выделите первую ячейку диапазона, в который Вы собираетесь скопировать транспонированные данные.

Замечание: Важно выбрать ячейку, которая находится за пределами диапазона исходных данных, чтобы скопированная область и область вставки не пересеклись. Например, если исходные данные состоят из 4 столбцов и 10 строк, то транспонированная таблица будет состоять из 10 столбцов и 4 строк.

  1. Вставьте скопированные данные при помощи команды Paste Special (Специальная вставка) > Transpose (Транспонировать). Вы можете открыть диалоговое окно Paste Special (Специальная вставка) тремя способами:
    • На вкладке Home (Главная) в разделе Clipboard (Буфер обмена), нажмите маленькую чёрную стрелку под кнопкой Paste (Вставить) и выберите команду Transpose (Транспонировать).
    • Кликните правой кнопкой мыши по ячейке, в которую нужно вставить данные, и в контекстном меню выберите Paste Special (Специальная вставка) > Transpose (Транспонировать).
    • (наконец, самый быстрый способ) Нажмите Ctrl+Alt+V, выберите опцию Transpose (Транспонировать) и кликните ОК.Транспонирование данных в Excel

Замечание: Если Вы транспонируете ячейки, содержащие формулы, убедитесь, что во всех этих ячейках использованы абсолютные ссылки (со знаком $). Это необходимо, поскольку формулы также будут транспонированы, а ссылки на ячейки автоматически обновлены.

Как Вы только что увидели, опция Transpose (Транспонировать) в Excel позволяет преобразовать строки в столбцы (или столбцы в строки) буквально за несколько секунд. Уверен, что этот способ очень полезен, когда требуется транспонировать таблицу один раз. Пользуясь этим методом, Вы сохраняете исходные данные, и это ещё один аргумент в его пользу.

Однако, вышеописанный метод имеет два существенных недостатка, которые не позволяют считать его идеальным решением для транспонирования данных в Excel.

  • Данный инструмент не доступен при копировании / вставке полнофункциональной таблицы Excel в отличие от простого диапазона. В этом случае Вам придётся скопировать таблицу без заголовков, либо преобразовать её в диапазон, т.е. кликнуть правой кнопкой мыши по любой ячейке таблицы и в контекстном меню выбрать Table (Таблица) > Convert to Range (Преобразовать в диапазон).
  • Более серьёзное ограничение этого метода состоит в том, что он создаёт копию исходных данных, и, если они изменятся, Вам придётся повторять процесс и транспонировать таблицу снова. Никто не захочет тратить своё драгоценное время на то, чтобы преобразовывать одни и те же строки и столбцы по нескольку раз. Согласны?

Как транспонировать таблицу, ссылающуюся на исходные данные

Давайте посмотрим, как можно преобразовать строки в столбцы в Excel при помощи уже знакомой нам техники Копировать > Вставить, так, чтобы транспонированные данные ссылались на исходные данные. Главное преимущество такого подхода в том, что при изменении данных в исходной таблице, транспонированная таблица обновится и отразит эти изменения.

  1. Скопируйте строки, которые Вы хотите преобразовать в столбцы (или столбцы, которые хотите преобразовать в строки).
  2. Выберите пустую ячейку на этом же или другом листе.
  3. Откройте диалоговое окно Paste Special (Специальная вставка), как было показано в предыдущем примере, и нажмите Paste Link (Вставить связь) в нижнем левом углу диалогового окна.Транспонирование данных в ExcelРезультат будет примерно таким:

Быстрое, спокойное и элегантное решение, не так ли? Единственный недостаток этого подхода состоит в том, что в процессе выполнения форматирование исходной таблицы будет потеряно, и Вам придётся восстанавливать его вручную (далее в этом уроке я покажу быстрый способ сделать это).

Транспонируем данные в Excel при помощи формул

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

Преобразуем в Excel строки в столбцы при помощи функции TRANSPOSE (ТРАНСП)

Как можно понять из её названия, функция TRANSPOSE (ТРАНСП) специально разработана для транспонирования данных в Excel. Если у Вас нет большого опыта работы с формулами в Excel, и в частности с функциями массива, то, пожалуйста, внимательно следите за тем, чтобы выполнять следующие шаги в точности как написано.

В этом примере мы будем преобразовывать таблицу, в которой перечислены штаты США с данными о населении:

Транспонирование данных в Excel

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

  1. Посчитайте ячейки, которые Вы хотите транспонировать. В нашем случае это 7 столбцов и 6 строк.
  2. Выберите пустой диапазон ячеек. Так как функция TRANSPOSE (ТРАНСП) меняет вертикальное на горизонтальное измерение диапазона, значит нужно выбрать такое количество строк и столбцов, сколько столбцов и строк соответственно имеет Ваша исходная таблица. В нашем примере мы выбираем 6 столбцов и 7 строк.
  3. Нажмите F2, чтобы перейти в режим редактирования.
  4. Запишите функцию TRANSPOSE (ТРАНСП) и укажите в скобках диапазон данных, который нужно транспонировать. В нашем случае это будет выглядеть так:

Замечание: Всегда используйте абсолютные ссылки для работы с функцией TRANSPOSE (ТРАНСП).

Транспонирование данных в Excel

  1. Нажмите Ctrl+Shift+Enter.

Замечание: Обязательно нажмите Ctrl+Shift+Enter, поскольку это формула массива. Если для ввода формулы просто нажать Enter, то она работать не будет.

Готово! Наши данные транспонированы, 7 столбцов превратились в 6 столбцов, что и требовалось получить.

Транспонирование данных в Excel

Преимущества функции TRANSPOSE (ТРАНСП)

Главное преимущество функции TRANSPOSE (ТРАНСП): преобразованная таблица сохраняет связь с источником данных, т.е. какие бы изменения в исходных данных Вы ни вносили, транспонированная таблица также будет изменяться.

Недостатки функции TRANSPOSE (ТРАНСП)
  • Форматирование начальной таблицы не сохранится в преобразованной таблице, как это видно на рисунке выше.
  • Если какие-то ячейки начальной таблицы были пусты, то в транспонированных ячейках там будут нули.
  • Вы не сможете редактировать ячейки в преобразованной таблице, поскольку функция TRANSPOSE (ТРАНСП) чрезвычайно зависима от источника данных. Если Вы сделаете попытку изменить какую-либо ячейку, то получите сообщение с предупреждением: You cannot change part of an array (Нельзя изменять часть массива).

И в завершение, какой бы хорошей и простой ни была функция TRANSPOSE (ТРАНСП), ей не хватает гибкости, и поэтому она становится не лучшим решением во многих ситуациях.

Преобразовываем строку в столбец или столбец в строку при помощи функции INDIRECT (ДВССЫЛ)

Этот метод очень похож на предыдущий. Его главное преимущество перед функцией TRANSPOSE (ТРАНСП) состоит в том, что он оставляет возможность изменять данные в транспонированной таблице, при этом сохраняя связь с исходной таблицей.

В этом примере мы будем использовать небольшую таблицу, чтобы Вы могли сосредоточить свое внимание на процессе транспонирования, а не на данных в таблице. Мы будем использовать немного замысловатую комбинацию функций INDIRECT (ДВССЫЛ) и ADDRESS (АДРЕС).

Предположим, у Вас есть данные в 4 столбцах (AD) и в 5 строках (15):

Транспонирование данных в Excel

    Введите формулу, показанную ниже, в верхнюю левую ячейку конечного диапазона (допустим, это будет ячейка A7), и нажмите Enter:

Если данные начинаются не в строке с номером 1 и не в столбце A, то потребуется немного более сложная формула:

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

Транспонирование данных в Excel

Но не расстраивайтесь, это вовсе не проблема. Вот как можно легко восстановить исходное форматирование:

  • Скопируйте исходную таблицу.
  • Выделите транспонированную таблицу.
  • Кликните по выделенной области правой кнопкой мыши и в разделе Paste Options (Параметры вставки) выберите Formatting (Форматирование).Транспонирование данных в Excel

Подводя итог, метод с функцией INDIRECT (ДВССЫЛ) кажется более сложным решением задачи по преобразованию строк в столбцы, чем с функцией TRANSPOSE (ТРАНСП).

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

Недостатки: На самом деле, я вижу только один – форматирование исходных данных не сохраняется. Впрочем, Вы можете легко восстановить его, как это показано выше.

Теперь Вы понимаете, как работает функция INDIRECT (ДВССЫЛ), и, возможно, захотите более подробно разобраться, что на самом деле делает эта формула и почему мы использовали комбинацию с функцией ADDRESS (АДРЕС). Если технические детали Вас не интересуют, следующий раздел Вы можете пропустить.

Функции INDIRECT (ДВССЫЛ) и ADDRESS (АДРЕС) – синтаксис и логика

Функция INDIRECT (ДВССЫЛ) служит для создания непрямой ссылки на ячейку. Например, если Вы хотите поместить значение ячейки B1 в ячейку A8, то записываете в ячейку A8 следующую формулу:

Транспонирование данных в Excel

Но реальная сила функции INDIRECT (ДВССЫЛ) в том, что она может превратить любую текстовую строку в ссылку, в том числе строку, которую Вы создаёте при помощи других функций и значений других ячеек. Именно это мы и собираемся сейчас сделать. Если Вы поймёте это, то всё остальное поймёте с лёгкостью ��

Думаю, Вы помните, что в формуле мы использовали ещё 3 функции – ADDRESS (АДРЕС), COLUMN (СТОЛБЕЦ) и ROW (СТРОКА).

Функция ADDRESS (АДРЕС) используется для того, чтобы получить адрес ячейки из номеров строки и столбца, заданных Вами. Запомните: сначала строка, потом столбец. Например, АДРЕС(8;1) возвратит $A$8.

Функция COLUMN (СТОЛБЕЦ) возвращает номер столбца из заданной ссылки на ячейку. Например, СТОЛБЕЦ(A3) возвратит значение 1, поскольку столбец A – это первый столбец. Как не трудно догадаться, функция ROW (СТРОКА) работает точно так же, только для строк.

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

Как видите, в функции ADDRESS (АДРЕС) мы задаём сначала столбец, а затем строку, и в этом кроется весь фокус! Помните, что функция ADDRESS (АДРЕС) понимает первое число как номер строки, а второе число как номер столбца. Другими словами, функция ADDRESS (АДРЕС) берёт номер столбца, возвращённый функцией COLUMN (СТОЛБЕЦ), и превращает его в номер строки, затем берёт номер строки и превращает его в номер столбца, то есть меняет местами строки и столбцы.

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

  • функции COLUMN (СТОЛБЕЦ) и ROW (СТРОКА) возвращают номера столбца и строки соответственно;
  • функция ADDRESS (АДРЕС) меняет местами строку и столбец;
  • функция INDIRECT (ДВССЫЛ) выводит перевернутые данные в другую ячейку на листе Excel.

Совсем не страшно, правда?

Транспонирование данных в Excel

Транспонируем данные при помощи макроса VBA

Не составит труда написать скрипт, который будет транспонировать строки в столбцы, при условии, что Вы достаточно хорошо владеете VBA. Если нет, то можете найти множество готовых макросов в интернете. Но если Вы работаете с большими таблицами, помните, что метод Transpose в VBA ограничен 65536 элементами. Если Ваш массив выйдет за рамки этого ограничения, то все лишние данные будут молча потеряны.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *