Как отсортировать данные в обратном порядке Excel

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

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

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

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

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

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

По вертикали

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

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

  • Создайте столбик для расчетов (мы назовем его «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.

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

Оцените статью, пожалуйста
Добавить комментарий