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

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

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

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

Когда участникам соревнований за успехи начисляются очки, большее их количество повышает позицию в рейтинге. В этом случае, применяют сортировку от большего к меньшему. Тогда аргумент «Порядок» должен быть равен нулю:

РАНГ.РВ(число; ряд_данных; 0)

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

Обратите внимание, что в параметре «Ряд данных» стоят знаки доллара, обозначающие абсолютную ссылку. Это нужно для того, чтобы она не изменялась при копировании. А в параметре «Число», наоборот, не нужно ставить знаки доллара, ссылка будет относительной и указывать на результат соответствующей команды. Подробнее о типах ссылок можете прочесть здесь.

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

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

Если соревнование идет не на очки, а на время, побеждает тот, кто справился быстрее. То есть ранг должен быть от меньшего к большему. Считаем так же, как и в прошлом пункте, только параметр «Порядок» равен единице:

РАНГ.РВ(число; ряд_данных; 1)

Пример:

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