Формула рейтинга в excel

Функция РАНГ в Excel

Функция РАНГ в Excel

Добрый день, уважаемые подписчики и читатели блога. Сегодня мы поговорим о сортировке данных в таблицах Excel. Но сортировке не простой, а с определённым условием — менять очередность данных в таблице нельзя.

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

Если мы включаем фильтр от большего к меньшему, то порядок магазинов изменится, так как необходимо увидеть лучший и худший результаты. Выделяем заголовок таблицы, на вкладке «Главная» нажимаем кнопку «Сортировка и фильтр» далее выбираем строчку «Фильтр». Появится возможность выбирать критерии сортировки. Согласно условию выбираем сортировку «От максимального к минимальному».

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

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

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

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

=РАНГ.РВ(число;ссылка;порядок)

число — числовое значение для которого вычисляется ранг (обязательный аргумент);

ссылка — адрес ячейки или диапазона ячеек среди которых будет произведено ранжирование (обязательный аргумент);

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

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

  • добавим в нашу таблицу дополнительный столбец «Место в прибыли»;
  • вызываем мастер функций;
  • вводим в поле поиска РАНГ.РВ;
  • нажимаем «ОК»;
  • заполняем аргументы функции.

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

В аргументе функции «Порядок» был выставлен 0, поэтому ранг 1 назначен самому большому значению, 6 — самому маленькому.

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

Если появились вопросы — пишите комментарии! Всем удачи!

Как создать список Топ 10 в Excel

Сегодня мы научимся создавать список Топ 10. В качестве исходного материала мы будем использовать список продуктов с соответствующим количеством продаж по каждому продукту за выбранный период времени.

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

Пожалуйста скачайте пример по ссылке ниже, что бы было проще понять те действия, которые будут описаны ниже:

Первый этап.

Во-первых, давайте отсортируем все продажи по убыванию и выберем 10 лучших.
Для этого я решил использовать функцию НАИБОЛЬШИЙ.
Наша формула выглядит следующим образом:
=НАИБОЛЬШИЙ($C$4:$C$19;СТРОКА(ДВССЫЛ(«1:»&ЧСТРОК($C$4:$C$19)))) где C4:C19 это диапазон с количеством реализованных продуктов.
В результате мы получаем лист Топ-10 продаж. Далее, более сложная часть.

Второй этап.

Как назначить названия продуктов номерам?
Если Вы уверены, что количество проданных товаров никогда не будет одинаковым (т.е. не будет повторяющихся значений), то мы можем использовать функции ИНДЕКС и ПОИСКПОЗ для поиска соответствующего наименования продукта выбранному количеству продаж.
Наша формула может выглядеть следующим образом:
=ИНДЕКС($B$4:$B$19;ПОИСКПОЗ(F4;$C$4:$C$19;0);1) И она будет работать отлично.

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

Для первого продукта мы воспользуемся формулой:
=ИНДЕКС($B$4:$B$19;ПОИСКПОЗ(F4;$C$4:$C$19;0);1) А для последующих названий продуктов, будем использовать следующую формулу:
=ДВССЫЛ(«Лист1!»&АДРЕС(НАИМЕНЬШИЙ(ЕСЛИ(Лист1!$C$4:$C$19=F5;СТРОКА(Лист1!$B$4:$B$19);65536);СЧЁТЕСЛИ(F4:F5;F5));2)) Протягиваем эту формулу для всех оставшихся ячеек.

Читать еще:  Впр в excel как сделать

Как Вы можете видеть в приложенном файле, это решение отлично работает и дает нужный результат.

Обратите внимание на фигурные скобки перед и после формулы. Эти скобки обозначают что формула применена для массива. Что бы Вам добиться такого же результата, то внесите в ячейку формулу, а после нажмите комбинацию клавиш Ctrl+Shift+Enter.

При каждом изменении количества проданных товаров, перечень Топ-10 продаж будет автоматически перестраиваться.

Функция РАНГ() в MS EXCEL

Синтаксис

РАНГ(число;ссылка ;порядок)

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

Ссылка — ссылка на список чисел (диапазон ячеек с числами). Напрямую массив задать нельзя, формула =РАНГ(10;<10:50:30:40:50>) работать не будет. Но, если ввести формулу =РАНГ(B7;$A$7:$A$11) , то она будет работать (хотя ячейка B7 — вне списка с числами). Если в B7 содержится число вне списка с числами, то формула вернет ошибку #Н/Д.

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

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

  • Если порядок равен 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;» «&B3)+1

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

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

Функции НАИБОЛЬШИЙ() и РАНГ() являются взаимодополняющими в том смысле, что записав формулу =НАИБОЛЬШИЙ($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;» Похожие задачи

Примеры функции РАНГ для ранжирования списков по условию в Excel

Функция РАНГ() при применении возвращает в виде результата номер позиции элемента в конкретно определённом списке. Сам результат представляет собой число, которое показывает, какое бы место занимал элемент в этой строке, если бы указанный диапазон был отсортирован по возрастанию или по убыванию.

Читать еще:  Формула условия в excel

Примеры использования функции РАНГ в Excel

  • — число : указание на ячейку, позицию которой необходимо вычислить;
  • — ссылка : указание на диапазон ячеек, с которыми будет производиться сравнение;
  • — порядок : значение, которое указывает на тип сортировки: 0 – сортировка по убыванию, 1 – по возрастанию.

Функция РАНГ.РВ() не отличается по работе от общей функции РАНГ(). Как и было указано выше, если программа обнаружит несколько элементов, значения которых будут равны, то присвоит им высший ранг – например, при совпадении результатов им всем будет присвоено одно место.

Функция РАНГ.СР() указывает, что при совпадении результатов им будет присвоено значение, соответствующее среднему между номерами ранжирования.

Как ранжировать список по возрастанию в Excel

Пример 1. Есть документ, в котором записаны фамилии учеников и суммы баллов по оценкам за четверть. Требуется определить ранжирование учеников по успеваемости.

Используем для ячейки C2 формулу =РАНГ(B2;$B$2:$B$7;0), для ячейки D2 – формулу =РАНГ.РВ(B2;$B$2:$B$7;0), а для ячейки E2 – формулу =РАНГ.СР(B2;$B$2:$B$7;0). Протянем все формулы на ячейки ниже.

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

В то же время функция РАНГ.СР() присвоила совпавшим ученикам среднее значение из мест, которые они могли бы занимать, если бы сумма баллов, например, была с разницей в один балл. Для второго и третьего места среднее значение – 2,5; для четвёртого и пятого – 4,5.

Ранжирование товаров по количеству в прайсе

Пример 2. Покажем удобство ранжирования на конкретном примере. Существует документ, в который сведена общая отчётность компьютерного магазина с количеством товаров. Требуется определить ранжирование товаров по их количеству, а также составить таблицу для наглядности, которая будет изменяться с изменением отчётности.

Добавим колонку ранжирования и в ячейку C2 впишем следующую формулу: =РАНГ.РВ($B2;$B$2:$B$10;0). Протянем эту формулу вниз и получим следующий результат распределения мест:

Теперь нам потребуются три дополнительные колонки для создания удобной для восприятия таблицы. В первой колонке у нас будет записаны порядковые номера, во второй – отображены наименования товара, в третьей – их количество. Для того, чтобы таблица работала корректно и обновляла значения при их изменении в колонках А и B, применим к ячейке F2 формулу:

а к ячейке G2 – формулу:

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

Расчет рейтинга продавцов по количеству продаж в Excel

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

В качестве шапки для сортировки мы будем использовать клетку H1. Выделим её и перейдём в меню «ДАННЫЕ — Работа с данными — Проверка данных».

В окне «Проверка вводимых значений» в качестве типа данных выберем «Список» и укажем диапазон ячеек, в которых записаны месяцы. Так будет реализовано выпадающее меню со списком месяцев для удобства ранжирования. Диапазон выглядит следующим образом: =$B$1:$G$1.

Для ячейки H2 требуется определить формулу. Добавим в функцию РАНГ.СР() её обязательные элементы. Для этого включим в качестве аргумента число функцию ИНДЕКС(), где в аргументе массив определим общий диапазон интересующих нас данных в виде значения $B$2:$G$5. В качестве аргумента номер_строки функции укажем 0, а в качестве аргумента номер_столбца – функцию ПОИСКПОЗ().

Читать еще:  Ряд функция в excel

Для того, чтобы функция ПОИСКПОЗ() работала корректно, укажем на диапазон, который будет интересовать нас при выборе месяца. Аргументы этой функции будут выглядеть следующим образом: $H$1;$B$1:$G$1;0, где $H$1 – ячейка с выбором месяца, значение которого будет искаться в диапазоне $B$1:$G$1 с полным соответствием.

В качестве аргумента ссылка функции РАНГ.СР() будет использована функция СМЕЩ(), позволяющая возвращать ссылку на ячейку, находящуюся в некотором известном отдалении от указываемой ячейки. Проще говоря, мы указываем ячейку $B$2 как основу, а затем, не смещая её по строкам, указываем с помощью уже известной функции ПОИСКПОЗ() с аргументами $H$1;$B$1:$G$1;0. Добавим ко второму аргументу функции СМЕЩ() значение «-1», т.к. для первой строки нам понадобится значение 0, для второй – 1 и т.д.

Для записи необязательного, но в нашем случае важного аргумента высота воспользуемся простой функцией СЧЁТЗ(), которая поможет подсчитать количество ячеек, заполненных в диапазоне $B$2:$B$5. В качестве аргумента ширина укажем значение «1».

Таким образом, итоговая формула для ячейки H2 будет выглядеть следующим образом:

Как видно, в диапазоне H2:H5 отобразилось ранжирование работников по количеству продаж оборудования за январь. Теперь мы можем, кликнув на ячейку H1, выбрать интересующий нас месяц, а таблица покажет ранжирование уже исходя из этого месяца.

РАНГ.РВ (функция РАНГ.РВ)

В этой статье описаны синтаксис формулы и использование функции РАНГ в Microsoft Excel.

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

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

Аргументы функции РАНГ.РВ описаны ниже.

Число Обязательный. Число, для которого определяется ранг.

Ссылка Обязательный. Массив чисел или ссылка на список чисел. Нечисловые значения в ссылке игнорируются.

Порядок Необязательный. Число, определяющее способ упорядочения.

Если значение аргумента «порядок» равно 0 (нулю) или опущено, ранг числа определяется в Excel так, как если бы ссылка была списком, отсортированным по убыванию.

Если значение аргумента «порядок» — любое число, кроме нуля, то ранг числа определяется в Excel так, как если бы ссылка была списком, отсортированным по возрастанию.

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

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

Поправочный коэффициент для связанных рангов = [СЧЕТ(ссылка) + 1 – РАНГ.РВ(число, ссылка, 0) – РАНГ.РВ(число, ссылка, 1)]/2.

В примере, содержащемся в книге, РАНГ.РВ(A3,A2:A6,1) равен 3. Поправочный коэффициент равен (5 + 1 – 2 – 3)/2 = 0,5, а ранг, пересмотренный с учетом связей, равен 3 + 0,5 = 3,5. Если число встречается в ссылке только один раз, поправочный коэффициент будет равен 0, поскольку РАНГ.РВ для связи не будет изменяться.

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Похожие статьи

Ссылка на основную публикацию
Похожие публикации
×
×
Adblock
detector