Транспонирование матрицы в 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: использование оператора ТРАНСП
Оператор «ТРАНСП» является матричным оператором, поэтому результат работы оператора – массив данных, а не ячейка с результатом.
Оператор имеет довольно простой синтаксис: «=ТРАНСП(массив)» с одним аргументом – самой исходной матрицей.
Попробуем сделать транспонирование матрицы на практике:
Создадим новый документ и занесем в его ячейки матрицу со значениями 4Х3. В другой произвольной ячейке создадим такой же диапазон, размером 4Х3, так как мы работаем уже с матричным оператором, и вставим функцию через «Мастер функций» – «Ссылки и массивы» — оператор «ТРАНСП».
В диалоговом окне укажем массив введенных данных и применяем оператор путем нажатия клавиш «Ctrl+Shift+Enter».
По итогу мы получаем готовую матрицу, которая является транспонированной матрицей от исходной. Для того, чтобы была возможность изменять данные внутри полученной матрице, необходимо скопировать ее с буфера обмена и вставить в новые ячейки.
· Способ 2: транспонирование путем специальной вставки
Транспонирование матрицы можно произвести и без использования Мастера функций. Для начала скопируем исходную матрицу в буфер обмена либо через контекстное меню, либо сочетанием клавиш «Ctrl+C».
Применим «Специальную вставку» — для этого укажем первую ячейку для будущей матрице, откроем вновь контекстное меню и выберем «Специальная вставка. ».
В появившемся диалоговом окне есть масса вариантов, что можно и как вставить в выбранную ячейку. В нашем случае нас интересует пункт «Транспонировать». Ставим напротив него указатель и применяем специальную вставку.
Главным отличием специальной вставки от первого способа является то, что полученная матрица полностью готова к работе, ее не нужно разделять на отдельные элементы – каждая ячейка может быть изменена и с каждой ячейкой можно проводить различные дальнейшие операции.
Останавливать свой выбор на методе транспонировании матриц остается правом за пользователем. Оба варианта пригодны к использованию как для небольших массивов данных, так и для громоздких матриц и больших таблиц с многочисленными значениями.
Стоит учесть, что перед проведением операции транспонирования лучше всего сохранить документ, чтобы не потерять исходные данные в случае аварийного завершения работы или отключении питания устройства.
Транспонирование матрицы в программе Microsoft Excel
При работе с матрицами иногда нужно их транспонировать, то есть, говоря простыми словами, перевернуть. Конечно, можно перебить данные вручную, но Эксель предлагает несколько способов сделать это проще и быстрее. Давайте разберем их подробно.
Процесс транспонирования
Транспонирование матрицы – это процесс смены столбцов и строк местами. В программе Excel имеется две возможности проведения транспонирования: используя функцию ТРАНСП и при помощи инструмента специальной вставки. Рассмотрим каждый из этих вариантов более подробно.
Способ 1: оператор ТРАНСП
Функция ТРАНСП относится к категории операторов «Ссылки и массивы». Особенностью является то, что у неё, как и у других функций, работающих с массивами, результатом выдачи является не содержимое ячейки, а целый массив данных. Синтаксис функции довольно простой и выглядит следующим образом:
То есть, единственным аргументом данного оператора является ссылка на массив, в нашем случае матрицу, который следует преобразовать.
Посмотрим, как эту функцию можно применить на примере с реальной матрицей.
- Выделяем незаполненную ячейку на листе, планируемую сделать крайней верхней левой ячейкой преобразованной матрицы. Далее жмем на значок «Вставить функцию», который расположен вблизи строки формул.
Производится запуск Мастера функций. Открываем в нем категорию «Ссылки и массивы» или «Полный алфавитный перечень». После того, как отыскали наименование «ТРАНСП», производим его выделение и жмем на кнопку «OK».
Происходит запуск окна аргументов функции ТРАНСП. Единственному аргументу данного оператора соответствует поле «Массив». В него нужно внести координаты матрицы, которую следует перевернуть. Для этого устанавливаем курсор в поле и, зажав левую кнопку мыши, выделяем весь диапазон матрицы на листе. После того, как адрес области отобразился в окне аргументов, щелкаем по кнопке «OK».
Но, как видим, в ячейке, которая предназначена для вывода результата, отображается некорректное значение в виде ошибки «#ЗНАЧ!». Это связано с особенностями работы операторов массивов. Чтобы исправить эту ошибку, выделяем диапазон ячеек, в котором число строк должно быть равным количеству столбцов первоначальной матрицы, а число столбцов – количеству строк. Подобное соответствие очень важно для того, чтобы результат отобразился корректно. При этом, ячейка, в которой содержится выражение «#ЗНАЧ!» должна быть верхней левой ячейкой выделяемого массива и именно с неё следует начинать процедуру выделения, зажав левую кнопку мыши. После того, как вы провели выделение, установите курсор в строку формул сразу же после выражения оператора ТРАНСП, которое должно отобразиться в ней. После этого, чтобы произвести вычисление, нужно нажать не на кнопку Enter, как принято в обычных формулах, а набрать комбинацию Ctrl+Shift+Enter.
Чтобы решить данную проблему, выделяем весь транспонированный диапазон. Переместившись во вкладку «Главная» щелкаем по пиктограмме «Копировать», которая расположена на ленте в группе «Буфер обмена». Вместо указанного действия можно после выделения произвести набор стандартного сочетания клавиш для копирования Ctrl+C.
Затем, не снимая выделения с транспонированного диапазона, производим клик по нему правой кнопкой мыши. В контекстном меню в группе «Параметры вставки» щелкаем по иконке «Значения», которая имеет вид пиктограммы с изображением чисел.
Вслед за этим формула массива ТРАНСП будет удалена, а в ячейках останутся только одни значения, с которыми можно работать так же, как и с исходной матрицей.
Способ 2: транспонирование матрицы с помощью специальной вставки
Кроме того, матрицу можно транспонировать с помощью одного элемента контекстного меню, который носит название «Специальная вставка».
-
Выделяем исходную матрицу курсором, зажав левую кнопку мыши. Далее, перейдя во вкладку «Главная», щелкаем по пиктограмме «Копировать», размещенной в блоке настроек «Буфер обмена».
Вместо этого можно сделать и по-другому. Выделив область, кликаем по ней правой кнопкой мыши. Активируется контекстное меню, в котором следует выбрать пункт «Копировать».
В виде альтернативы двум предыдущим вариантам копирования, можно после выделения произвести набор комбинации горячих клавиш Ctrl+C.
Выбираем на листе незаполненную ячейку, которая должна стать крайним верхним левым элементом транспонированной матрицы. Производим щелчок по ней правой кнопкой мыши. Вслед за этим активируется контекстное меню. В нем выполняем перемещение по пункту «Специальная вставка». Появляется ещё одно небольшое меню. В нем также имеется пункт под названием «Специальная вставка…». Кликаем по нему. Также можно, совершив выделение, вместо вызова контекстного меню набрать на клавиатуре комбинацию Ctrl+Alt+V.
Активируется окно специальной вставки. Тут представлено много вариантов выбора, как именно можно вставить ранее скопированные данные. В нашем случае нужно оставить практически все настройки по умолчанию. Только около параметра «Транспонировать» следует установить галочку. Затем требуется нажать на кнопку «OK», которая размещена в нижней части данного окошка.
После этих действий транспонированная матрица отобразится в заранее выбранной части листа. В отличие от предыдущего способа, мы уже получили полноценную матрицу, которую можно изменять, как и исходник. Никакой дальнейшей доработки или преобразований не требуется.
После указанных действий на листе останется только преобразованная матрица.
Этими же двумя способами, о которых шла речь выше, можно транспонировать в 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)
Если исходная матрица не квадратная, например, 2 строки х 3 столбца, то для получения транспонированной матрицы нужно выделить диапазон из 3 строк и 2 столбцов. В принципе можно выделить и заведомо больший диапазон, в этом случае лишние ячейки будут заполнены ошибкой #Н/Д.
СОВЕТ: В статьях раздела про транспонирование таблиц (см. Транспонирование) можно найти полезные приемы, которые могут быть использованы для транспонирования матриц другим способом (через специальную вставку или с использованием функций ДВССЫЛ() , АДРЕС() , СТОЛБЕЦ() ).
Напомним некоторые свойства транспонированных матриц (см. файл примера ).
(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.
Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).