Формула Excel: Сортировать по настраиваемому списку -

Общая формула

=SORTBY(rng,MATCH(rng,custom,0))

Резюме

Чтобы отсортировать список в произвольном порядке, вы можете объединить функцию СОРТИРОВАТЬ с функцией ПОИСКПОЗ. В показанном примере таблица сортируется по столбцу «группа» в порядке, указанном в ячейках J5: J7. Формула в D5:

=SORTBY(B5:D14,MATCH(D5:D14,custom,0))

где «custom» - именованный диапазон J5: J7, определяющий желаемый порядок сортировки.

Объяснение

В этом примере мы сортируем таблицу с 10 строками и 3 столбцами. В диапазоне J5: J7 (именованный диапазон «custom») цвета «красный», «синий» и «зеленый» перечислены в желаемом порядке сортировки. Цель состоит в том, чтобы отсортировать таблицу, используя значения в столбце «Группа» в том же настраиваемом порядке.

Функция SORTBY позволяет выполнять сортировку на основе одного или нескольких массивов «сортировки по», если измерения совместимы с исходными данными. В этом случае мы не можем использовать именованный диапазон «custom» непосредственно в SORTBY, потому что он содержит только 3 строки, а таблица содержит 10 строк.

Однако, чтобы создать массив из 10 строк, который можно использовать как массив «сортировки по», мы можем использовать функцию ПОИСКПОЗ следующим образом:

MATCH(D5:D14,custom,0)

Обратите внимание, что мы передаем значения Group в D5: D14 в качестве значений поиска и используем «custom» в качестве таблицы поиска. Результатом является такой массив:

(2;1;3;3;2;3;1;2;3;1)

Каждое значение в массиве представляет собой числовую позицию данного значения группы в «custom», поэтому представлено 10 строк. Этот массив передается в функцию SORTBY как аргумент by_array1. СОРТБИ сортирует таблицу в «красном», «синем», «зеленом» порядке и возвращает результат в виде диапазона разлива, начинающегося в ячейке D5.

Интересные статьи...