Функция СОРТ (на английском SORT) возвращает отсортированную копию диапазона и обновляет её при каждом изменении исходных данных: =СОРТ(A2:C100;3;-1) отсортирует таблицу по третьему столбцу от большего к меньшему. Исходная таблица при этом остаётся как есть. Функция есть в Excel 2021, 2024 и Microsoft 365, а её напарница СОРТПО умеет сортировать по столбцу, которого нет в результате, и сразу по нескольким ключам.
| Раздел функций | Ссылки и массивы |
| Название на английском | SORT |
| Версии Excel | Excel 2021, Excel 2024, Excel для Microsoft 365 (Windows и Mac), Excel в интернете |
| Волатильность | Не волатильная |
| Похожие функции | СОРТПО, ФИЛЬТР, УНИК, ИНДЕКС |
Синтаксис функции СОРТ
=СОРТ(массив;[индекс_сортировки];[порядок_сортировки];[по_столбцу])
- массив — что сортируем: столбец или таблица;
- индекс_сортировки — номер столбца внутри массива, по которому сортируем; по умолчанию 1;
- порядок_сортировки — 1 по возрастанию (по умолчанию), −1 по убыванию;
- по_столбцу — ЛОЖЬ (по умолчанию) сортирует строки, ИСТИНА — столбцы, если данные расположены горизонтально.
Результат «разливается» вниз и вправо от ячейки с формулой. Ячейки под ней должны быть пустыми, иначе будет #ПЕРЕНОС!. Текст сортируется по алфавиту без учёта регистра, числа и даты — по величине.
Отсортировать таблицу по столбцу
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 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).
Сортировка по нескольким столбцам: СОРТПО
Когда нужно упорядочить по городу, а внутри города — по сумме, удобнее СОРТПО. В ней ключи сортировки задаются диапазонами, парами «по чему; в каком порядке»:
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 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)) |
Надеюсь, на этой странице вы нашли то, что искали, и получили данные в нужном порядке. СОРТ хороша для отчётов, которые должны перестраиваться сами. Когда же нужно навести порядок в самой таблице, обычная сортировка данных на месте проще и не плодит копий.