Возможности !SEMTools
↑ Навигация по задачам в Excel и возможностям надстройки !SEMTools ↑

СОРТ

Функция СОРТ (на английском SORT) возвращает отсортированную копию диапазона и обновляет её при каждом изменении исходных данных: =СОРТ(A2:C100;3;-1) отсортирует таблицу по третьему столбцу от большего к меньшему. Исходная таблица при этом остаётся как есть. Функция есть в Excel 2021, 2024 и Microsoft 365, а её напарница СОРТПО умеет сортировать по столбцу, которого нет в результате, и сразу по нескольким ключам.

Раздел функцийСсылки и массивы
Название на английскомSORT
Версии ExcelExcel 2021, Excel 2024, Excel для Microsoft 365 (Windows и Mac), Excel в интернете
ВолатильностьНе волатильная
Похожие функцииСОРТПО, ФИЛЬТР, УНИК, ИНДЕКС

Синтаксис функции СОРТ

=СОРТ(массив;[индекс_сортировки];[порядок_сортировки];[по_столбцу])
  • массив — что сортируем: столбец или таблица;
  • индекс_сортировки — номер столбца внутри массива, по которому сортируем; по умолчанию 1;
  • порядок_сортировки — 1 по возрастанию (по умолчанию), −1 по убыванию;
  • по_столбцу — ЛОЖЬ (по умолчанию) сортирует строки, ИСТИНА — столбцы, если данные расположены горизонтально.

Результат «разливается» вниз и вправо от ячейки с формулой. Ячейки под ней должны быть пустыми, иначе будет #ПЕРЕНОС!. Текст сортируется по алфавиту без учёта регистра, числа и даты — по величине.

Отсортировать таблицу по столбцу

Сделки по убыванию суммы
E2=СОРТ(A2:C6;3;-1)
ABCDEFG
1МенеджерГородСуммаМенеджерГородСумма
2ИвановМосква45000Орлова=СОРТ(A2:C6;3;-1)Казань51000
3ПетроваКазань38000ИвановМосква45000
4СидоровМосква27000ПетроваКазань38000
5ОрловаКазань51000СидоровМосква27000
6КимПермь12500КимПермь12500

3 — третий столбец массива (Сумма), −1 — по убыванию. Поменяйте сумму в исходной таблице, и порядок справа перестроится сам.

В английском Excel: =SORT(A2:C6,3,-1)

Без второго и третьего аргументов СОРТ сортирует по первому столбцу по возрастанию: =СОРТ(A2:C6) выстроит менеджеров по алфавиту. Отсортировать просто список, например фамилии из одного столбца, можно формулой =СОРТ(A2:A100).

Сортировка по нескольким столбцам: СОРТПО

Когда нужно упорядочить по городу, а внутри города — по сумме, удобнее СОРТПО. В ней ключи сортировки задаются диапазонами, парами «по чему; в каком порядке»:

По городу, внутри города — по сумме
E2=СОРТПО(A2:C6;B2:B6;1;C2:C6;-1)
ABCDEFG
1МенеджерГородСуммаМенеджерГородСумма
2ИвановМосква45000Орлова=СОРТПО(A2:C6;B2:B6;1;C2:C6;-1)Казань51000
3ПетроваКазань38000ПетроваКазань38000
4СидоровМосква27000ИвановМосква45000
5ОрловаКазань51000СидоровМосква27000
6КимПермь12500КимПермь12500

Сначала города по алфавиту: Казань, Москва, Пермь. Внутри Казани и Москвы строки идут по убыванию суммы.

В английском Excel: =SORTBY(A2:C6,B2:B6,1,C2:C6,-1)

Ещё один плюс СОРТПО: ключ сортировки не обязан входить в результат. =СОРТПО(A2:A6;C2:C6;-1) вернёт только фамилии, упорядоченные по сумме, а =СОРТПО(A2:A100;ДЛСТР(A2:A100);1) отсортирует список по длине текста, от коротких значений к длинным.

Топ-3 и сортировка отфильтрованных данных

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

ЗадачаФормула
Сделки Москвы по убыванию суммы=СОРТ(ФИЛЬТР(A2:C6;B2:B6="Москва");3;-1)
Три крупнейшие сделки=СОРТ(ФИЛЬТР(A2:C6;C2:C6>=НАИБОЛЬШИЙ(C2:C6;3));3;-1)
Уникальные города по алфавиту=СОРТ(УНИК(B2:B6))
Таблица по алфавиту фамилий=СОРТ(A2:C6)

Вторая формула сначала находит третью по величине сумму (38 000), оставляет строки, где сумма не меньше её, и сортирует их. Получится Орлова, Иванов, Петрова. Если суммы могут повторяться, строк окажется больше трёх — это честное поведение при равных значениях.

Почему СОРТ сортирует неправильно

  • Числа уходят в конец или стоят «вперемешку» — часть чисел сохранена как текст. При сортировке по возрастанию текст идёт после всех чисел. Лечится преобразованием текста в числа.
  • Значения с пробелом в начале оказываются первыми: « Петров» встанет раньше «Алексеева». Уберите лишние пробелы.
  • Даты в неверном порядке — это текст, похожий на дату, а не настоящая дата.
  • #ПЕРЕНОС! — результату некуда разлиться, или формула стоит внутри «умной» таблицы.
  • #ЗНАЧ! — индекс сортировки больше количества столбцов массива, например СОРТ(A2:C6;4).
  • #ИМЯ? — в Excel 2019 и раньше функции нет; используйте сортировку на вкладке «Данные».

Функция СОРТ — частые вопросы

Что делает функция СОРТ в Excel?

Возвращает отсортированную копию диапазона, которая обновляется сама: =СОРТ(A2:C100;3;-1).

Как СОРТ называется на английском?

SORT. Формула =СОРТ(A2:C6;3;-1) в английском Excel — =SORT(A2:C6,3,-1).

Как отсортировать по убыванию?

Третьим аргументом −1: =СОРТ(A2:A100;1;-1).

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

Функцией СОРТПО: =СОРТПО(A2:C6;B2:B6;1;C2:C6;-1).

Меняет ли СОРТ исходные данные?

Нет, она строит отсортированную копию рядом. Чтобы упорядочить сами строки таблицы, нужна обычная сортировка или процедура надстройки.

СОРТ и СОРТПО строят копию, а исходная таблица остаётся неотсортированной. !SEMTools сортирует прямо на месте, в том числе так, как штатная сортировка не умеет: по окончаниям слов, по количеству символов или слов в ячейке.
!SEMTools решает эту и сотни других задач в пару кликов!

Итоги: функция СОРТ в Excel

ЗадачаФормула
Список по алфавиту=СОРТ(A2:A100)
Таблица по 3-му столбцу по убыванию=СОРТ(A2:C100;3;-1)
По двум ключам=СОРТПО(A2:C100;B2:B100;1;C2:C100;-1)
По длине текста=СОРТПО(A2:A100;ДЛСТР(A2:A100);1)
Фильтр + сортировка=СОРТ(ФИЛЬТР(A2:C100;B2:B100="Москва");3;-1)
Уникальные по алфавиту=СОРТ(УНИК(B2:B100))

Надеюсь, на этой странице вы нашли то, что искали, и получили данные в нужном порядке. СОРТ хороша для отчётов, которые должны перестраиваться сами. Когда же нужно навести порядок в самой таблице, обычная сортировка данных на месте проще и не плодит копий.

Статьи, где используется СОРТ