В этом руководстве показано, как использовать Функция СОРТБИ в Excel, чтобы отсортировать список значений на основе списка соответствующих значений.
Обзор функции SORTBY
Функция SORTBY является расширением функции SORT. Это упрощает порядок значений в массиве на основе значений в соответствующем массиве или диапазоне.
Чтобы использовать функцию SORTBY Excel Worksheet, выберите ячейку и введите:
(Обратите внимание, как появляются входные данные формулы)
Синтаксис и входные данные функции СОРТБИ:
= СОРТИРОВАТЬ (массив; по_массиву1; [sort_order1], [by_array2, sort_order2],…)
множество - Массив или диапазон для сортировки.
by_array1 - Массив или диапазон для сортировки.
[sort_order1] (по желанию) - Порядок использования для сортировки. 1 для восхождения, -1 для спуска. Если опущено, по умолчанию используется 1, то есть в порядке возрастания.
[byarray2] (по желанию) - Второй массив или диапазон для сортировки.
[sort_order2] (по желанию) - Порядок использования для сортировки. 1 по возрастанию, -1 по убыванию. По умолчанию - по возрастанию.
Чтобы отсортировать значения в порядке возрастания
Сортировать сотрудников по A2: A7 в порядке возрастания количества отработанных часов в B2: B7, мы вводим следующую формулу в D2:
= СОРТИРОВАТЬ (A2: B7; B2: B7)
Если мы хотим вернуть только список отсортированных сотрудников, мы вводим следующую формулу в D2:
= СОРТИРОВАТЬ (A2: A7; B2: B7)
Вы заметите, что мы установили [множество] аргумент A2: A7 поскольку нам нужен только первый столбец.
Чтобы отсортировать значения в порядке убывания
Сортировать сотрудников по A2: A7 в порядке убывания количества отработанных часов, мы вводим следующую формулу в D2:
= СОРТИРОВАТЬ (A2: B7; B2: B7; -1)
Вы заметите, что третий аргумент [Порядок сортировки] установлен на -1 чтобы отсортировать количество часов в порядке убывания. При установке на 1 формула сортирует часы в порядке возрастания, как показано в предыдущем разделе.
Чтобы отсортировать значения по нескольким столбцам
Чтобы отсортировать сотрудников по A2: A7 по второму столбцу, то есть отработанным часам, а затем по первому столбцу, то есть по сотрудникам, мы вводим следующую формулу в D2:
= СОРТИРОВАТЬ (A2: B7; B2: B7; 1; A2: A7; 1)
Проблемы
#ПРОЛИВАТЬ!
Эта ошибка возникает, когда есть значение в Spill Range, то есть в диапазоне, в котором функция SORTBY размещает свои результаты.
Чтобы исправить эту ошибку, очистите диапазон, выделенный Excel.
SORTBY Советы и хитрости
- Убедитесь, что аргументы [множество] а также [byarray] иметь одинаковое количество строк:
Это будет работать
Так не пойдет

2. В [Порядок сортировки] может быть только 1 (по возрастанию) или -1 (по убыванию), если для этого аргумента не задано значение, функция SORTBY по умолчанию выполняет сортировку в порядке возрастания.
3. Убедитесь, что ячейки под входной ячейкой пусты, чтобы избежать ошибки разлива, подробнее об ошибке разлива «здесь» - добавить ссылку на Введение в DAF.
4. SORTBY можно использовать с другими функциями динамического массива, такими как FILTER, для создания более универсальных формул.
5. Вы можете использовать функцию SORT вместо функции SORTBY для сортировки значений по другому диапазону или массиву.
= СОРТИРОВАТЬ (A2: B7,2)
Единственное ограничение здесь заключается в том, что мы должны включать столбец, который мы используем для сортировки в выводе, когда мы используем SORT.