Как сделать ранжирование в excel

Обновлено: 04.07.2024

Действительно, наши проблемы решил бы простой фильтр, но любая сортировка по возрастанию или убыванию изменит положение данных в таблице согласно их величине. Рассмотрим вот такой пример. Имеется таблица:

Порядок магазинов изменился, но, согласно условию задачи, этого допускать нельзя. В таком случае идеально подойдёт функция РАНГ. Начиная с версии Excel 2010 были введены новые функции РАНГ.РВ и РАНГ.СР. Функция РАНГ осталась для совместимости с предыдущими версиями программы поэтому будет использоваться схожая функция РАНГ.РВ.

Главное отличие функций — РАНГ.РВ учитывает равные значения и присваивает им одинаковый ранг.

РАНГ.СР — возвращает среднее между двумя одинаковыми рангами (их порядковыми номерами).

Синтаксис формулы будет следующий:

=РАНГ.РВ(число;ссылка;порядок)
число — числовое значение для которого вычисляется ранг (обязательный аргумент);
ссылка — адрес ячейки или диапазона ячеек среди которых будет произведено ранжирование (обязательный аргумент);
порядок — порядок выставления ранга (если стоит 0 или поле останется пустым значит присвоение ранга будет по убыванию, если стоит 1, то будет производиться ранжирование по возрастанию, необязательный аргумент).

Совершим следующие действия:

В этой формуле специально закреплён диапазон от B2 до B10, чтобы можно было использовать маркер автозаполнения. Протянем за него до конца таблицы. Результат не заставит себя долго ждать.

Дальнейшую сортировку можно усложнять с помощью функций ВПР, ИНДЕКС и ПОИСКПОЗ.

Число — число, для которого определяется ранг.

Нечисловые значения в ссылке игнорируются. Числам, сохраненным в текстовом формате, ранг также не присваивается, функция воспринимает их как текст.

Порядок — число, определяющее способ упорядочения.

  • Если порядок равен 0 (нулю) или опущен, то MS EXCEL присваивает ранг=1 максимальному числу, меньшим значениям присваиваются б о льшие ранги.
  • Если порядок — любое ненулевое число, то то MS EXCEL присваивает ранг=1 минимальному числу, б о льшим значениям присваиваются б о льшие ранги.

Примечание : Начиная с MS EXCEL 2010 для вычисления ранга также используются функции РАНГ.СР() и РАНГ.РВ() . Последняя функция аналогична РАНГ() .

Определяем ранг в списке без повторов

Если список чисел находится в диапазоне A7:A11 , то формула =РАНГ(A7;$A$7:$A$11) определит ранг числа из ячейки А7 (см. файл примера ).


Т.к. аргумент порядок опущен, то MS EXCEL присвоил ранг=1 максимальному числу (50), а максимальный ранг (5 = количеству значений в списке) - минимальному (10).

Альтернативный вариант: =СЧЁТЕСЛИ($A$7:$A$11;">"&A7)+1

В столбце С приведена формула =РАНГ(A7;$A$7:$A$11;1) с рангом по возрастанию, ранг=1 присвоен минимальному числу. Альтернативный вариант: =СЧЁТЕСЛИ($A$7:$A$11;"

Если исходный список отсортировать , то ранг числа будет его позицией в списке.


Ранг по условию

Если список состоит из значений, относящихся к разным группам (например, к разным маркам машин), то ранг можно вычислить не только относительно всей совокупности данных, но и относительно данных каждой отдельной группы.


В файле примера ранг по условию (условием является принадлежность значения к групп) вычислен с помощью формулы:

В столбце А содержатся названия группы, в столбце В - значения.

Связь функций НАИБОЛЬШИЙ() / НАИМЕНЬШИЙ() и РАНГ()

Функции НАИБОЛЬШИЙ() и РАНГ() являются взаимодополняющими в том смысле, что записав формулу =НАИБОЛЬШИЙ($A$7:$A$11;РАНГ(A7;$A$7:$A$11)) мы получим тот же исходный массив A7:A11 .

Определяем ранг в списке с повторами

Если список содержит повторы , то повторяющимся значениям (выделено цветом) будет присвоен одинаковый ранг (максимальный, если использована функция РАНГ() или РАНГ.РВ() ) или среднее значение, если РАНГ.СР() ). Наличие повторяющихся чисел влияет на ранги последующих чисел. Например, если в списке целых чисел, отсортированных по возрастанию, дважды встречается число 10, имеющее ранг 5, число 11 будет иметь ранг 7 (ни одно из чисел не будет иметь ранга 6).


Иногда это не удобно и требуется, чтобы ранги не повторялись (например, при определении призовых мест, когда нельзя занимать нескольким людям одно место).

В этом нам поможет формула =РАНГ(A37;A$37:A$44)+СЧЁТЕСЛИ(A$37:A37;A37)-1


Предполагается, что исходный список с числами находится в диапазоне А37:А44 .

Примечание . В MS EXCEL 2010 добавилась функция РАНГ.РВ(число;ссылка;[порядок]) Если несколько значений имеют одинаковый ранг, возвращается наивысший ранг этого набора значений (присваивает повторяющимся числам одинаковые значения ранга). В файле примера дается пояснение работы этой функции. Также добавилась функция РАНГ.СР(число;ссылка;[порядок]) Если несколько значений имеют одинаковый ранг, возвращается среднее.

Массив рангов

Для построения некоторых сложных формул массива может потребоваться массив рангов, т.е. тот же набор рангов, но в одной ячейке.


Как видно из картинки выше, значения из диапазона В60:В67 и в ячейке D60 совпадают. Такой массив можно получить с помощью формулы =РАНГ(A60:A67;A60:A67) или с помощью формулы =СЧЁТЕСЛИ(A60:A67;">"&A60:A67)+1

Ранги по возрастанию можно получить с помощью формулы =РАНГ(A60:A67;A60:A67;1) или =СЧЁТЕСЛИ(A60:A67;" .

Привет. Если вы ведете в Экселе учет результатов соревнований, вам наверняка хотелось бы, чтобы программа сама определяла рейтинг участников. Кто на первом месте, и кто за ним. И это можно сделать очень просто, давайте посмотрим.

Для ранжирования будем использовать функцию РАНГ.РВ(число; ряд_данных; порядок). В статье по ссылке я описал, как она работает, а здесь только расскажу об аргументах функции:

  • Ряд данных – массив с результатами соревнований;
  • Число – текущее значение из Ряда данных, для которого определяется ранг;
  • Порядок – 0 (сортировка по убыванию) или 1 (по возрастанию).

Ранжирование результатов по убыванию

Вот, как это выглядит на реальном примере:


Когда ранги вычислены, можно отсортировать таблицу по возрастанию ранга для большей наглядности.

Ранжирование результатов по возрастанию


Используя такую простую функцию, вы можете легко составлять рейтинги спортивных соревнований, берите и пользуйтесь!

Рис. 3.38. Функции ранжирования появились в Excel 2010

Рис. 3.38. Функции ранжирования появились в Excel 2010

Например, если два менеджера связаны между собой, им присваивается ранг 1,вто время как третьему менеджеру присваивается ранг 2. На рис. 3.39 сравниваются результаты применения функции ранжирования сводных таблиц и функций вычисления ранга Excel.

Рис. 3.39. В сводных таблицах Excel 2010 появился новый способ обработки привязок

Рис. 3.39. В сводных таблицах Excel 2010 появился новый способ обработки привязок

Трудно сказать однозначно, какая функция ранжирования лучше, — функция ранжирования сводных таблиц или функция вычисления ранга Excel. Просто используйте данные функции там, где это целесообразно.

Читайте также: