Функция РАНГ() при применении возвращает в виде результата номер позиции элемента в конкретно определённом списке. Сам результат представляет собой число, которое показывает, какое бы место занимал элемент в этой строке, если бы указанный диапазон был отсортирован по возрастанию или по убыванию.
Примеры использования функции РАНГ в 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, а в качестве аргумента номер_столбца – функцию ПОИСКПОЗ().
Для того, чтобы функция ПОИСКПОЗ() работала корректно, укажем на диапазон, который будет интересовать нас при выборе месяца. Аргументы этой функции будут выглядеть следующим образом: $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, выбрать интересующий нас месяц, а таблица покажет ранжирование уже исходя из этого месяца.
Содержание
- Функции ранжирования
- Способ 1: функция РАНГ.РВ
- Способ 2: функция РАНГ.СР
- Вопросы и ответы
При работе с данными часто возникает потребность выяснить, какое место занимает в совокупном перечне по величине тот или иной показатель. В статистике это называется ранжированием. В Excel имеются инструменты, которые позволяют пользователям быстро и легко произвести данную процедуру. Давайте выясним, как ими пользоваться.
Функции ранжирования
Для выполнения ранжирования в Экселе предусмотрены специальные функции. В старых версиях приложения был один оператор, предназначенный для решения этой задачи – РАНГ. В целях совместимости он оставлен в отдельной категории формул и в современных версиях программы, но в них все-таки желательно работать с более новыми аналогами, если есть такая возможность. К ним относятся статистические операторы РАНГ.РВ и РАНГ.СР. О различиях и алгоритме работы с ними мы поговорим далее.
Способ 1: функция РАНГ.РВ
Оператор РАНГ.РВ производит обработку данных и выводит в указанную ячейку порядковый номер заданного аргумента из совокупного списка. Если несколько значений имеют одинаковый уровень, то оператор выводит высший из перечня значений. Если, например, два значения будут иметь одинаковую величину, то им обоим будет присвоен второй номер, а уже следующее по величине значение будет иметь четвертый. Кстати, полностью аналогично поступает и оператор РАНГ в более старых версиях Эксель, так что данные функции можно считать идентичными.
Синтаксис этого оператора записывается следующим образом:
=РАНГ.РВ(число;ссылка;[порядок])
Аргументы «число» и «ссылка» являются обязательными, а «порядок» — необязательным. В качестве аргумента «число» нужно ввести ссылку на ту ячейку, где содержится значение, порядковый номер которого нужно узнать. Аргумент «ссылка» содержит адрес всего диапазона, который ранжируется. Аргумент «порядок» может иметь два значения – «0» и «1». В первом случае отсчет порядка идет по убывающей, а во втором – по возрастающей. Если данный аргумент не указан, то он автоматически считается программой равным нулю.
Данную формулу можно записывать вручную, в ту ячейку, где вы хотите, чтобы выводился результат обработки, но для многих пользователей удобнее задавать вводные через окно Мастера функций.
- Выделяем на листе ячейку, в которую будет выводиться результат обработки данных. Щелкаем по кнопке «Вставить функцию». Она локализуется слева от строки формул.
- Эти действия приводят к тому, что запускается окно Мастера функций. В нем представлены все (за редким исключениям) операторы, которые можно использовать для составления формул в Excel. В категории «Статистические» или «Полный алфавитный перечень» находим наименование «РАНГ.РВ», выделяем его и щелкаем по кнопке «OK».
- После указанных выше действий будет активировано окно аргументов функции. В поле «Число» следует ввести адрес той ячейки, данные в которой нужно ранжировать. Это можно сделать вручную, но удобнее выполнить тем способом, о котором пойдет речь ниже. Устанавливаем курсор в поле «Число», а затем просто выделяем нужную ячейку на листе.
После этого её адрес будет занесен в поле. Точно таким же образом заносим данные и в поле «Ссылка», только в этом случае выделяем весь диапазон, в границах которого происходит ранжирование.
Если вы хотите, чтобы ранжирование происходило от меньшего к большему, то в поле «Порядок» следует установить цифру «1». Если же нужно, чтобы порядок распределялся от большего к меньшему (а в подавляющем числе случаев именно это и требуется), то данное поле оставляем пустым.
После того, как все вышеуказанные данные внесены, жмем на кнопку «OK».
- После выполнения данных действий в предварительно указанной ячейке будет выведен порядковый номер, который имеет выбранное вами значение среди всего перечня данных.
Если вы желаете проранжировать всю указанную область, то совсем не нужно для каждого показателя вводить отдельную формулу. Прежде всего, делаем адрес в поле «Ссылка» абсолютным. Перед каждым значением координат добавляем знак доллара ($). При этом изменять значения в поле «Число» на абсолютные ни в коем случае не следует, иначе формула будет рассчитываться некорректно.
После этого нужно установить курсор в нижний правый угол ячейки, и дождаться появления маркера заполнения в виде небольшого крестика. Затем зажать левую кнопку мыши и протянуть маркер параллельно вычисляемой области.
Как видим, таким образом, формула скопируется, а ранжирование будет произведено на всем диапазоне данных.
Урок: Мастер функций в Excel
Урок: Абсолютные и относительные ссылки в Excel
Способ 2: функция РАНГ.СР
Второй функцией, которая производит операцию ранжирования в Экселе, является РАНГ.СР. В отличие от функций РАНГ и РАНГ.РВ, при совпадении значений нескольких элементов данный оператор выдает средний уровень. То есть, если два значения имеют равную величину и следуют после значения под номером 1, то им обоим будет присвоен номер 2,5.
Синтаксис РАНГ.СР очень похож на схему предыдущего оператора. Выглядит он так:
=РАНГ.СР(число;ссылка;[порядок])
Формулу можно вводить вручную или через Мастер функций. На последнем варианте мы подробнее и остановимся.
- Производим выделение ячейки на листе для вывода результата. Таким же образом, как и в предыдущий раз, переходим в Мастер функций через кнопку «Вставить функцию».
- После открытия окна Мастера функций выделяем в перечне категории «Статистические» наименование РАНГ.СР и жмем на кнопку «OK».
- Активируется окно аргументов. Аргументы у данного оператора точно такие же, как и у функции РАНГ.РВ:
- Число (адрес ячейки содержащей элемент, уровень которого следует определить);
- Ссылка (координаты диапазона, ранжирование внутри которого выполняется);
- Порядок (необязательный аргумент).
Внесение данных в поля происходит точно таким же способом, как и у предыдущего оператора. После того, когда все настройки выполнены, жмем на кнопку «OK».
- Как видим, после выполненных действий результат расчета был выведен в ячейку, отмеченную в первом пункте данной инструкции. Сам итог представляет собой место, которое занимает конкретное значение среди других величин диапазона. В отличие от результата РАНГ.РВ, итог оператора РАНГ.СР может иметь дробное значение.
- Как и в случае с предыдущей формулой, с помощью изменения ссылок с относительных на абсолютные и маркера выделения, путем автозаполнения можно проранжировать весь диапазон данных. Алгоритм действий точно такой же.
Урок: Другие статистические функции в Microsoft Excel
Урок: Как сделать автозаполнение в Эксель
Как видим, в Экселе существует две функции для определения ранжирования конкретного значения в диапазоне данных: РАНГ.РВ и РАНГ.СР. Для более старых версий программы используется оператор РАНГ, который, по сути, является полным аналогом функции РАНГ.РВ. Главное отличие формул РАНГ.РВ и РАНГ.СР состоит в том, что первая из них указывает наивысший уровень при совпадении значений, а вторая выводит средний показатель в виде десятичной дроби. Это единственное различие между этими операторами, но его нужно учитывать при выборе того, какой именно функцией пользователю лучше воспользоваться.
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше
В этой статье описаны синтаксис формулы и использование функции РАНГ в Microsoft Excel.
Описание
Возвращает ранг числа в списке чисел. Ранг числа — это его величина относительно других значений в списке. (Если отсортировать список, то ранг числа будет его позицией.)
Важно: Эта функция была заменена одной или несколькими новыми функциями, которые обеспечивают более высокую точность и имеют имена, лучше отражающие их назначение. Хотя эта функция все еще используется для обеспечения обратной совместимости, она может стать недоступной в последующих версиях Excel, поэтому мы рекомендуем использовать новые функции.
Дополнительные сведения о новых функциях см. в разделах Функция РАНГ.СР и Функция РАНГ.РВ.
Синтаксис
РАНГ(число;ссылка;[порядок])
Аргументы функции РАНГ описаны ниже.
-
Число Обязательный. Число, для которого определяется ранг.
-
Ссылка Обязательный. Массив или ссылка на список чисел. Нечисловые значения в ссылке игнорируются.
-
Порядок Необязательный. Число, определяющее способ упорядочения.
Если значение аргумента «порядок» равно 0 или опущено, ранг числа определяется в Microsoft Excel так, как если бы ссылка была списком, отсортированным в порядке убывания.
Если значение аргумента «порядок» — любое число, кроме нуля, то ранг числа определяется в Microsoft Excel так, как если бы ссылка была списком, отсортированным в порядке возрастания.
Замечания
-
Функция РАНГ присваивает повторяющимся числам одинаковые значения ранга. Однако наличие повторяющихся чисел влияет на ранги последующих чисел. Например, если в списке целых чисел, отсортированных по возрастанию, дважды встречается число 10, имеющее ранг 5, число 11 будет иметь ранг 7 (ни одно из чисел не будет иметь ранга 6).
-
В некоторых случаях может потребоваться определить ранг, учитывая при этом связь. В предыдущем примере можно было бы получить измененный ранг числа 5,5 для числа 10. Для этого добавьте следующий коэффициент исправления к значению, возвращаемом функцией РАНГ. Этот коэффициент исправления подходит как для случая, когда ранг вычисляется в порядке убывания (порядок = 0 или опущен) или в порядке возрастания (порядок = нелиценз).
Поправочный коэффициент для связанных рангов = [СЧЕТ(ссылка) + 1 – РАНГ(число, ссылка, 0) – РАНГ(число, ссылка, 1)]/2.
В следующем примере РАНГ(A2,A1:A5,1) равен 3. Поправочный коэффициент равен (5 + 1 – 2 – 3)/2 = 0,5, а ранг, пересмотренный с учетом связей в учетной записи, равен 3 + 0,5 = 3,5. Если то или иное число появляется в ссылке только один раз, поправочный коэффициент будет равен 0, поскольку РАНГ для связи не будет изменяться.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Данные |
||
7 |
||
3,5 |
||
3,5 |
||
1 |
||
2 |
||
Формула |
Описание (результат) |
Результат |
=РАНГ(A3;A2:A6;1) |
Ранг числа 3,5 в приведенном выше списке (3) |
3 |
=РАНГ(A2;A2:A6;1) |
Ранг числа 7 в приведенном выше списке (5) |
5 |
Нужна дополнительная помощь?
Содержание
- Синтаксис
- Что возвращает функция
- Примеры использования функции РАНГ в Excel
- Как ранжировать список по возрастанию в Excel
- Функция РАНГ.РВ
- Функция РАНГ.СР
- Функция РАНГ() в MS EXCEL
- Определяем ранг в списке без повторов
- Связь функций НАИБОЛЬШИЙ()/НАИМЕНЬШИЙ() и РАНГ()
- Определяем ранг в списке с повторами
- Массив рангов
- Как сортировать данные в таблицах Excel (правильный способ)
- Как сортировать данные в электронной таблице Excel (короткое видео)
- Примеры данных (бесплатная загрузка рабочей книги Excel)
- Простая сортировка в Excel
- Как НЕ нужно сортировать данные в Excel
- Расширенная сортировка данных Excel
Синтаксис
=RANK(number, ref, [order]) – английская версия
=РАНГ(число;ссылка;[порядок]) – русская версия
Что возвращает функция
Возвращает число, обозначающее ранг числа относительно других значений из списка.
Синтаксис функции:
РАНГ(число;ссылка;порядок)
Описание аргументов:
- — число: указание на ячейку, позицию которой необходимо вычислить;
- — ссылка: указание на диапазон ячеек, с которыми будет производиться сравнение;
- — порядок: значение, которое указывает на тип сортировки: 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.
Функция РАНГ.РВ
Оператор РАНГ.РВ производит обработку данных и выводит в указанную ячейку порядковый номер заданного аргумента из совокупного списка. Если несколько значений имеют одинаковый уровень, то оператор выводит высший из перечня значений. Если, например, два значения будут иметь одинаковую величину, то им обоим будет присвоен второй номер, а уже следующее по величине значение будет иметь четвертый. Кстати, полностью аналогично поступает и оператор РАНГ в более старых версиях Эксель, так что данные функции можно считать идентичными.
Синтаксис этого оператора записывается следующим образом:
=РАНГ.РВ(число;ссылка;[порядок])
Аргументы «число» и «ссылка» являются обязательными, а «порядок» — необязательным. В качестве аргумента «число» нужно ввести ссылку на ту ячейку, где содержится значение, порядковый номер которого нужно узнать. Аргумент «ссылка» содержит адрес всего диапазона, который ранжируется. Аргумент «порядок» может иметь два значения – «0» и «1». В первом случае отсчет порядка идет по убывающей, а во втором – по возрастающей. Если данный аргумент не указан, то он автоматически считается программой равным нулю.
Данную формулу можно записывать вручную, в ту ячейку, где вы хотите, чтобы выводился результат обработки, но для многих пользователей удобнее задавать вводные через окно Мастера функций.
- Выделяем на листе ячейку, в которую будет выводиться результат обработки данных. Щелкаем по кнопке «Вставить функцию». Она локализуется слева от строки формул.
- Эти действия приводят к тому, что запускается окно Мастера функций. В нем представлены все (за редким исключениям) операторы, которые можно использовать для составления формул в Excel. В категории «Статистические» или «Полный алфавитный перечень» находим наименование «РАНГ.РВ», выделяем его и щелкаем по кнопке «OK».
- После указанных выше действий будет активировано окно аргументов функции. В поле «Число» следует ввести адрес той ячейки, данные в которой нужно ранжировать. Это можно сделать вручную, но удобнее выполнить тем способом, о котором пойдет речь ниже. Устанавливаем курсор в поле «Число», а затем просто выделяем нужную ячейку на листе.
После этого её адрес будет занесен в поле. Точно таким же образом заносим данные и в поле «Ссылка», только в этом случае выделяем весь диапазон, в границах которого происходит ранжирование.
Если вы хотите, чтобы ранжирование происходило от меньшего к большему, то в поле «Порядок» следует установить цифру «1». Если же нужно, чтобы порядок распределялся от большего к меньшему (а в подавляющем числе случаев именно это и требуется), то данное поле оставляем пустым.
После того, как все вышеуказанные данные внесены, жмем на кнопку «OK».
- После выполнения данных действий в предварительно указанной ячейке будет выведен порядковый номер, который имеет выбранное вами значение среди всего перечня данных.
Если вы желаете проранжировать всю указанную область, то совсем не нужно для каждого показателя вводить отдельную формулу. Прежде всего, делаем адрес в поле «Ссылка» абсолютным. Перед каждым значением координат добавляем знак доллара ($). При этом изменять значения в поле «Число» на абсолютные ни в коем случае не следует, иначе формула будет рассчитываться некорректно.
После этого нужно установить курсор в нижний правый угол ячейки, и дождаться появления маркера заполнения в виде небольшого крестика. Затем зажать левую кнопку мыши и протянуть маркер параллельно вычисляемой области.
Как видим, таким образом, формула скопируется, а ранжирование будет произведено на всем диапазоне данных.
Функция РАНГ.СР
Второй функцией, которая производит операцию ранжирования в Экселе, является РАНГ.СР. В отличие от функций РАНГ и РАНГ.РВ, при совпадении значений нескольких элементов данный оператор выдает средний уровень. То есть, если два значения имеют равную величину и следуют после значения под номером 1, то им обоим будет присвоен номер 2,5.
Синтаксис РАНГ.СР очень похож на схему предыдущего оператора. Выглядит он так:
=РАНГ.СР(число;ссылка;[порядок])
Формулу можно вводить вручную или через Мастер функций. На последнем варианте мы подробнее и остановимся.
- Производим выделение ячейки на листе для вывода результата. Таким же образом, как и в предыдущий раз, переходим в Мастер функций через кнопку «Вставить функцию».
- После открытия окна Мастера функций выделяем в перечне категории «Статистические» наименование РАНГ.СР и жмем на кнопку «OK».
- Активируется окно аргументов. Аргументы у данного оператора точно такие же, как и у функции РАНГ.РВ:
- Число (адрес ячейки содержащей элемент, уровень которого следует определить);
- Ссылка (координаты диапазона, ранжирование внутри которого выполняется);
- Порядок (необязательный аргумент).
Внесение данных в поля происходит точно таким же способом, как и у предыдущего оператора. После того, когда все настройки выполнены, жмем на кнопку «OK».
- Как видим, после выполненных действий результат расчета был выведен в ячейку, отмеченную в первом пункте данной инструкции. Сам итог представляет собой место, которое занимает конкретное значение среди других величин диапазона. В отличие от результата РАНГ.РВ, итог оператора РАНГ.СР может иметь дробное значение.
- Как и в случае с предыдущей формулой, с помощью изменения ссылок с относительных на абсолютные и маркера выделения, путем автозаполнения можно проранжировать весь диапазон данных. Алгоритм действий точно такой же.
Как видим, в Экселе существует две функции для определения ранжирования конкретного значения в диапазоне данных: РАНГ.РВ и РАНГ.СР. Для более старых версий программы используется оператор РАНГ, который, по сути, является полным аналогом функции РАНГ.РВ. Главное отличие формул РАНГ.РВ и РАНГ.СР состоит в том, что первая из них указывает наивысший уровень при совпадении значений, а вторая выводит средний показатель в виде десятичной дроби. Это единственное различие между этими операторами, но его нужно учитывать при выборе того, какой именно функцией пользователю лучше воспользоваться.
Функция РАНГ() в MS EXCEL
Функция РАНГ(), английский вариант RANK(), возвращает ранг числа в списке чисел. Ранг числа — это его величина относительно других значений в списке. Например, в массиве {10;20;5} число 5 будет иметь ранг 1, т.
к. это наименьшее число, число 10 — ранг 2, а 20 — ранг 3 (это ранг по возрастанию, когда наименьшему значению присваивается ранг 1). Если список отсортировать, то ранг числа будет его позицией (если нет повторов).
- Синтаксис
- РАНГ(числоссылка
- Число — число, для которого определяется ранг.
Ссылка — ссылка на список чисел (диапазон ячеек с числами). Напрямую массив задать нельзя, формула =РАНГ(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 задача простая, и приложение, безусловно, упрощает сортировку. Однако, более важно то, как вы можете отсортировать и изменить порядок данных в ваших листах. Вот три метода сортировки данных Excel, о которых вы узнаете:
- Сортировка данных всего в несколько кликов
- Установка нескольких, ступенчатых правил сортировки, таких как сортировка по алфавиту по состоянию, а затем по всё вместе.
- Создать полностью свои настройки сортировки, чтобы отсортировать данные с помощью любого установленного вами правила.
Как сортировать данные в электронной таблице Excel (короткое видео)
Этот скринкаст охватывает несколько методов сортировки ваших данных. Просмотрите этот трехминутный видеоролик, чтобы быстро изучить эти профессиональные техники работы Excel. Мы начнем с простой сортировки и перейдем к более продвинутым методам, чтобы вы всегда смогли отсортировать данные так, как вам нужно.
Примеры данных (бесплатная загрузка рабочей книги Excel)
В рамках этого урока я создал книгу, с которой вы можете работать, изучая сортировку данных. Загрузите книгу бесплатно и используйте её во время изучения сортировки в Excel.
Простая сортировка в Excel
Сортировка может быть очень простой, всего пара кликов для перестановки данных в ваших таблицах. Давайте узнаем как.
В книге Excel, начните с нажатия на ячейку столбца, который вы хотите отсортировать. Теперь, убедитесь, что вы находитесь на вкладке Главная на ленте Excel’я и найдите кнопку Сортировка и фильтр на самой правой стороне этой панели.
Кнопка Сортировка и фильтр обитает в самой правый части вкладки Главная.
Заметьте, что в вариантах сортировки, вы можете отсортировать текст «А до Я» или «Я до А». Эти простые варианты помогут отсортировать данные в Excel В алфавитном или обратным порядках, в зависимости от того что вы выбрали.
Когда вы сортируете данные в Excel, сортируется вся строка. По сути, выбранный вами столбец будет «ключом», который Excel использует, чтобы решить, как сортировать данные, но каждая строка это запись, которая должна оставаться сгруппированной вместе.
В зависимости от данных, которые вы выбрали, можете произвести сортировку по алфавитному или числовому порядку. Если столбцы содержат числовые данные, вы можете отсортировать в порядке от малого к большому числу, текстовые данные сортируются в алфавитном порядке.
В примере выше, варианты сортировки изменились, потому что я выбрал столбец с цифрами.
Выполнить обычную сортировку на самом деле так просто. Просто кликните по данным, выберите вариант сортировки и Excel перестроит данные в таблице.
Я отсортировал данные в этой таблице на основе клиента всего в несколько кликов.
Дельный совет: попробуйте также сортировать, щелкнув правой кнопкой мыши внутри столбца и выбрав Сортировка, а затем указать способ сортировки исходных данных.
Как НЕ нужно сортировать данные в Excel
Не менее важно узнать, о самом опасном способе сортировки данных в Excel, такой метод может испортить ваши исходные данные.
Проблема возникает если в таблице много данных, а вы случайно отсортировали только один столбец данных. Каждая строка с данными в Microsoft Excel действительно похоже на запись, которая должна быть такой же по всей строке.
Я задал цвета строкам в этом примере, чтобы мы могли убедиться, что наши данные отсортированы правильно. Цвета должны проходить полностью через каждую строку без перерывов, если данные сортируются правильно.
Большая ошибка пользователей Excel заключается в выборе только одного столбца при сортировке и выборе неправильного параметра в следующем окне.
Excel даже пытается предупредить нас, показывая окно Обнаруженны данные вне указанного диапазона. Во всплывающем окне можно выбрать автоматически расширить выделенный диапазон (выберите это!) и сортировать в пределах указанного выделения.
Я всегда думал, что варианты, которые дает вам это окно, не совсем ясны. Просто знайте, что вы захотите использовать автоматически расширить выделенный диапазон, чтобы убедиться, что Excel затронет все столбцы при сортировке данных.
Для тестирования давайте посмотрим, что произойдет, если мы выберем один столбец и выберем тип сортировки сортировать в пределах указанного выделения.
Использование вариант сортировать в приделах указанного диапазона сортирует только один столбец данных, который обязательно разрушит вашу исходную электронную таблицу.
На скриншоте ниже вы можете видеть, насколько проблематичен этот тип сортировки. Так как столбец Amount Billed был отсортирован от наименьшего до наибольшего, все остальные столбцы остались на месте. Это означает, что наши данные больше не верны.
Как вы видите из несоответствия цветов, были отсортированы только данные в столбце Amount Billed, поэтому теперь таблица некорректна.
Таким образом, при сортировке данных есть два ключевых «НЕ»:
- Не начинайте, выделив один столбец в своей электронной таблице.
- Не используйте вариант сортировать в приделах указанного диапазона, если вы работаете не с одним столбцом, убедитесь, что вы расширили выделенный диапазон.
Расширенная сортировка данных Excel
До сих пор простая сортировка позволяла нам сортировать данные однотипно. Что, если мы хотим два типа данных в нашей сортировке?
Что, если мы хотим…
- Сортировка в алфавитном порядке по состоянию, а затем по области.
- Сортировка в алфавитном порядке по имени клиента, а затем по каждому типу проекта, который мы сделали для них.
- Сортировка клиентов в список по алфавиту, а затем по количеству для каждого отдельного проекта, от наибольшего до наименьшего.
Ответ на всё это — расширенная сортировка, при которой вы можете установить несколько уровней сортировки данных. Давайте рассмотрим последний пример, используя образцы данных.
Чтобы начать работу, щелкните где-нибудь внутри своих данных и найдите параметр Сортировка и фильтр, а затем выберите Настраиваемая сортировка.
Перейдите к расширенным параметрам сортировки, выбрав Сортировка и фильтр > Настраиваемая сортировка.
В этом окне мы можем добавить несколько уровней сортировки. Начните с нажатия на раскрывающийся список рядом с Сортировка и выберите столбец, который вы хотите отсортировать.
В моем случае я выберу Client в раскрывающемся меню и оставлю значение Сортировка равным Значения, а Порядок — От А до Я. На простом языке это отсортирует электронную таблицу Excel на основе алфавитного порядка.
Теперь давайте нажмем Добавить уровень. Это создаст новую строку в параметрах сортировки и позволит нам добавить второй уровень организации.
Теперь я могу выбрать Amount billed во втором раскрывающемся списке. Комбинация этих двух правил начнется путем сортировки на основе имени клиента, а затем суммы, выставленного счёта за каждый проект.
Вы можете продолжить добавлять столько уровней, сколько хотите в это окно расширенной сортировки. Последовательность строк имеет значение, т.е. вы можете переместить строку вверх для сортировки сначала по выставленному счету, например, а затем по клиенту.
Как только мы нажмем OK, Excel отсортирует таблицу на основе правил, которые мы создали в этом окне.
Совет: Для более продвинутой сортировки попробуйте в раскрывающимся меню Сортировка изменить тип сортировки на расширенные функции, такие как сортировка на основе цвета ячейки.
Расширенная сортировка позволяет создавать два уровня организации данных в вашей таблице. Если сортировки по одному фактору недостаточно, используйте расширенную сортировку, чтобы добавить больше возможностей.
Источники
- https://excelhack.ru/funkciya-rank-rang-v-excel/
- https://exceltable.com/funkcii-excel/primery-raboty-funkcii-rang
- https://lumpics.ru/ranking-in-excel/
- https://iiorao.ru/prochee/kak-sdelat-rangi-v-excel.html
- https://iiorao.ru/excel/kak-sdelat-ranzhirovannyj-ryad-v-excel.html
Функция
РАНГ(
)
, английский вариант RANK(),
возвращает
ранг числа в списке чисел. Ранг числа — это его величина относительно других значений в списке. Например, в массиве {10;20;5} число 5 будет иметь ранг 1, т.к. это наименьшее число, число 10 — ранг 2, а 20 — ранг 3 (это ранг по возрастанию, когда наименьшему значению присваивается ранг 1). Если список отсортировать, то ранг числа будет его позицией (если нет повторов).
Синтаксис
РАНГ
(
число
;
ссылка
;порядок)
Число
— число, для которого определяется ранг.
Ссылка
— ссылка на список чисел (диапазон ячеек с числами). Напрямую массив задать нельзя, формула =РАНГ(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;»<«&A7)+1
Если исходный список
отсортировать
, то ранг числа будет его позицией в списке.
Ранг по условию
Если список состоит из значений, относящихся к разным группам (например, к разным маркам машин), то ранг можно вычислить не только относительно всей совокупности данных, но и относительно данных каждой отдельной группы.
В
файле примера
ранг по условию (условием является принадлежность значения к групп) вычислен с помощью формулы:
=СЧЁТЕСЛИМН($A$3:$A$22;A3;$B$3:$B$22;»>»&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;»<«&A60:A67)+1
.
Такой подход использется в статьях
Отбор уникальных значений с сортировкой в MS EXCEL
и
Динамическая сортировка таблицы в MS EXCEL
.
Научимся ранжировать числовые данные в Excel с помощью стандартной сортировки, а также функции РАНГ и ее частных случаях (РАНГ.РВ и РАНГ.СР), которые помогут в автоматизации сортировки.
Приветствую всех, дорогие читатели блога TutorExcel.Ru.
Задача ранжирования числовых данных постоянно возникает в работе с целью поиска наибольших или наименьших значений в списке.
В Excel с этой задачей можно справиться 2 способами: стандартным инструментом сортировки и с помощью функций.
Для примера возьмем простую таблицу со списком числовых значений, в которой в дальнейшем и будем ранжировать данные:
Сортировка данных
Начнем с самого простого и доступного варианта — сортировки.
Мы уже частично разбирали как можно структурировать данные с помощью фильтра и сортировки.
Вкратце, для сортировки необходимо выделить диапазон с данными и на панели вкладок выбрать Главная -> Редактирование -> Сортировка и фильтр, а далее указать по какому критерию нужно произвести сортировку.
В данном случае выберем Сортировка по убыванию, где значения будут расположены от большего к меньшему:
Минусом данного способа является изменение структуры исходных данных, так как в процессе сортирования данных строки и столбцы могут меняться местами, что в некоторых случаях неудобно или невозможно сделать.
Также к важным недостаткам этого варианта можно отнести отсутствие возможности автоматизировать сортировку. Поэтому каждый раз при изменении данных сортировку придется делать еще раз.
В качестве решения данной проблемы рассмотрим другой способ ранжирования, который впрочем можно рассматривать и отдельно от решения этой задачи.
Ранжирование данных
При отсутствии возможности изменения структуры документа мы можем создать дополнительный ряд данных, где будут содержаться порядковые номера исходных данных.
Получить эти порядковые номера нам поможет функция РАНГ (а также РАНГ.РВ и РАНГ.СР).
Функция РАНГ в Excel
Синтаксис и описание функции:
РАНГ(число; ссылка; [порядок])
Возвращает ранг числа в списке чисел: его порядковый номер относительно других чисел в списке.
- Число (обязательный аргумент) — число для которого вычисляется ранг;
- Ссылка (обязательный аргумент) — массив или ссылка на массив чисел;
- Порядок (необязательный аргумент) — способ упорядочения.
Если аргумент равен 0 или не указан, то значение 1 присваивается максимальному элементу в списке (условно говоря, сортируем по убыванию), в ином случае значение 1 присваивается минимальному элементу (сортируем по возрастанию).
Эта функция доступна во всех версиях Excel, однако начиная с Excel 2010 на ее замену добавлены РАНГ.РВ и РАНГ.СР, а РАНГ оставлена для совместимости с Excel 2007, давайте подробнее остановимся на их работе.
Функции РАНГ.РВ и РАНГ.СР в Excel
Синтаксис и описание функций:
РАНГ.РВ(число; ссылка; [порядок])
Возвращает ранг числа в списке чисел: его порядковый номер относительно других чисел в списке; если несколько значений имеют одинаковый ранг, возвращается высший ранг из этого набора значений.
РАНГ.СР(число; ссылка; [порядок])
Возвращает ранг числа в списке чисел: его порядковый номер относительно других чисел в списке; если несколько значений имеют одинаковый ранг, возвращается средний ранг.
Аргументы у всех трех функций одинаковые, т.е. кардинально они почти не отличаются, есть небольшие различие в деталях.
На примере исходной таблицы посмотрим как работает с данными каждая из функций:
Как мы видим отличие заключаются лишь в типе ранжирования совпадающих элементов данных.
В случае с РАНГ.РВ равным элементам присваивается высший ранг.
В нашем примере категориям Ноутбуки и Мультиварки соответствует одинаковое значение элемента — 710, который является 3 по порядку убывания, соответственно обоим значениям присваивается высший ранг — 3.
Для РАНГ.СР для этих же значений устанавливается их средний ранг, т.е. среднее между 3 и 4 порядковыми номерами — 3,5.
На этом различия между ними заканчиваются, поэтому в зависимости от ваших задач можно использовать ту или иную функцию.
Если нужно отсортировать значения по возрастанию, то в качестве аргумента Порядок нужно указать значение 1:
Автоматическая сортировка
Немного усложним задачу и представим, что нам в дальнейшем нужно составить отсортированную таблицу, которая бы автоматически обновлялась при изменении данных в исходной таблице.
Например, это можно сделать с помощью функции ВПР, или комбинации ИНДЕКС и ПОИСКПОЗ, однако в случае наличия одинаковых значений в списке мы не сможем корректно подтянуть данные и получим ошибку:
В этом случае можно воспользоваться простым приемом в виде небольшой хитрости.
Добавим к каждому значению исходной таблицы не совпадающие случайные числа близкие к нулю, к примеру, я для этих целей использую функции СТРОКА или СТОЛБЕЦ, поделенные на заведомо большую величину.
Этот шаг позволит нам получить различные числа в исходных данных, избежать совпадения рангов и ошибки при подтягивании данных:
Теперь для всех элементов таблицы (даже изначально совпадающих) определен свой индивидуальный ранг отличный от остальных, поэтому ошибок при автоматическом ранжировании данных удастся избежать.
Скачать файл с примером.
Спасибо за внимание!
Если у вас остались вопросы — пишите в комментариях.
Удачи вам и до скорых встреч на страницах блога TutorExcel.Ru!
Поделиться с друзьями:
Поиск по сайту:
17 авг. 2022 г.
читать 2 мин
Вы можете использовать следующие формулы для ранжирования значений по группам в Excel:
Формула 1: ранжирование значений по группам
=SUMPRODUCT(( $A$2:$A$13 = A2 )*( $B$2:$B$13 > B2 ))+1
Эта конкретная формула находит ранг значения в ячейке B2 , принадлежащего группе в ячейке A2 .
Эта формула присваивает ранг 1 наибольшему значению, 2 — второму наибольшему значению и т. д.
Формула 2: ранжирование значений по группам (обратный порядок)
=SUMPRODUCT(( $A$2:$A$13 = A2 )*( $B$2:$B$13 < B2 ))+1
Эта конкретная формула находит обратный ранг значения в ячейке B2 , принадлежащего группе в ячейке A2 .
Эта формула присваивает ранг 1 наименьшему значению, 2 — второму наименьшему значению и т. д.
В следующих примерах показано, как использовать каждую формулу в Excel.
Пример 1. Ранжирование значений по группам в Excel
Предположим, у нас есть следующий набор данных в Excel, который показывает очки, набранные баскетболистами в разных командах:
Мы можем использовать следующую формулу для ранжирования очков по командам:
=SUMPRODUCT(( $A$2:$A$13 = A2 )*( $B$2:$B$13 > B2 ))+1
Мы введем эту формулу в ячейку C2 , затем скопируем и вставим формулу в каждую оставшуюся ячейку в столбце C:
Вот как интерпретировать значения в столбце C:
- Игрок с 22 очками за Mavs занимает второе место по количеству очков среди игроков Mavericks.
- Игрок с 28 очками за Mavs занимает первое место по количеству очков среди игроков Mavericks.
- Игрок с 31 очком за «шпоры» занимает 2-е место по количеству очков среди игроков «шпор».
И так далее.
Пример 2. Ранжирование значений по группам (обратный порядок) в Excel
Еще раз предположим, что у нас есть следующий набор данных в Excel, который показывает очки, набранные баскетболистами в разных командах:
Мы можем использовать следующую формулу для ранжирования очков в обратном порядке по командам:
=SUMPRODUCT(( $A$2:$A$13 = A2 )*( $B$2:$B$13 < B2 ))+1
Мы введем эту формулу в ячейку C2 , затем скопируем и вставим формулу в каждую оставшуюся ячейку в столбце C:
Вот как интерпретировать значения в столбце C:
- Игрок с 22 очками за Mavs занимает 3-е место по наименьшему количеству очков среди игроков Mavericks.
- Игрок с 28 очками за Mavs занимает 4-е место по наименьшему количеству очков среди игроков Mavericks.
- Игрок с 31 очком за «шпоры» занимает 4-е место по наименьшему количеству очков среди игроков «шпор».
И так далее.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:
Как ранжировать элементы по нескольким критериям в Excel
Как сортировать по нескольким столбцам в Excel
Научимся ранжировать числовые данные в Excel с помощью стандартной сортировки, а также функции РАНГ и ее частных случаях (РАНГ.РВ и РАНГ.СР), которые помогут в автоматизации сортировки.
Приветствую всех, дорогие читатели блога TutorExcel.Ru.
Задача ранжирования числовых данных постоянно возникает в работе с целью поиска наибольших или наименьших значений в списке.
В Excel с этой задачей можно справиться 2 способами: стандартным инструментом сортировки и с помощью функций.
Для примера возьмем простую таблицу со списком числовых значений, в которой в дальнейшем и будем ранжировать данные:
Сортировка данных
Начнем с самого простого и доступного варианта — сортировки.
Мы уже частично разбирали как можно структурировать данные с помощью фильтра и сортировки.
Вкратце, для сортировки необходимо выделить диапазон с данными и на панели вкладок выбрать Главная -> Редактирование -> Сортировка и фильтр, а далее указать по какому критерию нужно произвести сортировку.
В данном случае выберем Сортировка по убыванию, где значения будут расположены от большего к меньшему:
Минусом данного способа является изменение структуры исходных данных, так как в процессе сортирования данных строки и столбцы могут меняться местами, что в некоторых случаях неудобно или невозможно сделать.
Также к важным недостаткам этого варианта можно отнести отсутствие возможности автоматизировать сортировку. Поэтому каждый раз при изменении данных сортировку придется делать еще раз.
В качестве решения данной проблемы рассмотрим другой способ ранжирования, который впрочем можно рассматривать и отдельно от решения этой задачи.
Ранжирование данных
При отсутствии возможности изменения структуры документа мы можем создать дополнительный ряд данных, где будут содержаться порядковые номера исходных данных.
Получить эти порядковые номера нам поможет функция РАНГ (а также РАНГ.РВ и РАНГ.СР).
Функция РАНГ в Excel
Синтаксис и описание функции:
РАНГ(число; ссылка; [порядок])
Возвращает ранг числа в списке чисел: его порядковый номер относительно других чисел в списке.
- Число(обязательный аргумент) — число для которого вычисляется ранг;
- Ссылка(обязательный аргумент) — массив или ссылка на массив чисел;
- Порядок(необязательный аргумент) — способ упорядочения. Если аргумент равен 0 или не указан, то значение 1 присваивается максимальному элементу в списке (условно говоря, сортируем по убыванию), в ином случае значение 1 присваивается минимальному элементу (сортируем по возрастанию).
Эта функция доступна во всех версиях Excel, однако начиная с Excel 2010 на ее замену добавлены РАНГ.РВ и РАНГ.СР, а РАНГ оставлена для совместимости с Excel 2007, давайте подробнее остановимся на их работе.
Функции РАНГ.РВ и РАНГ.СР в Excel
Синтаксис и описание функций:
РАНГ.РВ(число; ссылка; [порядок])
Возвращает ранг числа в списке чисел: его порядковый номер относительно других чисел в списке; если несколько значений имеют одинаковый ранг, возвращается высший ранг из этого набора значений.
РАНГ.СР(число; ссылка; [порядок])
Возвращает ранг числа в списке чисел: его порядковый номер относительно других чисел в списке; если несколько значений имеют одинаковый ранг, возвращается средний ранг.
Аргументы у всех трех функций одинаковые, т.е. кардинально они почти не отличаются, есть небольшие различие в деталях.
На примере исходной таблицы посмотрим как работает с данными каждая из функций:
Как мы видим отличие заключаются лишь в типе ранжирования совпадающих элементов данных.
В случае с РАНГ.РВ равным элементам присваивается высший ранг.
В нашем примере категориям Ноутбуки и Мультиварки соответствует одинаковое значение элемента — 710, который является 3 по порядку убывания, соответственно обоим значениям присваивается высший ранг — 3.
Для РАНГ.СР для этих же значений устанавливается их средний ранг, т.е. среднее между 3 и 4 порядковыми номерами — 3,5.
На этом различия между ними заканчиваются, поэтому в зависимости от ваших задач можно использовать ту или иную функцию.
Если нужно отсортировать значения по возрастанию, то в качестве аргумента Порядок нужно указать значение 1:
Автоматическая сортировка
Немного усложним задачу и представим, что нам в дальнейшем нужно составить отсортированную таблицу, которая бы автоматически обновлялась при изменении данных в исходной таблице.
Например, это можно сделать с помощью функции ВПР, или комбинации ИНДЕКС и ПОИСКПОЗ, однако в случае наличия одинаковых значений в списке мы не сможем корректно подтянуть данные и получим ошибку:
В этом случае можно воспользоваться простым приемом в виде небольшой хитрости.
Добавим к каждому значению исходной таблицы не совпадающие случайные числа близкие к нулю, к примеру, я для этих целей использую функции СТРОКА или СТОЛБЕЦ, поделенные на заведомо большую величину.
Этот шаг позволит нам получить различные числа в исходных данных, избежать совпадения рангов и ошибки при подтягивании данных:
Теперь для всех элементов таблицы (даже изначально совпадающих) определен свой индивидуальный ранг отличный от остальных, поэтому ошибок при автоматическом ранжировании данных удастся избежать.
Спасибо за внимание!
Если у вас остались вопросы — пишите в комментариях.
Примеры функции РАНГ для ранжирования списков по условию в 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, а в качестве аргумента номер_столбца – функцию ПОИСКПОЗ().
Для того, чтобы функция ПОИСКПОЗ() работала корректно, укажем на диапазон, который будет интересовать нас при выборе месяца. Аргументы этой функции будут выглядеть следующим образом: $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
трюки • приёмы • решения
Как в таблицах Excel ранжировать значения
Часто вычисление ранга значений из определенного диапазона данных оказывается полезным. Например, если у вас есть лист, содержащий годовые цифры продаж для торгового персонала, вы можете узнать, какой рейтинг у каждого из них, от самого высокого до самого низкого.
Если вы уже использовали функцию РАНГ, то могли заметить, что положения, выдаваемые этой функцией, не имеют связей, которые могли бы вам подойти. Например, если два значения связаны третьим местом, то функция РАНГ присвоит обоим номер 3. Вы, возможно, предпочтете назначить каждому средний ранг — другими словами, ранг 3,5 для обоих значений, поставленных на третье место.
Excel 2010 содержит новую функцию, названную РАНГ.CP, которая исправляет эту проблему. На рис. 98.1 показана таблица, где используется два метода для ранжирования значений в столбце. Первый метод (столбец С) применяет функцию РАНГ, а в столбце D задается новая функция РАНГ.СР. Диапазон В2:В16 назван Продажи.
Рис. 98.1. Ранжирование данных с помощью функции РАНГ и формул массивов
Обратите внимание на то, что два человека стоят на третьем месте. Функция РАНГ присваивает каждому из них значение 3, а функция РАНГ.CP — 3,5. Кроме того, три человека стоят на десятом месте. Функция РАНГ дает каждому из них ранг 10, а функция РАНГ.CP, с другой стороны, дает им троим ранг 11, что является средним для 10,11 и 12.
Формулы, которые используют функцию РАНГ.CP, вернут ошибку в предыдущих версиях Excel. Если вы собираетесь делиться книгой с теми, кто использует версию Excel ниже 2010, то можете задействовать формулу массива вместо функции РАНГ.СР.
Посмотрите на рис. 98.1 и введите следующую формулу массива в строку 4. Затем скопируйте ее в нижестоящие ячейки. Результат будет точно таким же, как и при использовании функции РАНГ.СР:
=СУММ(1*(B4 .
Формула массива представляет собой особый вид формулы, которая работает с внутренними массивами данных. При вводе формулы массива вы должны нажать Ctrl+Shift+Enter (а не просто Enter), чтобы указать, что это формула массива. Excel добавит фигурные скобки вокруг формулы, напоминая вам, что это формула массива. Если вы не нажмете Ctrl+Shift+Enter, формула не будет работать.
Цистит — является одним из самых распространенных воспалительных заболеваний. Чаще этим страдают женщины из-за особенностей анатомического строения, но и цистит у мужчин также встречается. Вероятность развития заболевания повышается после перенесенных воспалительных заболеваний, наличия хронических очагов инфекции в организме или любого другого состояния, способствующего угнетению иммунной системы организма, в результате нарушения пищевого режима.
MATCH
In this course:
MATCH function
Tip: Try using the new XMATCH function, an improved version of MATCH that works in any direction and returns exact matches by default, making it easier and more convenient to use than its predecessor.
The MATCH function searches for a specified item in a range of cells, and then returns the relative position of that item in the range. For example, if the range A1:A3 contains the values 5, 25, and 38, then the formula =MATCH(25,A1:A3,0) returns the number 2, because 25 is the second item in the range.
Tip: Use MATCH instead of one of the LOOKUP functions when you need the position of an item in a range instead of the item itself. For example, you might use the MATCH function to provide a value for the row_num argument of the INDEX function.
Syntax
MATCH(lookup_value, lookup_array, [match_type])
The MATCH function syntax has the following arguments:
lookup_value Required. The value that you want to match in lookup_array. For example, when you look up someone’s number in a telephone book, you are using the person’s name as the lookup value, but the telephone number is the value you want.
The lookup_value argument can be a value (number, text, or logical value) or a cell reference to a number, text, or logical value.
lookup_array Required. The range of cells being searched.
match_type Optional. The number -1, 0, or 1. The match_type argument specifies how Excel matches lookup_value with values in lookup_array. The default value for this argument is 1.
The following table describes how the function finds values based on the setting of the match_type argument.
MATCH finds the largest value that is less than or equal to lookup_value. The values in the lookup_array argument must be placed in ascending order, for example: . -2, -1, 0, 1, 2, . A-Z, FALSE, TRUE.
MATCH finds the first value that is exactly equal to lookup_value. The values in the lookup_array argument can be in any order.
MATCH finds the smallest value that is greater than or equal to lookup_value. The values in the lookup_array argument must be placed in descending order, for example: TRUE, FALSE, Z-A, . 2, 1, 0, -1, -2, . and so on.
MATCH returns the position of the matched value within lookup_array, not the value itself. For example, MATCH(«b», <«a»,»b»,»c «>,0) returns 2, which is the relative position of «b» within the array <«a»,»b»,»c»>.
MATCH does not distinguish between uppercase and lowercase letters when matching text values.
If MATCH is unsuccessful in finding a match, it returns the #N/A error value.
If match_type is 0 and lookup_value is a text string, you can use the wildcard characters — the question mark ( ?) and asterisk ( *) — in the lookup_value argument. A question mark matches any single character; an asterisk matches any sequence of characters. If you want to find an actual question mark or asterisk, type a tilde (
) before the character.
Example
Copy the example data in the following table, and paste it in cell A1 of a new Excel worksheet. For formulas to show results, select them, press F2, and then press Enter. If you need to, you can adjust the column widths to see all the data.
Ранжирование в excel
Конечно, можно ранжировать данные уже непосредственно в сводной таблице на листе Excel, однако, это не логично. Если мы работаем с моделью Power Pivot, то и все вычисления должны быть подготовлены в ней, чтобы в дальнейшем пользователь мог просто выбирать меру в отчет и не заниматься дополнительными преобразованиями.
Для ранжирования данных необходимо использовать функцию на языке DAX — RANKX:
RANKX(Table;Expression;[Value];[Order];[Ties]),
- Order – порядок ранжирования:
ASC – ранжирование по возрастанию
DESC – по убыванию
- Ties – способ определения ранга; для одинаковых значений будет определен одинаковый ранг, а следующим присвоится:
Skip – следующее значение ранга + количество предыдущих одинаковых значений
Dense – следующее значение ранга
Ранжируем товары по их суммам продаж.
Создадим меру Продажи,р:=
SUMX(‘БытоваяТехника’;
‘БытоваяТехника'[Количество, шт]*’БытоваяТехника'[Цена за шт, р])
На базе созданной меры Продажи, р для всех наименований из таблицы БытоваяТехника, определим рейтинг:
Рейтинг:=RANKX(ALL(‘БытоваяТехника'[Наименование]);[Продажи,р])
Создав отчет сводной таблицы и добавив созданные меры, получим такой результат:
Как видно, Общий итог самый молодец :).
Починим формулу, добавив логическую функцию IF и функцию фильтрации HASONEVALUE.
- HASONEVALUE(ColumnName) — позволяет определить, вычисляется ли выражение в контексте одного значения для ColumnName. Если ColumnName был отфильтрован до одного значения, то TRUE, иначе — FALSE.
Рейтинг:=IF(
HASONEVALUE(‘БытоваяТехника'[Наименование]);
RANKX(ALL(‘БытоваяТехника'[Наименование]);[Продажи,р]))
Отчет обновится, отображение результатов будет корректным:
Оставьте комментарий!
На сообщение “Ранжирование в Power Pivot” комментария 2
- Кирилл :
10.02.2020 (20:04)
Подскажите, а зачем это делать в модели, если в сводных можно получить такой же результат?
В каждой сводной таблице, нужно будет делать это снова и снова. А здесь один раз создаете и затем используете. Плюс, на перспективу — для использования в Power BI