Как в excel перевернуть в обратном порядке

Обратный порядок элементов в списке

Банальная, на первый взгляд, задача, периодически встречающаяся в работе почти любого пользователя Microsoft Excel – расположить элементы списка в обратном порядке. При всей кажущейся простоте, здесь есть свои «фишки» — давайте разберем несколько вариантов ее решения.

Способ 1. Ручная сортировка по доп.столбцу

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

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

Способ 2. Обратный порядок формулой

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

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

reverse3.png

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

reverse4.png

В этой формуле номер последней занятой ячейки подсчитывается с помощью функции СЧЁТЗ (COUNTA), т.е. количество элементов в исходном списке может впоследствии меняться.

Минус этого варианта — в исходном списке не должно быть пустых ячеек, т.к. функция СЧЁТЗ тогда неправильно вычислит номер строки последнего элемента. Выходом может стать использование динамического именованного диапазона с автоподстройкой размеров либо хитрой формулы массива:

reverse5.png

Как легко заметить, это вариация первого способа, где диапазон взят «с запасом» сразу до сотой строки и номер строки последней заполненной ячейки задается не жестко, а вычисляется с помощью фрагмента МАКС(($A$2:$A$100<>»»)*СТРОКА($A$2:$A$100))

Каждая ячейка в диапазоне A2:A100 проверяется на заполненность с помощью выражения ($A$2:$A$100<>»»), что даст на выходе массив значений ИСТИНА и ЛОЖЬ. Затем этот массив поэлементно умножается на массив номеров строк, получаемый с помощью функции СТРОКА($A$2:$A$100). Поскольку логическую ИСТИНУ Excel интерпретирует как 1, а ЛОЖЬ – как 0, то после умножения мы получим массив номеров заполненных ячеек. А уже из него функция МАКС (MAX) выбирает самое большое число, т.е. номер последней заполненной строки.

И, само-собой, не забудьте после ввода этой формулы нажать не обычный Enter, а сочетание Ctrl+Shift+Enter, чтобы ввести ее как формулу массива.

Способ 3. Макрос

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

Нажмите сочетание Alt+F11 или кнопку Visual Basic на вкладке Разработчик (Developer). Вставьте новый пустой модуль через меню Insert — Module и скопируйте туда текст макроса:

Sub Reverse()
    Dim arrData(), n As Long

    arrData = Selection
    For Each cell In Selection
        cell.Value = arrData(UBound(arrData) - n, 1)
        n = n + 1
    Next cell
End Sub

Теперь, если выделить столбец-список с данными и запустить наш макрос с помощью сочетания Alt+F8 или команды Разработчик — Макросы (Developer — Macros), то список развернется в обратном порядке прямо в тех же ячейках, т.е. на месте.

Ссылки по теме

  • Как создать в Excel динамический именованный диапазон с автоподстройкой размеров
  • Что такое формулы массива и как их использовать
  • Хитрости сортировки в MS Excel

Просмотров: 432

Источник проблемы.  

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

Приведем пример. Мы имеем таблицу следующего вида:

Perevorot

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

Транспонирование.

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

Perevorot

В результате мы переворачиваем таблицу на 90 градусов, и ее столбцы и строки поменяются местами.Perevorot

Как это использовать для переворачивания исходных столбцов? Очень просто! После транспонирования надо пронумеровать строчки с нужными данными. В нашем случае это выглядит так.

Perevorot

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

Perevorot

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

Perevorot

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

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

Perevorot

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

Преимуществом данного способа является прежде всего простота и доступность, а также отсутствие формул и функций. Однако метод имеет и недостатки. Прежде всего это трудоемкость.  Кроме этого, имеется ограничение на количество столбцов. На листе Excel имеется только 16384 строки. Поэтому если у вас в таблице строк больше, а я сталкивался с таблицами и в 20000 строк, и в 200000 строк, и более чем в миллион строк, так вот в таком случае способ бесполезен и все-таки придется использовать формулы и функции

Используем для переворачивания функцию ИНДЕКС.

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

Perevorot

Данный способ, точнее данная составная функция, проще, чем следующие варианты из сети Интернет:

=ИНДЕКС (A$1:A$6;ЧСТРОК (A$1:A$6)+СТРОКА (A$1)-СТРОКА ()) =СМЕЩ ($A$6;(СТРОКА ()-СТРОКА ($A$1))*-1;0)

=ИНДЕКС ($A$1:$A$6;СЧЁТЗ ($A$1:$A$6)-СТРОКА ()+1)

=ИНДЕКС (A:A;СЧЁТЗ (A:A)-СТРОКА ()+1)

=ИНДЕКС (A$1:A$6;7-СТРОКА ()) {=ИНДЕКС ($A$1:$A$6;НАИБОЛЬШИЙ (СТРОКА ($A$1:$A$6)*ЕЧИСЛО ($A$1:$A$6);СТРОКА (1:1)))} это формула массива завершается ввод нажатием Ctrl+Shift+Enter.

В отличии от всего этого мы использовали только две функции. Функция ИНДЕКС извлекает значение из диапазона на пересечении указанных по номеру в таблице строки и столбца. Строка была только одна, поэтому мы и написали единицу. Номер же столбца мы нашли с помощью функции ЧИСЛСТОЛБ. Вначале она показала номер последнего столбца, а затем из=-за примененной адресации этот номер стал уменьшаться и в итоге столбцы стали разворачиваться.

Учтите, что если надо было бы поменять местами строки, то надо уже указать диапазон из одного столбца. В формуле вместо единицы на месте номера строки надо было бы указать функцию ЧСТРОК и, выделив диапазон, в адресе последней ячейки уже закрепить только строку, оставив знак доллара только перед ее номером.

Применяем функцию СМЕЩ.

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

Perevorot

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

Результат перед вами. И обратите внимание на адресацию!

Perevorot

Действия после разворачивания таблицы и итоги работы.

Теперь, когда таблица развернута в противоположном по столбцам направлении, уже можно применить в частности функцию ГПР.

В данном случае она будет выглядеть так.

Perevorot

Более подробно о функциях ВПР и ГПР мы поговорим на следующих уроках.

Наше же текущее занятие подошло к концу. Желаю всем безошибочной работы и профессионализма на практике. Помните, что многие действия могут быть выполнены гораздо проще, чем кажется вначале. Не зря еще дедушка Крылов обронил в свое время фразу: «На мудреца довольно простоты … А ларчик просто открывался…

Всем успехов и уверенности в своих силах. Экспериментируйте, будьте аккуратными и внимательным и все будет получаться и становиться простым и легким!.

Переворачиваем с помощью сортировки

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

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

 Выделяем нужные столбцы вместе с добавленной номинацией и запускаем настраиваемую сортировку. В частности, это можно сделать с вкладки «Данные». Заходим в параметры и а выбираем  вариант «Сортировать по столбцам диапазона»

Возвращаемся в настройку сортировки. В пункте «Сортировать по» указываем строку с заданным на первом этапе порядком столбцов и нажимаем ОК

Готово! Согласитесь, простой способ?

На чтение 4 мин Просмотров 1к. Опубликовано 27.04.2022

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

И да, это удивительно, но в программе нет специальной функции для этого.

Конечно же, мы можем сделать это сразу несколькими методами. Но именно своей функции для такой задачи в Excel нет.

Итак, начнём!

Содержание

  1. С помощью функции «Сортировка»
  2. По вертикали
  3. По горизонтали
  4. C помощью СОРТПО и ИНДЕКС
  5. С помощью СОРТПО
  6. С помощью ИНДЕКС
  7. С помощью Visual Basic

С помощью функции «Сортировка»

Это, наверное, самый быстрый и удобный метод.

По вертикали

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

Пошаговая инструкция:

  • Создайте столбик для расчетов (мы назовем его «Helper»);

  • Выделите табличку и щелкните на «Данные»;

  • Далее — «Сортировка»;

  • В первом параметре сортировки выберите наш столбик для расчетов;

  • А в третьем — «По убыванию»;

  • Подтвердите.

Готово! Вот результат:

После сортировки можно удалить столбик для расчетов.

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

По горизонтали

Практически тоже самое с табличками по горизонтали.

Итак, давайте рассмотрим такой пример.

Допустим, у нас есть такая табличка:

Пошаговая инструкция:

  • Создаем столбик для расчетов, только теперь это не столбик, а строка. Так как табличка у нас горизонтальная;

  • Открываем «Сортировка»;
  • Жмем «Параметры…»;

  • И выберите «Столбцы диапазона»;

  • Подтвердите;
  • В первом параметре выберите ту строку, которая является строкой для расчетов.

  • В третьем параметре — «По убыванию»;

  • Подтвердите.

Готово! Вот результат:

После сортировки можете смело удалять строку для расчетов.

C помощью СОРТПО и ИНДЕКС

Функция ИНДЕКС доступна для всех, а вот функция СОРТПО доступна только по платной подписке Office 365.

С помощью СОРТПО

Допустим, у нас есть такая табличка:

Создадим еще два столбика, с теме же заголовками. Там будет наша обработанная табличка.

Формула функции примет такой вид:

=СОРТПО($A$2:$B$12;СТРОКА(A2:A12);-1)

Сортировка происходит по данным, полученным из функции СТРОКА.

Она создает массив с порядковыми номерами строк.

А последний аргумент в функции (“-1”) говорит Excel о том, что нам нужен порядок «По убыванию».

Вот, собственно, и все!

С помощью ИНДЕКС

Мало кто пользуется Microsoft 365 и платит за подписку, но не переживайте, если вы из таких людей, то для вас есть выход!

Допустим, у нас та же табличка:

Формула примет такой вид:

=ИНДЕКС($A$2:$A$12;СТРОКА(A2:$A$12))

Что мы сделали?

Функция СТРОКА, в результате выполнения, отдает нам кол-во строчек в диапазоне ячеек.

И этот результат будет становиться меньше и меньше.

А ИНДЕКС, по номеру строки, отдает нам значение этой строки. Таким образом мы получаем порядок «По убыванию».

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

Допустим, у вас есть такая табличка:

Формула примет такой вид:

=ИНДЕКС($A$2:$B$12;СТРОКА(A2:$A$12);СТОЛБЕЦ($A$2:A2))

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

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

С помощью Visual Basic

И, как обычно, рассмотрим метод с Visual Basic.

Это решение отлично подойдет для тех, кто использует такую сортировку очень часто.

Вот нужный нам код Visual Basic:

Sub FlipVerically()     

Dim TopRow As Variant 
Dim LastRow As Variant 
Dim StartNum As Integer 
Dim EndNum As Integer   

Application.ScreenUpdating = False   

StartNum = 1 
EndNum = Selection.Rows.Count   

Do While StartNum < EndNum 
TopRow = Selection.Rows(StartNum) 
LastRow = Selection.Rows(EndNum) 
Selection.Rows(EndNum) = TopRow 
Selection.Rows(StartNum) = LastRow 
StartNum = StartNum + 1 
EndNum = EndNum - 1 
Loop   

Application.ScreenUpdating = True 
End Sub

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

Куда нужно поместить код?

Пошаговая инструкция:

  • ALT + F11;

  • Правой кнопкой мышки на любой лист -> «Insert» -> «Module»;

  • В открывшееся окошко вставьте наш код и закройте Visual Basic;

А дальше, чтобы использовать функцию — выделите табличку и нажмите «Run Macro» (или F5).

В этой статье, я рассказал вам о том, как можно отсортировать данные в обратном порядке. Мы рассмотрели как сделать это с помощью встроенной функции “Сортировка”, с помощью СОРТПО и ИНДЕКС, а также Visual Basic.

Надеюсь, эта статья оказалась полезна для вас!

Содержание:

  1. Отразить данные с помощью SORT и вспомогательного столбца
  2. Переверните данные по вертикали (обратный порядок вверх ногами)
  3. Отразить данные по горизонтали
  4. Отразить данные с помощью формул
  5. Использование функции СОРТБИ (доступно в Microsoft 365)
  6. Использование функции ИНДЕКС
  7. Перевернуть данные с помощью VBA

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

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

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

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

Итак, приступим!

Отразить данные с помощью SORT и вспомогательного столбца

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

Переверните данные по вертикали (обратный порядок вверх ногами)

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

Отразить данные в Excel - Обратный порядок данных в столбце / строке

Ниже приведены шаги, чтобы перевернуть данные по вертикали:

  1. В соседнем столбце введите «Помощник» в качестве заголовка столбца.
  2. В столбце помощника введите ряд чисел (1, 2, 3 и т. Д.). Вы можете использовать показанные здесь методы, чтобы сделать это быстро.
  3. Выберите весь набор данных, включая вспомогательный столбец
  4. Перейдите на вкладку «Данные«.
  5. Щелкните значок сортировки
  6. В диалоговом окне «Сортировка» выберите «Помощник» в раскрывающемся списке «Сортировать по».
  7. В раскрывающемся списке «Порядок» выберите «От наибольшего к наименьшему».
  8. Нажмите ОК.

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

Отразить данные в Excel - Обратный порядок данных в столбце / строке

После этого можете удалить вспомогательный столбец.

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

Отразить данные по горизонтали

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

В Excel есть возможность сортировать данные по горизонтали с помощью диалогового окна «Сортировка» (функция «Сортировать слева направо»).

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

Отразить данные в Excel - Обратный порядок данных в столбце / строке

Ниже приведены шаги для этого:

  1. В строке ниже введите «Помощник» в качестве заголовка строки.
  2. Во вспомогательной строке введите ряд чисел (1, 2, 3 и т. Д.).
  3. Выберите весь набор данных, включая вспомогательную строку
  4. Перейдите на вкладку «Данные«.
  5. Щелкните значок сортировки
  6. В диалоговом окне «Сортировка» нажмите кнопку «Параметры«.
  7. В открывшемся диалоговом окне нажмите «Сортировать слева направо».
  8. Нажмите ОК.
  9. В раскрывающемся списке «Сортировать по» выберите строку 3 (или любую другую строку, в которой есть вспомогательный столбец).
  10. В раскрывающемся списке «Порядок» выберите «От наибольшего к наименьшему».
  11. Нажмите ОК.

Вышеупомянутые шаги перевернут всю таблицу по горизонтали.

Отразить данные в Excel - Обратный порядок данных в столбце / строке

После этого вы можете удалить вспомогательную строку.

Отразить данные с помощью формул

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

В этом разделе я покажу вам, как это сделать, используя формулу СОРТБИ (если вы используете Microsoft 365) или формулу ИНДЕКС (если вы не используете Microsoft 365).

Использование функции СОРТБИ (доступно в Microsoft 365)

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

Отразить данные в Excel - Обратный порядок данных в столбце / строке

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

Отразить данные в Excel - Обратный порядок данных в столбце / строке
Отразить данные в Excel - Обратный порядок данных в столбце / строке

Теперь используйте следующую формулу под ячейкой в ​​крайнем левом заголовке:
= СОРТИРОВАТЬ ($ A $ 2: $ B $ 12; СТРОКА (A2: A12); - 1)

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

Функция ROW в этом случае вернет массив чисел, который представляет номера строк между указанным диапазоном (который в этом примере будет серией чисел, таких как 2, 3, 4 и т. Д.).

А поскольку третий аргумент этой формулы равен -1, это заставит формулу сортировать данные в порядке убывания.

Запись с наивысшим номером строки будет наверху, а запись с наименьшим номером правила — внизу, что существенно меняет порядок данных.

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

Использование функции ИНДЕКС

Если у вас нет доступа к функции СОРТИРОВКА, не беспокойтесь — вы можете использовать удивительную функцию ИНДЕКС.

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

Отразить данные в Excel - Обратный порядок данных в столбце / строке
Отразить данные в Excel - Обратный порядок данных в столбце / строке

Ниже приведена формула для этого:
= ИНДЕКС ($ A $ 2: $ A $ 12, СТРОКИ (A2: $ A $ 12))

Как работает эта формула?

В приведенной выше формуле используется функция ИНДЕКС, которая возвращает значение из ячейки на основе числа, указанного во втором аргументе.

Настоящая магия происходит во втором аргументе, где я использовал функцию ROWS.

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

Но когда он идет вниз по строкам, первая ссылка изменится на A3, а затем на A4 и так далее, в то время как вторая ссылка останется как есть, потому что я заблокировал ее и сделал ее абсолютной.

По мере того, как мы спускаемся по строкам, результат функции ROWS будет уменьшаться на 1, с 11 до 10, до 9 и так далее.

А поскольку функция ИНДЕКС возвращает нам значение на основе числа во втором аргументе, это в конечном итоге даст нам данные в обратном порядке.

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

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

Отразить данные в Excel - Обратный порядок данных в столбце / строке
Отразить данные в Excel - Обратный порядок данных в столбце / строке

Ниже приведена формула, которая сделает это за вас:
= ИНДЕКС ($ A $ 2: $ B $ 12, СТРОКИ (A2: $ A $ 12), КОЛОННЫ ($ A $ 2: A2))

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

Чтобы сделать эту формулу динамической, я использовал функцию COLUMNS, которая продолжала бы изменять значение столбца с 1 на 2 до 3, когда вы копируете его вправо.

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

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

Перевернуть данные с помощью VBA

Если перелистывание данных в Excel — это то, что вам нужно делать довольно часто, вы также можете попробовать метод VBA.

С помощью кода макроса VBA вы можете один раз скопировать и вставить его в книгу в редакторе VBA, а затем повторно использовать его снова и снова в той же книге.

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

Ниже приведен код VBA, который перевернет выбранные данные на листе по вертикали.
Sub FlipVerically () 'Code by Sumit Bansal с TrumpExcel.com Dim TopRow As Variant Dim LastRow As Variant Dim StartNum As Integer Dim EndNum as Integer Application.ScreenUpdating = False StartNum = 1 EndNum = Selection.Rows.Count Do While StartNum <EndNum TopRow = Selection.Rows (StartNum) LastRow = Selection.Rows (EndNum) Selection.Rows (EndNum) = TopRow Selection.Rows (StartNum) = LastRow StartNum = StartNum + 1 EndNum = EndNum - 1 приложение цикла. ScreenUpdating = True End Sub
Чтобы использовать этот код, вам сначала нужно выбрать набор данных, который вы хотите отменить (исключая заголовки), а затем запустить этот код.

Как работает этот код?

Приведенный выше код сначала подсчитывает общее количество строк в наборе данных и присваивает его переменной EndNum.

Затем он использует цикл Do While, в котором происходит сортировка данных.

Он сортирует эти данные, беря первую и последнюю строки и меняя их местами. Затем он переходит во вторую строку во второй последней строке и меняет их местами. Затем он переходит в третий ряд в третьем последнем ряду и так далее.

Цикл заканчивается, когда вся сортировка завершена.

Он также использует свойство Application.ScreenUpdating и устанавливает для него значение FALSE во время выполнения кода, а затем возвращает его в значение TRUE, когда код завершает работу.

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

Как пользоваться кодом?

Выполните следующие действия, чтобы скопировать и вставить этот код в редактор VB:

  1. Откройте файл Excel, в который вы хотите добавить код VBA.
  2. Удерживая клавишу ALT, нажмите клавишу F11 (вы также можете перейти на вкладку Разработчик и щелкнуть значок Visual Basic)
  3. В открывшемся редакторе Visual Basic в левой части редактора VBA будет Project Explorer. Если вы его не видите, перейдите на вкладку «Просмотр», а затем нажмите «Обозреватель проекта».
  4. Щелкните правой кнопкой мыши любой из объектов книги, в которую вы хотите добавить код.
  5. Перейдите к опции «Вставить» и нажмите «Модуль». Это добавит новый модуль в книгу
  6. Дважды щелкните значок модуля в проводнике проекта. Это откроет окно кода для этого модуля
  7. Скопируйте и вставьте приведенный выше код VBA в окно кода.

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

Выбрав данные, перейдите в редактор VB и нажмите зеленую кнопку воспроизведения на панели инструментов или выберите любую строку в коде и затем нажмите клавишу F5.

Отразить данные в Excel - Обратный порядок данных в столбце / строке

Итак, это некоторые из методов, которые вы можете использовать для переворота данных в Excel (т. Е. Обратного порядка набора данных).

Все методы, которые я рассмотрел в этом руководстве (формулы, функция СОРТИРОВКИ и VBA), можно использовать для переворота данных по вертикали и горизонтали (вам нужно будет соответствующим образом настроить формулу и код VBA для горизонтального переворота данных).

Надеюсь, вы нашли этот урок полезным.

На чтение 5 мин Опубликовано 26.01.2021

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

Содержание

  1. Транспонирование таблицы Excel специальной вставкой
  2. Как перевернуть таблицу с помощью функции
  3. Транспонирование с использованием сводной таблицы
  4. Как перевернуть один столбец функцией
  5. Заключение

Транспонирование таблицы Excel специальной вставкой

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

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

Как перевернуть таблицу Excel

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

Как перевернуть таблицу Excel

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

Как перевернуть таблицу Excel

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

Как перевернуть таблицу Excel

Как перевернуть таблицу с помощью функции

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

  1. Переходим в «Параметры» и в разделе «Работа с формулами/Формулы» ставим галочку в графе «Стиль ссылок R1C1». Это понадобится в будущем для корректной работы с формулой. Если этот шаг не будет пройден, не получится добавить массив данных в функцию.

Как перевернуть таблицу Excel

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

Обратите внимание! Если используете меню Мастер функций для поиска формул, следует открыть категорию «Ссылки и массивы». Записывая формулу вручную, обязательно ставьте в начале знак равенства.

Как перевернуть таблицу Excel

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

Как перевернуть таблицу Excel

  1. На листе с функцией выделяем ячейки в таком соотношении, в каком они окажутся после переворота. Например, в таблице-примере 7 строки и 4 столбца – это значит, что требуется выделить 4 строки и 7 столбцов.

Как перевернуть таблицу Excel

  1. Воспользуемся комбинацией клавиш, чтобы формула подействовала. Сначала нажмите F2 – если на эту кнопку установлены функции, найдите клавишу, останавливающую их срабатывание, и зажмите ее. Формула в ячейке развернется. Далее быстро нажмите три клавиши: Ctrl, Shift, Enter. В выделенном диапазоне появится перевернутая таблица.

Как перевернуть таблицу Excel

Транспонирование с использованием сводной таблицы

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

  1. Выделяем курсором исходный диапазон ячеек.
  2. Переходим на вкладку «Вставка» на панели инструментов и находим кнопку «Сводная таблица».

Как перевернуть таблицу Excel

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

Как перевернуть таблицу Excel

  1. Открываем вкладку «Конструктор» и отключаем общие и промежуточные итоги для строк и столбцов.

Как перевернуть таблицу Excel

  1. В результате получается таблица с теми же значениями, но строки и столбцы изменили свое положение.

Как перевернуть таблицу Excel

Как перевернуть один столбец функцией

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

  1. Вставляем в ячейку, с которой начнется перевернутый столбец, функцию СМЕЩ или ИНДЕКС. Можете воспользоваться этими шаблонами, но не забудьте вставить значения, соответствующие расположению ячеек в вашей таблице: =СМЕЩ($A$8;(СТРОКА($A$2)-СТРОКА());) или =ИНДЕКС($A$2:$A$8;ЧСТРОК(A2:$A$8)).
  2. Для примера воспользуемся функцией СМЕЩ – добавим ее в ячейку и нажмем Enter.

Как перевернуть таблицу Excel

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

Как перевернуть таблицу Excel

  1. Результат заполнения столбца с помощью функции ИНДЕКС выглядит так:

Как перевернуть таблицу Excel

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

Заключение

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

Оцените качество статьи. Нам важно ваше мнение:

Like this post? Please share to your friends:
  • Как в excel параметры списки в excel
  • Как в excel параметры для кнопки
  • Как в excel очищать буфер обмена vba
  • Как в excel очистить ячейки без формул
  • Как в excel очистить клетки