Menu

СОРТ и СОРТПО в Excel (эксель): сортировка формулой

=СОРТ(A2:C7;3;-1) возвращает таблицу A2:C7, отсортированную по третьему столбцу от большего к меньшему, и пересортировывает её при изменении данных. СОРТПО сортирует по любому диапазону, в том числе по нескольким столбцам и в своём порядке.

Каждая таблица на этой странице живая: измените число или формулу, и она пересчитается.

=СОРТ(A2:C7;3;-1) возвращает таблицу A2:C7, отсортированную по её третьему столбцу, продажам, от большего к меньшему. Это функция СОРТ (по-английски SORT). Исходная таблица остаётся как есть; отсортированная копия разливается от ячейки с формулой и пересортировывается сама, когда меняется число. Замените C7 на 300, и Finn поднимется наверх. В таблицах формулы записаны по-английски, но их можно вводить и по-русски, с точкой с запятой, как здесь.

Продажи от большего к меньшему
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120CaraNorth200
3BenSouth80DanEast150
4CaraNorth200AnnNorth120
5DanEast150EveSouth95
6EveSouth95BenSouth80
7FinnNorth60FinnNorth60
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =СОРТ(A2:C7;3;-1)

Синтаксис СОРТ

=SORT(array, [sort_index], [sort_order], [by_col])
  • array (массив) это диапазон, который нужно отсортировать и вернуть.
  • sort_index (индекс_сортировки) это номер столбца внутри array, по которому идёт сортировка. По умолчанию 1.
  • sort_order (порядок_сортировки) равен 1 для возрастания (по умолчанию) или -1 для убывания.
  • by_col (по_столбцу) равен ЛОЖЬ (по умолчанию), чтобы сортировать строки, и ИСТИНА, чтобы сортировать столбцы слева направо.

СОРТ и СОРТПО требуют Excel 2021, Excel 2024 или Microsoft 365; старые версии показывают #ИМЯ? (по-английски #NAME?). В Google Таблицах есть обе, хотя там SORT принимает номер столбца и ИСТИНА или ЛОЖЬ парами.

По возрастанию сначала идут числа, затем текст от А до Я, затем ЛОЖЬ и ИСТИНА. Текст сравнивается без учёта регистра. Пустые ячейки в array возвращаются в результате как 0.

Как отсортировать по алфавиту в Excel

Чтобы упорядочить список на месте, щёлкните любую его ячейку и выберите Данные > Сортировка от А до Я (или от Я до А). Если у списка есть соседние столбцы, Excel отсортирует всю таблицу, и каждая строка останется целой. Для нескольких столбцов или своего списка используйте Данные > Сортировка.

Чтобы сохранить исходный порядок и получить копию по алфавиту, которая обновляется сама, используйте СОРТ без других аргументов:

Имена от A до Z
C2
ABC
1NameA to Z
2MiaAnn
3BenBen
4ZoeCara
5AnnDan
6LeoLeo
7CaraMia
8DanZoe
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =СОРТ(A2:A8)

Введите Abe в A3, и он окажется первым. =СОРТ(A2:A8;;-1) даёт обратный порядок; два разделителя подряд пропускают sort_index. Чтобы отсортировать список без повторов, сортируйте результат УНИК: =СОРТ(УНИК(A2:A8)) (см. УНИК).

СОРТПО: сортировка по столбцу, который не возвращается

СОРТ может сортировать только по столбцу возвращаемого диапазона. СОРТПО (по-английски SORTBY) принимает ключ сортировки отдельным диапазоном, поэтому можно вернуть одни имена, упорядоченные по продажам:

Имена по продажам
E2
ABCDE
1NameRegionSalesBy sales
2AnnNorth120Cara
3BenSouth80Dan
4CaraNorth200Ann
5DanEast150Eve
6EveSouth95Ben
7FinnNorth60Finn
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =СОРТПО(A2:A7;C2:C7;-1)

Результат: Cara, Dan, Ann, Eve, Ben, Finn. Синтаксис: =SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2], ...). В каждом by_array должно быть столько же строк, сколько в array, иначе СОРТПО возвращает #ЗНАЧ! (по-английски #VALUE!). Таблицы на этой странице показывают ошибки под английскими именами.

Для тройки лучших возьмите первые строки результата: =ВЗЯТЬ(СОРТПО(A2:A7;C2:C7;-1);3) возвращает Cara, Dan и Ann. ВЗЯТЬ требует Microsoft 365 или Excel 2024; в Excel 2021 используйте =ИНДЕКС(СОРТПО(A2:A7;C2:C7;-1);ПОСЛЕД(3)).

Сортировка по нескольким столбцам

Передайте СОРТПО по одной паре ключа и порядка на каждый уровень. Эта формула сортирует по региону от A до Z, а внутри каждого региона по продажам от большего к меньшему:

Регион от A до Z, затем продажи по убыванию
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120DanEast150
3BenSouth80CaraNorth200
4CaraNorth200AnnNorth120
5DanEast150FinnNorth60
6EveSouth95EveSouth95
7FinnNorth60BenSouth80
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =СОРТПО(A2:C7;B2:B7;1;C2:C7;-1)

Первым идёт East, затем три строки North в порядке Cara (200), Ann (120) и Finn (60), затем South. СОРТ может сделать то же с массивами номеров столбцов и порядков, хотя СОРТПО читается проще:

=SORT(A2:C7,{2,3},{1,-1})

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

Сортировка в своём порядке

Алфавитный порядок нужен не всегда. Чтобы отсортировать регионы как North, East, South, превратите каждый регион в его позицию в этом списке функцией ПОИСКПОЗ и сортируйте по позициям:

Сначала North, затем East, затем South
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120AnnNorth120
3BenSouth80CaraNorth200
4CaraNorth200FinnNorth60
5DanEast150DanEast150
6EveSouth95BenSouth80
7FinnNorth60EveSouth95
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.

ПОИСКПОЗ возвращает 1 для North, 2 для East и 3 для South, а СОРТПО сортирует по этим числам. Строки с одинаковым ключом сохраняют исходный порядок, поэтому строки North остаются в порядке Ann, Cara, Finn. Тем же приёмом можно сортировать месяцы или дни недели по названию: перечислите их внутри ПОИСКПОЗ в календарном порядке. Регион, которого нет в списке, получает от ПОИСКПОЗ #Н/Д (по-английски #N/A); чтобы такие строки шли последними, используйте как ключ IFERROR(MATCH(B2:B7,{"North","East","South"},0),99) (английская форма, из-за фигурных скобок).

Практика: имена по продажам

Ваша очередь
E2
ABCDE
1NameRegionSalesBy sales
2AnnNorth120
3BenSouth80
4CaraNorth200
5DanEast150
6EveSouth95
7FinnNorth60
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.

Ваша очередь: В E2 верните только имена, упорядоченные по продажам от большего к меньшему.

Функция СОРТ или кнопка «Сортировка»

Сортируют обе, но задачи у них разные:

Данные > СортировкаСОРТ и СОРТПО
Меняет исходную таблицуДаНет, результат попадает в новые ячейки
Обновляется при изменении данныхНет, нужно сортировать сноваДа
Работает в Excel 2019 и старшеДаНет
Результат можно править по ячейкамДаНет, это одна формула
Можно обернуть в другую формулуНетДа, например =ВЗЯТЬ(СОРТ(A2:C7;3;-1);3)

Кнопкой удобно один раз привести таблицу в порядок. Функция нужна для отчёта или дашборда, который должен оставаться отсортированным, пока данные меняются. Если ячейки ниже или правее формулы не пусты, функция показывает #ПЕРЕНОС! (по-английски #SPILL!) вместо отсортированного списка; очистите их, и список появится (см. ошибка #ПЕРЕНОС!).

Часто задаваемые вопросы

Как отсортировать данные формулой в Excel?

Используйте СОРТ: =СОРТ(A2:C7;3;-1) возвращает A2:C7, отсортированную по третьему столбцу от большего к меньшему. Без двух последних аргументов, =СОРТ(A2:A8), сортировка идёт по первому столбцу от меньшего к большему, а для текста от А до Я.

Чем СОРТ отличается от СОРТПО?

СОРТ сортирует по столбцу возвращаемого диапазона, выбранному по номеру. СОРТПО сортирует по любому переданному диапазону, даже такому, который не возвращается: =СОРТПО(A2:A7;C2:C7;-1) возвращает только имена, упорядоченные по продажам. СОРТПО также сразу принимает несколько ключей сортировки.

Как отсортировать список по алфавиту в Excel?

Выделите ячейку списка и выберите Данные > Сортировка от А до Я, чтобы упорядочить его на месте. Чтобы сохранить исходный список и получить отсортированную копию, которая обновляется, введите =СОРТ(A2:A8) в пустой ячейке; для обратного порядка =СОРТ(A2:A8;;-1).

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

Передайте СОРТПО две пары ключа и порядка: =СОРТПО(A2:C7;B2:B7;1;C2:C7;-1) сортирует по региону от A до Z, а внутри каждого региона по продажам от большего к меньшему.

В каких версиях Excel есть СОРТ и СОРТПО?

В Excel 2021, Excel 2024 и Microsoft 365. В Excel 2019 и старше они показывают #ИМЯ?, и сортировать там можно кнопкой «Сортировка» на вкладке «Данные».

Иллюстрация языков программирования Coddy

Учитесь программировать с Coddy

НАЧАТЬ