Процедура транспонированиz матрицы имеет своей целью поменять столбцы и строки местами. В Excel это можно сделать при помощи нескольких инструментов.
Процесс транспонирования
Транспонирование матрицы – это процесс смены столбцов и строк местами. В программе Excel имеется две возможности проведения транспонирования: используя функцию ТРАНСП и при помощи инструмента специальной вставки. Рассмотрим каждый из этих вариантов более подробно.
Способ 1: оператор ТРАНСП
Функция ТРАНСП относится к категории операторов «Ссылки и массивы». Особенностью является то, что у неё, как и у других функций, работающих с массивами, результатом выдачи является не содержимое ячейки, а целый массив данных. Синтаксис функции довольно простой и выглядит следующим образом:
=ТРАНСП(массив)
То есть, единственным аргументом данного оператора является ссылка на массив, в нашем случае матрицу, который следует преобразовать.
Посмотрим, как эту функцию можно применить на примере с реальной матрицей.
- Выделяем незаполненную ячейку на листе, планируемую сделать крайней верхней левой ячейкой преобразованной матрицы. Далее жмем на значок «Вставить функцию», который расположен вблизи строки формул.
Производится запуск Мастера функций. Открываем в нем категорию «Ссылки и массивы» или «Полный алфавитный перечень». После того, как отыскали наименование «ТРАНСП», производим его выделение и жмем на кнопку «OK».
Происходит запуск окна аргументов функции ТРАНСП. Единственному аргументу данного оператора соответствует поле «Массив». В него нужно внести координаты матрицы, которую следует перевернуть. Для этого устанавливаем курсор в поле и, зажав левую кнопку мыши, выделяем весь диапазон матрицы на листе. После того, как адрес области отобразился в окне аргументов, щелкаем по кнопке «OK».
Но, как видим, в ячейке, которая предназначена для вывода результата, отображается некорректное значение в виде ошибки «#ЗНАЧ!». Это связано с особенностями работы операторов массивов. Чтобы исправить эту ошибку, выделяем диапазон ячеек, в котором число строк должно быть равным количеству столбцов первоначальной матрицы, а число столбцов – количеству строк. Подобное соответствие очень важно для того, чтобы результат отобразился корректно. При этом, ячейка, в которой содержится выражение «#ЗНАЧ!» должна быть верхней левой ячейкой выделяемого массива и именно с неё следует начинать процедуру выделения, зажав левую кнопку мыши. После того, как вы провели выделение, установите курсор в строку формул сразу же после выражения оператора ТРАНСП, которое должно отобразиться в ней. После этого, чтобы произвести вычисление, нужно нажать не на кнопку Enter, как принято в обычных формулах, а набрать комбинацию Ctrl+Shift+Enter.
После этих действий матрица отобразилась так, как нам надо, то есть, в транспонированном виде. Но существует ещё одна проблема. Дело в том, что теперь новая матрица представляет собой связанный формулой массив, который нельзя изменять. При попытке произвести любое изменение с содержимым матрицы будет выскакивать ошибка. Некоторых пользователей такое положение вещей вполне удовлетворяет, так как они не собираются производить изменения в массиве, а вот другим нужна матрица, с которой полноценно можно работать.
Чтобы решить данную проблему, выделяем весь транспонированный диапазон. Переместившись во вкладку «Главная» щелкаем по пиктограмме «Копировать», которая расположена на ленте в группе «Буфер обмена». Вместо указанного действия можно после выделения произвести набор стандартного сочетания клавиш для копирования Ctrl+C.
Затем, не снимая выделения с транспонированного диапазона, производим клик по нему правой кнопкой мыши. В контекстном меню в группе «Параметры вставки» щелкаем по иконке «Значения», которая имеет вид пиктограммы с изображением чисел.
Вслед за этим формула массива ТРАНСП будет удалена, а в ячейках останутся только одни значения, с которыми можно работать так же, как и с исходной матрицей.
Урок: Мастер функций в Экселе
Способ 2: транспонирование матрицы с помощью специальной вставки
Кроме того, матрицу можно транспонировать с помощью одного элемента контекстного меню, который носит название «Специальная вставка».
- Выделяем исходную матрицу курсором, зажав левую кнопку мыши. Далее, перейдя во вкладку «Главная», щелкаем по пиктограмме «Копировать», размещенной в блоке настроек «Буфер обмена».
Вместо этого можно сделать и по-другому. Выделив область, кликаем по ней правой кнопкой мыши. Активируется контекстное меню, в котором следует выбрать пункт «Копировать».
В виде альтернативы двум предыдущим вариантам копирования, можно после выделения произвести набор комбинации горячих клавиш Ctrl+C.
- Выбираем на листе незаполненную ячейку, которая должна стать крайним верхним левым элементом транспонированной матрицы. Производим щелчок по ней правой кнопкой мыши. Вслед за этим активируется контекстное меню. В нем выполняем перемещение по пункту «Специальная вставка». Появляется ещё одно небольшое меню. В нем также имеется пункт под названием «Специальная вставка…». Кликаем по нему. Также можно, совершив выделение, вместо вызова контекстного меню набрать на клавиатуре комбинацию Ctrl+Alt+V.
Активируется окно специальной вставки. Тут представлено много вариантов выбора, как именно можно вставить ранее скопированные данные. В нашем случае нужно оставить практически все настройки по умолчанию. Только около параметра «Транспонировать» следует установить галочку. Затем требуется нажать на кнопку «OK», которая размещена в нижней части данного окошка.
После этих действий транспонированная матрица отобразится в заранее выбранной части листа. В отличие от предыдущего способа, мы уже получили полноценную матрицу, которую можно изменять, как и исходник. Никакой дальнейшей доработки или преобразований не требуется.
Но при желании, если первоначальная матрица вам не нужна, её можно удалить. Для этого выделяем её курсором, зажав левую кнопку мыши. Затем выполняем щелчок по выделенному элементу правой кнопкой. В контекстном меню, которое откроется вслед за этим, выбираем пункт «Очистить содержимое».
После указанных действий на листе останется только преобразованная матрица.
Этими же двумя способами, о которых шла речь выше, можно транспонировать в Excel не только матрицы, но и полноценные таблицы. Процедура при этом будет практически идентичной.
Урок: Как перевернуть таблицу в Экселе
Итак, мы выяснили, что в программе Excel матрицу можно транспонировать, то есть, перевернуть, поменяв столбцы и строчки местами, двумя способами. Первый вариант предполагает использование функции ТРАНСП, а второй – инструменты специальной вставки. По большому счету конечный результат, который получается при использовании обоих этих способов, ничем не отличается. Оба метода работают практически в любой ситуации. Так что при выборе варианта преобразования, на первый план выходят личные предпочтения конкретного пользователя. То есть, какой из данных способов для вас лично удобнее, тот и используйте.


Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
ДА НЕТ
Источник: http://lumpics.ru/transposition-of-matrix-in-excel/
Шаг 1. Выделите пустые ячейки
Сначала выделите пустые ячейки. Их число должно совпадать с числом исходных ячеек, но располагаться они должны в другом направлении. Например, имеется 8 ячеек, расположенных по вертикали:
Нам нужно выделить 8 ячеек по горизонтали:
Так будут располагаться новые ячейки после транспонирования.
Источник: http://support.microsoft.com/ru-ru/office/%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BF-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BF-ed039415-ed8a-4a81-93e9-4b6dfac76027
Синтаксис и параметры
WorksheetFunction.Transpose(Arg1) |
Параметры | Описание |
---|---|
Arg1 | Обязательный параметр. Диапазон ячеек рабочего листа или двумерный массив, который необходимо транспонировать. |
Источник: http://vremya-ne-zhdet.ru/vba-excel/metod-worksheetfunction-transpose/
Транспонирование матрицы в программе Microsoft Excel
При работе с матрицами иногда нужно их транспонировать, то есть, говоря простыми словами, перевернуть. Конечно, можно перебить данные вручную, но Эксель предлагает несколько способов сделать это проще и быстрее. Давайте разберем их подробно.
Источник: http://ewaline.su/vybiraem-programmu/transponirovanie-matritsy-v-programme-microsoft-excel.html
учимся
программировать
Программированию нельзя научить, можно только научится
Источник: http://kaks.ru/obratnaya-matritsa-v-excel.html
Примеры транспонирования
В примерах ниже транспонируется диапазон «A1:C8» в «A11:H13», как на изображении:
Транспонирование диапазона
Простое транспонирование диапазона:
SubPrimer1() Range(“A11:H13”)=WorksheetFunction.Transpose(Range(“A1:C8”)) EndSub |
Транспонирование диапазона, когда размеры исходного диапазона неизвестны, а известно, что он начинается с ячейки «A1» и новый диапазон следует разместить ниже исходного через две пустые строки:
SubPrimer2() DimrAsLong,cAsLong ‘Определяем количество строк в исходном диапазоне r=Range(“A1”).CurrentRegion.Rows.Count ‘Определяем количество столбцов в исходном диапазоне c=Range(“A1”).CurrentRegion.Columns.Count ‘В первой половине выражения вычисляем координаты нового диапазона Range(Cells(r+3,1),Cells(r+2+c,r))=WorksheetFunction.Transpose(Range(Cells(1,1),Cells(r,c))) EndSub |
Транспонирование массива
В этом примере двумерный массив создается на основе диапазона ячеек на рабочем листе, и новый массив выгружается на рабочий лист исключительно для наглядности, чтобы результат транспонирования можно было увидеть сразу:
Subprimer3() DimmyArr1,myArr2 myArr1=Range(“A1:C8”) myArr2=WorksheetFunction.Transpose(myArr1) Range(“A11:H13”)=myArr2 EndSub |
Источник: http://vremya-ne-zhdet.ru/vba-excel/metod-worksheetfunction-transpose/
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.
Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).
Источник: http://ewaline.su/vybiraem-programmu/transponirovanie-matritsy-v-programme-microsoft-excel.html
Get expert help now
Don’t have time to figure this out? Our expert partners at Excelchat can do it for you, 24/7.
Источник: http://ewaline.su/vybiraem-programmu/transponirovanie-matritsy-v-programme-microsoft-excel.html
Функции для работы с матрицами в Excel
В программе Excel с матрицей можно работать как с диапазоном. То есть совокупностью смежных ячеек, занимающих прямоугольную область.
Адрес матрицы – левая верхняя и правая нижняя ячейка диапазона, указанные черед двоеточие.
Источник: http://ewaline.su/vybiraem-programmu/transponirovanie-matritsy-v-programme-microsoft-excel.html
Формулы массива
Построение матрицы средствами Excel в большинстве случаев требует использование формулы массива. Основное их отличие – результатом становится не одно значение, а массив данных (диапазон чисел).
Порядок применения формулы массива:
- Выделить диапазон, где должен появиться результат действия формулы.
- Ввести формулу (как и положено, со знака «=»).
- Нажать сочетание кнопок Ctrl + Shift + Ввод.
В строке формул отобразится формула массива в фигурных скобках.
Чтобы изменить или удалить формулу массива, нужно выделить весь диапазон и выполнить соответствующие действия. Для введения изменений применяется та же комбинация (Ctrl + Shift + Enter). Часть массива изменить невозможно.
Источник: http://ewaline.su/vybiraem-programmu/transponirovanie-matritsy-v-programme-microsoft-excel.html
См. также
Транспонирование (поворот) данных из строк в столбцы и наоборот
Создание формулы массива
Поворот и выравнивание данных в ячейке
Использование формул массива: рекомендации и примеры
Источник: http://support.microsoft.com/ru-ru/office/%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BF-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BF-ed039415-ed8a-4a81-93e9-4b6dfac76027
Нахождение определителя матрицы
Это одно единственное число, которое находится для квадратной матрицы. Используемая функция – МОПРЕД.
Ставим курсор в любой ячейке открытого листа. Вводим формулу: =МОПРЕД(A1:D4).
Таким образом, мы произвели действия с матрицами с помощью встроенных возможностей Excel.
Источник: http://ewaline.su/vybiraem-programmu/transponirovanie-matritsy-v-programme-microsoft-excel.html