Как сделать транспонированную матрицу в excel

Обновлено: 07.07.2024

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

Задача 9 Транспонирование матриц

Постановка задачи: Транспонировать матрицу A : B= A T

Наша конкретная задача - транспонирование матрицы на новое место - решается сравнительно просто, поскольку для этого есть стандартная функция ТРАНСП(X) . В английской версии и при программировании на VBA она называется Transpose . Можно, например:

  • ввести прямоугольную матрицу в область рабочего листа, скажем, в ячейки B34:D35;
  • дать имя этой области, например, " MatrixA ";
  • выделить область ячеек с другой ориентацией для транспонированной матрицы, например A37:B39;
  • ввести в эту область формулу над массивами: " "

Можете убедиться, эти действия приводят к желаемому результату:

Два решения в задаче транспонирования матрицы

Итак, с программистской точки зрения, нам нужно написать функцию от одного параметра, тип которого должен допускать при вызове массивы рабочего листа (объекты Range ) и такой же массив возвращать как результат функции. Каким же должен быть тип параметра и тип функции? Если Вы внимательно следили за предыдущими примерами, то понимаете, что таковым является тип Variant - этот универсальный тип успешно работает в данной ситуации. Остальное - дело техники. Вот текст функции Trans , решающий нашу задачу:

Нам остается сделать несколько замечаний:

  • Параметр и функция имеют тип Variant , согласуемый как с массивом, так и объектом Range.
  • Чтобы получить транспонированную матрицу, нам понадобился динамический массив B . Оператор ReDim в процедуре Trans позволяет массиву получить память, - его размеры можно определить, зная свойства объекта Range , задающего входной массив A .
  • Операция транспонирования реализуется двойным циклом.
  • На последнем шаге работы функции ее значением становится сформированный массив B . Он и будет записан в выделенную область памяти рабочего листа.

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

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

Эта функция получала бы два массива A и B - входной и результирующий. Транспонированная матрица (массив B ) получалась бы как побочный эффект. Результатом работы функции могло бы быть значение True в случае успеха работы и False в противном случае. Такая схема, возможная в других языках и в том числе на VBA недопустима, когда функция вызывается в Excel. Пользовательские функции, вызываемые в формулах ячеек рабочего листа, не допускают побочного эффекта, приводящего к изменению массивов на рабочем листе. Единственная возможность - передать массив как результат пользовательской функции, вызываемой в формуле над массивами. Об этой особенности Excel я уже говорил ранее, но не грех напомнить еще раз об этой важной специфике машины вычислений Excel.

Пользовательские функции и массивы рабочего листа

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

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

Ряд важных вопросов требует специального рассмотрения. Вот лишь некоторые:

Работа с матрицами и их преобразование.

Матрица представляет собой таблицу с числовыми значениями, которая состоит из n – строк и m – столбцов.

Сложение матриц

Матрицы можно сложить двумя способами:


Рис.5 Сложение матриц при помощи стандартной функции


Рис.6 Сложение матриц

Перемножение матриц

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

В появившемся окне с шаблоном заполняем поля путём выделения ячеек, в которых находится матрица. После введения матриц необходимо нажать, Ctrl + Sift + Enter и в указанной матрице мы получаем результат (рис.7).


Рис.7 Перемножение матриц

Транспонирование матриц


Рис.8 Транспонирование матриц

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

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

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

· Способ 1: использование оператора ТРАНСП

Попробуем сделать транспонирование матрицы на практике:

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

· Способ 2: транспонирование путем специальной вставки

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

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

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

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

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

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

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

Транспонирование – это математическая операция. Это преобразование матрицы, в результате чего столбцы становятся строками, а строки превращаются в столбцы. Говоря проще, нужно все значения в строке (горизонталь) перекинуть в столбец (вертикаль).

Способ 1. Использовать функцию ТРАНСП.

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

Назначение функции ТРАНСП в Excel – превратить строки в столбцы, т. е. поменять ориентацию с горизонтальной на вертикальную или наоборот.

Функция ТРАНСП в Excel - синтаксис

Функция транспонировать принимает только один аргумент:

= ТРАНСП(массив)

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

Важно! Чтобы функция ТРАНСП работала, вы должны ввести ее как формулу массива, нажав Ctrl + Shift + Enter .

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

1. Подсчитайте количество столбцов и строк в исходной таблице.

Эти числа понадобятся вам на следующем шаге.

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


2. Выберите такое же количество ячеек, но измените их ориентацию.

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

В нашем случае мы выбираем диапазон из 5 столбцов и 4 строк:


3. Введите формулу ТРАНСП.

Выделив этот пустой диапазон, используйте функцию транспонирования:

Вот подробные шаги:

Сначала вы вводите знак равенства, имя функции и открывающую скобку: = ТРАНСП(

Затем выберите исходный диапазон с помощью мыши или введите его вручную:


Наконец, введите закрывающую скобку, но не нажимайте клавишу Enter! На этом этапе ваша формула должна выглядеть примерно так:


4. Запишите формулу.

Нажмите Ctrl + Shift + Enter , чтобы правильно закончить формулу массива. Зачем это? Потому что формула должна применяться ко всем данным. И это именно то, для чего предназначены формулы массива.

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

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


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

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

Слабые стороны функции ТРАНСП:

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

Как транспонировать таблицу без замены нулей на пробелы.

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


То есть, если при транспонировании строки в столбец программа обнаруживает пустую ячейку, то вместо нее сразу же вставляется ноль. Это особенность Экселя: стоит с пустой ячейкой произвести какую-то математическую операцию, и там тут же появляется ноль. А транспонирование в Excel – это математическая операция с матрицей значений.

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

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

Введите формулу, как описано выше (не забудьте нажать Ctrl + Shift + Enter , чтобы правильно завершить формулу массива), и вы получите результат, подобный этому:


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

Советы по использованию ТРАНСП

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

1. Как редактировать формулу?

Как функция массива, ТРАНСП не позволяет изменять часть возвращаемого массива. Чтобы отредактировать формулу транспонирования, выберите весь диапазон, к которому относится формула, внесите необходимые изменения и нажмите Ctrl + Shift + Enter , чтобы сохранить обновленную формулу.

2. Как удалить формулу?

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

3. Как заменить формулу на значения?

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

Способ 2. Как транспонировать с помощью формул

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

Для создания ссылок на строки и столбцы нам понадобятся четыре функции из категории Ссылки и массивы:

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

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

Вводим в любую свободную ячейку (скажем, в A8) вот такую формулу:

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

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


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

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

=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(B6) - СТОЛБЕЦ($B$6) + СТРОКА($B$6); СТРОКА(B6) - СТРОКА($B$6) + СТОЛБЕЦ($B$6)))

Где B6 - самая верхняя левая ячейка исходной таблицы. Также обратите внимание на использование абсолютных и относительных ссылок.

Однако транспонированные данные выглядят очень просто и тускло по сравнению с исходными. Всё форматирование потеряно.

Но не расстраивайтесь, эту проблему легко решить. Чтобы восстановить исходное форматирование, выполните следующие действия:

Преимущества: эта формула обеспечивает более гибкий способ замены строк и столбцов в Excel. Это позволяет вносить любые изменения в итоговую таблицу, поскольку вы используете обычную формулу, а не формулу массива.

Недостатки: вижу только один - теряется форматирование данных. Хотя вы можете быстро восстановить его, как описано выше.

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

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


Для этого выполните следующие действия:

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

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

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

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

Эта операция превратит ваши данные во что-то немного пугающее, как вы видите на скриншоте ниже. Но не паникуйте – еще 2 шага, и вы достигнете желаемого результата.

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

Способ 4. Перенести данные в Excel с помощью макроса VBA

Чтобы автоматизировать преобразование строк в столбцы в Excel, вы можете использовать следующий макрос:

Чтобы добавить макрос на лист, следуйте инструкциям, описанным в разделе Как вставить и запустить код VBA в Excel .

Примечание. Транспонирование с помощью VBA имеет ограничение в 65536 элементов. Если ваш массив превышает этот предел, дополнительные данные будут автоматически отброшены.

Как использовать макрос для преобразования строки в столбец

Вставив макрос в книгу, выполните следующие шаги, чтобы повернуть таблицу:


Способ 5. Сводная таблица.

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

Сначала необходимо создать сводную таблицу (здесь есть подробная инструкция). Выделяем исходные данные:


Создаем её на новом листе.

В свойствах сводной таблицы отключаем общие и промежуточные итоги по столбцам и строкам.


Перетаскиваем поля в макете таблицы, и получаем результат – таблица повёрнута набок.

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

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

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

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


Готово! Таблица транспонирована:


Если вам интересно попробовать этот и более 60 других профессиональных инструментов для Excel, я приглашаю вас загрузить пробную версию Ultimate Suite.

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

Благодарю вас за чтение и надеюсь увидеть вас в нашем блоге!

Быстрое удаление пустых столбцов в Excel - В этом руководстве вы узнаете, как можно легко удалить пустые столбцы в Excel с помощью макроса, формулы и даже простым нажатием кнопки. Как бы банально это ни звучало, удаление пустых…

Как полностью или частично зафиксировать ячейку в формуле - При написании формулы Excel знак $ в ссылке на ячейку сбивает с толку многих пользователей. Но объяснение очень простое: это всего лишь способ ее зафиксировать. Знак доллара в данном случае служит только…

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

Относительные и абсолютные ссылки – как создать и изменить - В руководстве объясняется, что такое адрес ячейки, как правильно записывать абсолютные и относительные ссылки в Excel, как ссылаться на ячейку на другом листе и многое другое. Ссылка на ячейки Excel,…

4 способа быстро убрать перенос строки в ячейках Excel - В этом совете вы найдете 4 совета для удаления символа переноса строки из ячеек Excel. Вы также узнаете, как заменять разрывы строк другими символами. Все решения работают с Excel 2019, 2016, 2013…

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

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

Как посчитать количество пустых и непустых ячеек в Excel - Если ваша задача - заставить Excel подсчитывать пустые ячейки на листе, прочтите эту статью, чтобы найти 3 способа для этого. Узнайте, как искать и выбирать среди них нужные с помощью стандартных…

Как объединить строки в Excel без потери данных? Примеры и советы. - Объединение строк в Excel - одна из самых распространенных задач, которые нам нужно выполнять время от времени. Проблема в том, что Microsoft Excel не предоставляет для этого надежного инструмента. Кроме…

Как правильно объединить столбцы в Excel без потери данных. - Объединение данных в Excel — это достаточно распространённая задача. Объединяют столбцы, строки, отдельные ячейки и даже целые таблицы. Из этой статьи вы узнаете, как объединить несколько столбцов Excel и не…

Зачастую у нас в работе возникает необходимость перевернуть данные — из строк сделать столбцы и наоборот.
Рассмотрим различные способы транспонирования матрицы или таблицы в Excel.

Предположим, что у нас имеется следующая матрица, которую мы хотим транспонировать:



Разберем 2 способа транспонирования матрицы в Excel: с помощью специальной вставки и с помощью функции ТРАНСП.

Способ 1. Транспонирование с помощью специальной вставки

Чтобы транспонировать матрицу выделяем диапазон ячеек A2:C5, в котором находится матрица.
Нажимаем правой кнопкой мыши на выделенный диапазон и в всплывающем окне выбираем Копировать (или нажимаем комбинацию клавиш Ctrl + C).
Переходим в ячейку, куда хотим вставить транспонированную матрицу, нажимаем правую кнопку мыши и выбираем Специальная вставка -> Транспонировать (или нажимаем комбинацию клавиш Ctrl + Alt + V и выбираем Транспонировать):



На выходе мы получаем транспонированную матрицу:



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

Способ 2. Транспонирование с помощью функции ТРАНСП

Синтаксис и описании функции транспонирования:

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

  • Массив(обязательный аргумент) — массив (диапазон ячеек), для которого применяется транспонирование.

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



После ввода формулы =ТРАНСП(A2:C5) нажмите Ctrl + Shift + Ввод, чтобы применить формулу массива ко всем выделенным ячейкам.
В результате получаем транспонированную матрицу:



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

Транспонирование матрицы в Excel (Эксель)

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

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

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

· Способ 1: использование оператора ТРАНСП

Попробуем сделать транспонирование матрицы на практике:

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

· Способ 2: транспонирование путем специальной вставки

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

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

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

Транспонирование матрицы в программе Microsoft Excel


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

Процесс транспонирования

Транспонирование матрицы – это процесс смены столбцов и строк местами. В программе Excel имеется две возможности проведения транспонирования: используя функцию ТРАНСП и при помощи инструмента специальной вставки. Рассмотрим каждый из этих вариантов более подробно.

Способ 1: оператор ТРАНСП

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

Посмотрим, как эту функцию можно применить на примере с реальной матрицей.








Способ 2: транспонирование матрицы с помощью специальной вставки





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



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


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

Итак, мы выяснили, что в программе Excel матрицу можно транспонировать, то есть, перевернуть, поменяв столбцы и строчки местами, двумя способами. Первый вариант предполагает использование функции ТРАНСП, а второй – инструменты специальной вставки. По большому счету конечный результат, который получается при использовании обоих этих способов, ничем не отличается. Оба метода работают практически в любой ситуации. Так что при выборе варианта преобразования, на первый план выходят личные предпочтения конкретного пользователя. То есть, какой из данных способов для вас лично удобнее, тот и используйте.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Транспонирование матриц в MS EXCEL

Транспонирование матрицы — это операция над матрицей, при которой ее строки и столбцы меняются местами. Для этой операции в MS EXCEL существует специальная функция ТРАНСП() или англ. TRANSPOSE.

Если матрица A имеет размер n × m , то транспонированная матрица A t имеет размер m × n.

В MS EXCEL существует специальная функция ТРАНСП() для нахождения транспонированной матрицы.


Если элементы исходной матрицы 2 х 2 расположены в диапазоне А7:В8, то для получения транспонированной матрицы нужно:

  • выделить диапазон 2 х 2, который не пересекается с исходным диапазономА7:В8
  • в строке формул ввести формулу =ТРАНСП(A7:B8) и нажать комбинацию клавиш CTRL+SHIFT+ENTER, т.е. нужно ввести ее как формулу массива (формулу можно ввести прямо в ячейку, предварительно нажав клавишу F2)

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

Напомним некоторые свойства транспонированных матриц (см. файл примера ).

(A t ) t = A
( k · A) t = k · A t (про умножение матриц на число и сложение матриц см. статью Сложение и вычитание матриц, умножение матриц на число в MS EXCEL)
(A + B) t = A t + B t
(A · B) t = B t · A t (про умножение матриц см. статью Умножение матриц в MS EXCEL)

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

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

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


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


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

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

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

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

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


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


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

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

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

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

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

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

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

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

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

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

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

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Читайте также: