Как сделать транспонирование в excel?
Содержание
- 1 Способ 1. Специальная вставка
- 2 Способ 2. Функция ТРАНСП в Excel
- 3 Способ 3. Сводная таблица
- 3.1 1-ый способ транспонирования — специальная вставка
- 3.2 2-ой способ транспонирования функция Excel =ТРАНСП()
- 3.3 3-ий способ транспонирования — сводная таблица
- 3.4 Присоединяйтесь к нам!
- 3.5 Преобразуем в Excel строки в столбцы при помощи функции TRANSPOSE (ТРАНСП)
- 3.6 Преобразовываем строку в столбец или столбец в строку при помощи функции INDIRECT (ДВССЫЛ)
- 3.7 Транспонируем данные при помощи макроса VBA
Понятие «транспонировать» почти не встречается в работе пользователей ПК. Но тем, кто работает с массивами, будь то матрицы в высшей математике или таблицы в Excel, приходится сталкиваться с этим явлением.
Транспонированием таблицы в Excel называется замена столбцов строками и наоборот. Иными словами – это поворот в двух плоскостях: горизонтальной и вертикальной. Транспонировать таблицы можно тремя способами.
Способ 1. Специальная вставка
Самый простой и универсальный путь. Рассмотрим сразу на примере. Имеем таблицу с ценой некоего товара за штуку и определенным его количеством. Шапка таблицы расположена горизонтально, а данные расположены вертикально соответственно. Стоимость рассчитана по формуле: цена*количество. Для наглядности примера подсветим шапку таблицы зеленым цветом.
Нам нужно расположить данные таблицы горизонтально относительно вертикального расположения ее шапки.
Чтобы транспонировать таблицу, будем использовать команду СПЕЦИАЛЬНАЯ ВСТАВКА. Действуем по шагам:
- Выделяем всю таблицу и копируем ее (CTRL+C).
- Ставим курсор в любом месте листа Excel и правой кнопкой вызываем меню.
- Кликаем по команде СПЕЦИАЛЬНАЯ ВСТАВКА.
- В появившемся окне ставим галочку возле пункта ТРАНСПОНИРОВАТЬ. Остальное оставляем как есть и жмем ОК.
В результате получили ту же таблицу, но с другим расположением строк и столбцов. Причем, заметим, что зеленым подсвечены ячейки с тем же содержанием. Формула стоимости тоже скопировалась и посчитала произведение цены и количества, но уже с учетом других ячеек. Теперь шапка таблицы расположена вертикально (что хорошо видно благодаря зеленому цвету шапки), а данные соответственно расположились горизонтально.
Аналогично можно транспонировать только значения, без наименований строк и столбцов. Для этого нужно выделить только массив со значениями и проделать те же действия с командой СПЕЦИАЛЬНАЯ ВСТАВКА.
Способ 2. Функция ТРАНСП в Excel
С появлением СПЕЦИАЛЬНОЙ ВСТАВКИ транспонирование таблицы при помощи команды ТРАНСП почти не используется по причине сложности и большего времени на операцию. Но функция ТРАНСП все же присутствует в Excel, поэтому научимся ею пользоваться.
Снова действует по этапам:
- Правильно выделяем диапазон для транспонирования таблицы. В данном примере исходной таблицы имеется 4 столбца и 6 строк. Соответственно мы должны выделить диапазон ячеек в котором будет 6 столбцов и 4 строки. Как показано на рисунке:
- Сразу заполняем активную ячейку так чтобы не снять выделенную область. Вводим следующую формулу:=ТРАНСП(A1:D6)
- Нажимаем CTRL+SHIFT+ENTER. Внимание! Функия ТРАНСП()работает тилько в массиве. Поэтому после ее ввода нужно обязательно нажать комбинацию горячих клавиш CTRL+SHIFT+ENTER для выполнения функции в массиве, а не просто ENTER.
Обратите внимание, что формула не скопировалась. При нажатии на каждую ячейку становится видно, что эта таблица была транспонирована. К тому же все исходное форматирование утеряно. Придется выравнивать и подсвечивать снова. Так же стоит обратить внимание на то что транспонированная таблица привязанная к исходной. Измененные значения исходной таблице автоматически обновляются в транспонированной.
Способ 3. Сводная таблица
Те, кто тесно работает с Excel, знают, что сводная таблица многофункциональна. И одной из ее функций является возможность транспонирования. Правда, оно будет выглядеть немного иначе, чем в предыдущих примерах.
- Создадим сводную таблицу. Для этого выделим исходную таблицу и откроем пункт ВСТАВКА – СВОДНАЯ ТАБЛИЦА.
- Местом, где будет создана сводная таблица, выбираем новый лист.
- В получившемся макете сводных таблиц можем выбрать необходимые пункты и перенести их в нужные поля. Перенесем «продукт» в НАЗВАНИЯ СТОЛБЦОВ, а «цена за шт» в ЗНАЧЕНИЯ.
- Получили сводную таблицу по нужному нам полю. Также команда автоматически подсчитала общий итог.
- Можно убрать галочку у ЦЕНА ЗА ШТ и поставить галочку рядом с ОБЩАЯ СТОИМОСТЬ. И тогда получим сводную таблицу по стоимости товаров, а также опять общий итог.
Скачать примеры транспонирования таблиц в Excel.
Это достаточно своеобразный способ частичного транспонирования, позволяющий заменить столбцы на строки (наоборот – не получится) и дополнительно узнать общую сумму по заданному полю.
Часто в работе у нас возникает потребность перевернуть данные — из строчного представления сделать данные столбцом, из столбца перевернуть данные в строку. Поворот данных из столбцов в строки или наоборот называется транспонированием.
Транспонировать данные в Excel можно с помощью:
- «Специальной» вставки с галочкой «Транспонировать»;
- Функции Excel =трансп();
- и с помощью сводной таблицы.
Рассмотрим данные способы транспонирования на примерах.
У нас есть таблица с данными, и мы хотим из табличного представления данных сделать строчное — для этого транспонируем данные.
1-ый способ транспонирования — специальная вставка
Транспонируем данные с помощью специальной вставки с галочкой «транспонировать».
Для этого выделяем необходимые данные и копируем их с помощью кнопки «копировать» или с помощью сочетания клавиш ctrl+c.
Затем переходим на новый лист, устанавливаем курсор, куда хотим вставить данные, и заходим в «специальную вставку»: нажимаем кнопку в меню «Специальная вставка» или нажимаем правой кнопкой мыши и выбираем пункт «Специальная вставка».
После нажатия откроется диалоговое окно, в котором ставим галочку «транспонировать» и нажимаем ОК
Данные переворачиваются, и мы получаем нужное нам строчное представление:
Обратите внимание, что при таком способе транспонирования данных связь между исходными данными и перевернутыми отсутствует. Т.е. если мы меняем исходные данные, данные в транспонированной таблице не меняются. Как транспонировать данные с сохранением связи с исходником?
2-ой способ транспонирования функция Excel =ТРАНСП()
Рассмотрим второй способ транспонирования, который, в отличие от первого, позволяет сохранить связь с исходными данными, — с помощью функции Excel «=ТРАНСП()»
Итак, как с помощью формулы =ТРАНСП перевернуть данные?
1. Вводим формулу (как в картинке выше) и передаем в неё ссылку на весь диапазон, который хотим перевернуть:
2. Выделяем диапазон в листе с формулой =ТРАНСП, равный массиву исходных данных (т.е равное количество строк и столбцов в перевернутом виде).
Чтобы легче было выделить массив нужного размера, рекомендую перевести стиль ссылок в вид R1C1, чтобы столбцы и строки стали номерами. Это делается в параметрах Excel -> в разделе «Формулы» -> поставить галочку «Стиль ссылок R1C1».
Например, у нас в исходных данных значения расположены со 2й по 47 строку и 3 столбца, в источнике данных мы выделим 3 строки и 46 столбцов начиная с 1-го. После того, как диапазон выделен, нажимаем на клавиатуре клавишу F2, а затем одновременно Ctrl+Shift+Enter, таким образом мы вводим формулу массива и получаем перевернутые данные с сохраненными ссылками на первоначальный диапазон.
Скачать пример транспонирования в Excel
Теперь дату преобразуем в формат «Дата», а продажи в «руб». В итоге получаем диапазон, аналогичный исходным данным, только с перевернутыми значениями и, что важно, связанный с исходными данными. Если мы будем изменять исходные данные, то автоматически они будут меняться на листе с транспонированными данными.
Аналогичным образом диапазон переворачивается и в обратную сторону.
3-ий способ транспонирования — сводная таблица
Третий способ транспонирования данных в Excel — с помощью сводной таблицы. Этот способ транспонирования работает только в одном направлении — из столбцов переворачивает данные в строки. Но его преимущество, по сравнению с предыдущими, — это возможность фильтровать данные и использовать всю мощь сводных таблиц.
Сначала необходимо сделать сводную таблицу. Выделяем исходные данные:
Заходим в меню «Вставка» и выбираем пункт «Сводная таблица», и в диалоговом окне сводной нажимаем «ОК»:
В новом листе создается сводная таблица:
В названия столбцов перетаскиваем поля «дата» и «товар», в значения перетаскиваем «объем продаж».
В меню «Конструктор» отключаем общие и промежуточные итоги. Меню «Конструктор» появляется в Excel при постановке курсора на сводную таблицу.
И получаем перевернутые данные:
Для удобства поле «Товары» мы можем перенести в область строк, и получить более рабочий вид кросс таблицы:
Мы рассмотрели 3 способа транспонирования данных.
Для того, чтобы сделать расчет с помощью программы Forecast4AC PRO, данные временного ряда необходимо представить в виде строки. Вы можете воспользоваться любым предложенным способом — программа будет работать и со сводной, и с формулами или ссылками и с обычными значениями, представленными в виде кросс таблицы!
Воспользовавшись Forecast4AC PRO в листе «3-й способ», мы построили график, на который выведена «Модель прогноза», «Исходные данные», «Границы прогноза», и «Тренд».
Точных Вам прогнозов и хорошего настроения!
Скачать пример транспонирования в Excel
Присоединяйтесь к нам!
Скачивайте бесплатные приложения для прогнозирования и бизнес-анализа:
- Novo Forecast Lite — автоматический расчет прогноза в Excel.
- 4analytics — ABC-XYZ-анализ и анализ выбросов в Excel.
- Qlik Sense Desktop и QlikView Personal Edition — BI-системы для анализа и визуализации данных.
Тестируйте возможности платных решений:
- Novo Forecast PRO — прогнозирование в Excel для больших массивов данных.
Получите 10 рекомендаций по повышению точности прогнозов до 90% и выше.
Зарегистрируйтесь и скачайте решения Статья полезная? Поделитесь с друзьями
Транспонирование данных в Excel – это задача, знакомая многим пользователям. Очень часто после создания сложной таблицы, становится очевидным, что эффективнее было бы развернуть её для более удобного анализа или построения диаграммы по имеющимся данным.
В этой статье Вы найдёте несколько способов преобразовать строки в столбцы (или столбцы в строки) в Excel. Эти решения работают во всех версиях Excel (2013, 2010, 2007 и более ранних), охватывают множество возможных сценариев, объясняют наиболее типичные ошибки и показывают хорошие примеры использования в Excel формул для транспонирования.
Преобразуем строки в столбцы в Excel при помощи Специальной вставки
Предположим, Вы создали таблицу на листе Excel, похожую на ту, что показана в верхней части рисунка, расположенного ниже. Названия стран распределены по столбцам, но список стран может оказаться очень длинным, поэтому нам будет гораздо удобнее преобразовать столбцы в строки, чтобы таблица уместилась на экране.
- Выделите строки и столбцы, которые требуется поменять местами. Если Вы хотите развернуть всю таблицу целиком, т.е. все ячейки с данными на листе, нажмите Ctrl+Home, а затем Ctrl+Shift+End.
- Скопируйте выделенные ячейки. Для этого на выбор:
- кликните по ним правой кнопкой мыши и выберите Copy (Копировать) в контекстном меню.
- нажмите Ctrl+C.
- нажмите кнопку Copy (Копировать) на вкладке Home (Главная) в разделе Clipboard (Буфер обмена).
- Выделите первую ячейку диапазона, в который Вы собираетесь скопировать транспонированные данные.
Замечание: Важно выбрать ячейку, которая находится за пределами диапазона исходных данных, чтобы скопированная область и область вставки не пересеклись. Например, если исходные данные состоят из 4 столбцов и 10 строк, то транспонированная таблица будет состоять из 10 столбцов и 4 строк.
- Вставьте скопированные данные при помощи команды Paste Special (Специальная вставка) > Transpose (Транспонировать). Вы можете открыть диалоговое окно Paste Special (Специальная вставка) тремя способами:
- На вкладке Home (Главная) в разделе Clipboard (Буфер обмена), нажмите маленькую чёрную стрелку под кнопкой Paste (Вставить) и выберите команду Transpose (Транспонировать).
- Кликните правой кнопкой мыши по ячейке, в которую нужно вставить данные, и в контекстном меню выберите Paste Special (Специальная вставка) > Transpose (Транспонировать).
- (наконец, самый быстрый способ) Нажмите Ctrl+Alt+V, выберите опцию Transpose (Транспонировать) и кликните ОК.
Замечание: Если Вы транспонируете ячейки, содержащие формулы, убедитесь, что во всех этих ячейках использованы абсолютные ссылки (со знаком $). Это необходимо, поскольку формулы также будут транспонированы, а ссылки на ячейки автоматически обновлены.
Как Вы только что увидели, опция Transpose (Транспонировать) в Excel позволяет преобразовать строки в столбцы (или столбцы в строки) буквально за несколько секунд. Уверен, что этот способ очень полезен, когда требуется транспонировать таблицу один раз. Пользуясь этим методом, Вы сохраняете исходные данные, и это ещё один аргумент в его пользу.
Однако, вышеописанный метод имеет два существенных недостатка, которые не позволяют считать его идеальным решением для транспонирования данных в Excel.
- Данный инструмент не доступен при копировании / вставке полнофункциональной таблицы Excel в отличие от простого диапазона. В этом случае Вам придётся скопировать таблицу без заголовков, либо преобразовать её в диапазон, т.е. кликнуть правой кнопкой мыши по любой ячейке таблицы и в контекстном меню выбрать Table (Таблица) > Convert to Range (Преобразовать в диапазон).
- Более серьёзное ограничение этого метода состоит в том, что он создаёт копию исходных данных, и, если они изменятся, Вам придётся повторять процесс и транспонировать таблицу снова. Никто не захочет тратить своё драгоценное время на то, чтобы преобразовывать одни и те же строки и столбцы по нескольку раз. Согласны?
Как транспонировать таблицу, ссылающуюся на исходные данные
Давайте посмотрим, как можно преобразовать строки в столбцы в Excel при помощи уже знакомой нам техники Копировать > Вставить, так, чтобы транспонированные данные ссылались на исходные данные. Главное преимущество такого подхода в том, что при изменении данных в исходной таблице, транспонированная таблица обновится и отразит эти изменения.
- Скопируйте строки, которые Вы хотите преобразовать в столбцы (или столбцы, которые хотите преобразовать в строки).
- Выберите пустую ячейку на этом же или другом листе.
- Откройте диалоговое окно Paste Special (Специальная вставка), как было показано в предыдущем примере, и нажмите Paste Link (Вставить связь) в нижнем левом углу диалогового окна.Результат будет примерно таким:
- Выделите новые данные и откройте диалоговое окно Excel – Find and Replace (Найти и заменить). Вы также можете нажать сочетание Ctrl+H, чтобы сразу попасть на вкладку Replace (Заменить).
- Замените все символы равно «=» на «ххх«. На самом деле Вы можете заменить их на любые другие символы, которых нет в рассматриваемом диапазоне.Это превратит Вашу таблицу в нечто слегка пугающее (смотри рисунок ниже), но не тревожьтесь, осталось всего 2 действия, и Вы получите желаемый результат.
- Скопируйте таблицу с символами «ххх» и выполните команду Paste Special (Специальная вставка) > Transpose (Транспонировать), чтобы преобразовать столбцы в строки (или строки в столбцы).
- Снова откройте диалоговое окно Find and Replace (Найти и заменить), чтобы заменить все символы «ххх» на «=«, т.е. восстановить ссылки на исходные ячейки. Готово!
Быстрое, спокойное и элегантное решение, не так ли? Единственный недостаток этого подхода состоит в том, что в процессе выполнения форматирование исходной таблицы будет потеряно, и Вам придётся восстанавливать его вручную (далее в этом уроке я покажу быстрый способ сделать это).
Транспонируем данные в Excel при помощи формул
Если Вы не ищите лёгких путей, то можете использовать формулы для преобразования столбцов в строки и наоборот.
Преобразуем в Excel строки в столбцы при помощи функции TRANSPOSE (ТРАНСП)
Как можно понять из её названия, функция TRANSPOSE (ТРАНСП) специально разработана для транспонирования данных в Excel. Если у Вас нет большого опыта работы с формулами в Excel, и в частности с функциями массива, то, пожалуйста, внимательно следите за тем, чтобы выполнять следующие шаги в точности как написано.
В этом примере мы будем преобразовывать таблицу, в которой перечислены штаты США с данными о населении:
Во-первых, необходимо определить точное количество строк и столбцов в таблице. В нашем примере это 7 столбцов и 6 строк, включая заголовки. Запомним эти цифры и приступим к преобразованию строк в столбцы.
- Посчитайте ячейки, которые Вы хотите транспонировать. В нашем случае это 7 столбцов и 6 строк.
- Выберите пустой диапазон ячеек. Так как функция TRANSPOSE (ТРАНСП) меняет вертикальное на горизонтальное измерение диапазона, значит нужно выбрать такое количество строк и столбцов, сколько столбцов и строк соответственно имеет Ваша исходная таблица. В нашем примере мы выбираем 6 столбцов и 7 строк.
- Нажмите F2, чтобы перейти в режим редактирования.
- Запишите функцию TRANSPOSE (ТРАНСП) и укажите в скобках диапазон данных, который нужно транспонировать. В нашем случае это будет выглядеть так:
=TRANSPOSE($A$1:$G$6)
=ТРАНСП($A$1:$G$6)
Замечание: Всегда используйте абсолютные ссылки для работы с функцией TRANSPOSE (ТРАНСП).
- Нажмите Ctrl+Shift+Enter.
Замечание: Обязательно нажмите Ctrl+Shift+Enter, поскольку это формула массива. Если для ввода формулы просто нажать Enter, то она работать не будет.
Готово! Наши данные транспонированы, 7 столбцов превратились в 6 столбцов, что и требовалось получить.
Преимущества функции TRANSPOSE (ТРАНСП)
Главное преимущество функции TRANSPOSE (ТРАНСП): преобразованная таблица сохраняет связь с источником данных, т.е. какие бы изменения в исходных данных Вы ни вносили, транспонированная таблица также будет изменяться.
Недостатки функции TRANSPOSE (ТРАНСП)
- Форматирование начальной таблицы не сохранится в преобразованной таблице, как это видно на рисунке выше.
- Если какие-то ячейки начальной таблицы были пусты, то в транспонированных ячейках там будут нули.
- Вы не сможете редактировать ячейки в преобразованной таблице, поскольку функция TRANSPOSE (ТРАНСП) чрезвычайно зависима от источника данных. Если Вы сделаете попытку изменить какую-либо ячейку, то получите сообщение с предупреждением: You cannot change part of an array (Нельзя изменять часть массива).
И в завершение, какой бы хорошей и простой ни была функция TRANSPOSE (ТРАНСП), ей не хватает гибкости, и поэтому она становится не лучшим решением во многих ситуациях.
Преобразовываем строку в столбец или столбец в строку при помощи функции INDIRECT (ДВССЫЛ)
Этот метод очень похож на предыдущий. Его главное преимущество перед функцией TRANSPOSE (ТРАНСП) состоит в том, что он оставляет возможность изменять данные в транспонированной таблице, при этом сохраняя связь с исходной таблицей.
В этом примере мы будем использовать небольшую таблицу, чтобы Вы могли сосредоточить свое внимание на процессе транспонирования, а не на данных в таблице. Мы будем использовать немного замысловатую комбинацию функций INDIRECT (ДВССЫЛ) и ADDRESS (АДРЕС).
Предположим, у Вас есть данные в 4 столбцах (A – D) и в 5 строках ( – ):
- Введите формулу, показанную ниже, в верхнюю левую ячейку конечного диапазона (допустим, это будет ячейка A7), и нажмите Enter:
=INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))
=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1);СТРОКА(A1)))
Если данные начинаются не в строке с номером и не в столбце A, то потребуется немного более сложная формула:
=INDIRECT(ADDRESS(COLUMN(A1)-COLUMN($A$1)+ROW($A$1),ROW(A1)-ROW($A$1)+COLUMN($A$1)))
=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1)-СТОЛБЕЦ($A$1)+СТРОКА($A$1);СТРОКА(A1)-СТРОКА($A$1)+СТОЛБЕЦ($A$1)))
Где A1 – это левая верхняя ячейка таблицы-источника. Также обратите внимание на использование абсолютных и относительных ссылок.
- Скопируйте формулу на весь диапазон, в который Вы собираетесь поместить транспонированные данные, протянув за маркер автозаполнения в правом нижнем углу выделенной ячейки (или диапазона ячеек).
Вот и всё! В Вашей новой таблице все столбцы преобразованы в строки. Однако, транспонированные ячейки выглядят очень плоско и скучно по сравнению с исходными данными.
Но не расстраивайтесь, это вовсе не проблема. Вот как можно легко восстановить исходное форматирование:
- Скопируйте исходную таблицу.
- Выделите транспонированную таблицу.
- Кликните по выделенной области правой кнопкой мыши и в разделе Paste Options (Параметры вставки) выберите Formatting (Форматирование).
Подводя итог, метод с функцией INDIRECT (ДВССЫЛ) кажется более сложным решением задачи по преобразованию строк в столбцы, чем с функцией TRANSPOSE (ТРАНСП).
Преимущества: Вы можете спокойно редактировать любую ячейку (ячейки) в транспонированной таблице, при этом она будет оставаться связанной с таблицей-источником и будет автоматически обновляться каждый раз, когда Вы будете вносить изменения в исходные данные.
Недостатки: На самом деле, я вижу только один – форматирование исходных данных не сохраняется. Впрочем, Вы можете легко восстановить его, как это показано выше.
Теперь Вы понимаете, как работает функция INDIRECT (ДВССЫЛ), и, возможно, захотите более подробно разобраться, что на самом деле делает эта формула и почему мы использовали комбинацию с функцией ADDRESS (АДРЕС). Если технические детали Вас не интересуют, следующий раздел Вы можете пропустить.
Функции INDIRECT (ДВССЫЛ) и ADDRESS (АДРЕС) – синтаксис и логика
Функция INDIRECT (ДВССЫЛ) служит для создания непрямой ссылки на ячейку. Например, если Вы хотите поместить значение ячейки B1 в ячейку A8, то записываете в ячейку A8 следующую формулу:
=INDIRECT("B1")
=ДВССЫЛ("B1")
Но реальная сила функции INDIRECT (ДВССЫЛ) в том, что она может превратить любую текстовую строку в ссылку, в том числе строку, которую Вы создаёте при помощи других функций и значений других ячеек. Именно это мы и собираемся сейчас сделать. Если Вы поймёте это, то всё остальное поймёте с лёгкостью
Думаю, Вы помните, что в формуле мы использовали ещё 3 функции – ADDRESS (АДРЕС), COLUMN (СТОЛБЕЦ) и ROW (СТРОКА).
Функция ADDRESS (АДРЕС) используется для того, чтобы получить адрес ячейки из номеров строки и столбца, заданных Вами. Запомните: сначала строка, потом столбец. Например, АДРЕС(8;1) возвратит $A$8.
Функция COLUMN (СТОЛБЕЦ) возвращает номер столбца из заданной ссылки на ячейку. Например, СТОЛБЕЦ(A3) возвратит значение , поскольку столбец A – это первый столбец. Как не трудно догадаться, функция ROW (СТРОКА) работает точно так же, только для строк.
А теперь позвольте напомнить всю формулу, которую мы использовали для преобразования строк в столбцы на листе Excel:
=INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))
=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1);СТРОКА(A1)))
Как видите, в функции ADDRESS (АДРЕС) мы задаём сначала столбец, а затем строку, и в этом кроется весь фокус! Помните, что функция ADDRESS (АДРЕС) понимает первое число как номер строки, а второе число как номер столбца. Другими словами, функция ADDRESS (АДРЕС) берёт номер столбца, возвращённый функцией COLUMN (СТОЛБЕЦ), и превращает его в номер строки, затем берёт номер строки и превращает его в номер столбца, то есть меняет местами строки и столбцы.
Теперь, когда Вы знаете, что делает каждая функция, давайте сведём воедино логику всей формулы:
- функции COLUMN (СТОЛБЕЦ) и ROW (СТРОКА) возвращают номера столбца и строки соответственно;
- функция ADDRESS (АДРЕС) меняет местами строку и столбец;
- функция INDIRECT (ДВССЫЛ) выводит перевернутые данные в другую ячейку на листе Excel.
Совсем не страшно, правда?
Транспонируем данные при помощи макроса VBA
Не составит труда написать скрипт, который будет транспонировать строки в столбцы, при условии, что Вы достаточно хорошо владеете VBA. Если нет, то можете найти множество готовых макросов в интернете. Но если Вы работаете с большими таблицами, помните, что метод Transpose в VBA ограничен 65536 элементами. Если Ваш массив выйдет за рамки этого ограничения, то все лишние данные будут молча потеряны.
Урок подготовлен для Вас командой сайта office-guru.ru
Источник: /> Перевел: Антон Андронов
Правила перепечаткиЕще больше уроков по Microsoft Excel
Оцените качество статьи. Нам важно ваше мнение: