Menu

Функция РАНГ в Excel (эксель): РАНГ.РВ и РАНГ.СР

=РАНГ.РВ(B2;$B$2:$B$7) даёт место B2 среди значений в B2:B7, где наибольшее значение получает ранг 1. Добавьте 1 третьим аргументом, чтобы первым шло наименьшее. Равные значения делят ранг; СЧЁТЕСЛИМН ранжирует внутри группы.

Каждая таблица на этой странице живая: измените число или формулу, и она пересчитается.

=РАНГ.РВ(B2;$B$2:$B$7) возвращает место B2 среди значений в B2:B7, где наибольшее значение получает ранг 1. Это функция РАНГ.РВ (по-английски RANK.EQ). Чтобы первым шло наименьшее значение, добавьте 1 третьим аргументом: =РАНГ.РВ(B2;$B$2:$B$7;1). В таблицах ниже формулы записаны по-английски, но их можно вводить и по-русски, с точкой с запятой.

Ранг продаж с обеих сторон
C2
ABCD
1NameSalesRank (high = 1)Rank (low = 1)
2Ana420034
3Ben310052
4Cleo560016
5Dan280061
6Eve490025
7Finn370043
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =РАНГ.РВ(B2;$B$2:$B$7)

У Cleo самые большие продажи, и она получает ранг 1 в столбце C и 6 в столбце D. Замените продажи Dan на 6000, и все ранги обновятся.

Синтаксис РАНГ.РВ

=RANK.EQ(number, ref, [order])
  • number (число): значение, которое нужно ранжировать, обычно ячейка в той же строке.
  • ref (ссылка): список, в котором его ранжируют. Сделайте его абсолютным ($B$2:$B$7), чтобы он был одинаковым в каждой строке при протягивании формулы вниз.
  • order (порядок): пропустите его или укажите 0 для убывания (наибольшее значение это 1), укажите 1 для возрастания (наименьшее это 1).

Текст и пустые ячейки в ref пропускаются. Если number в ref вообще нет, РАНГ.РВ возвращает #Н/Д (по-английски #N/A).

РАНГ.РВ и РАНГ.СР появились в Excel 2010. Старая функция РАНГ по-прежнему работает и даёт тот же результат, что и РАНГ.РВ; в Google Таблицах есть все три.

Одинаковые значения: РАНГ.РВ и РАНГ.СР

Когда значения равны, РАНГ.РВ даёт им всем один и тот же ранг и пропускает занятые ими места, как в спортивных результатах: два человека на втором месте, затем четвёртое. РАНГ.СР (RANK.AVG) даёт каждому из равных значений среднее мест, которые они делят.

Одинаковые баллы
C3
ABCDE
1NameScoreRANK.EQRANK.AVGUnique rank
2Ana95111
3Ben88232
4Cleo88233
5Dan76555
6Eve88234
7Finn64666
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =РАНГ.РВ(B3;$B$2:$B$7)

У Ben, Cleo и Eve по 88. РАНГ.РВ даёт всем троим 2, а Dan 5. РАНГ.СР даёт им 3, среднее мест 2, 3 и 4.

Столбец E разбивает равенство по порядку в списке: СЧЁТЕСЛИ($B$2:B2;B2) считает, сколько раз балл встретился до сих пор, сверху до этой строки (при протягивании сдвигается только конец диапазона). Первое 88 прибавляет 0, второе 1, третье 2, поэтому каждый ранг от 1 до 6 встречается ровно один раз. Этот вариант нужен, когда ранг передаётся в поиск вроде «кто на третьем месте», потому что для поиска каждый ранг должен быть уникальным.

Ранг внутри группы

Функции РАНГЕСЛИ нет. Чтобы ранжировать каждого продавца только среди коллег из того же региона, посчитайте, сколько человек в этом регионе продали больше, и прибавьте 1:

Ранг внутри каждого региона
D2
ABCD
1NameRegionSalesRank in region
2AnaNorth42003
3BenSouth31003
4CleoNorth56001
5DanSouth28004
6EveNorth49002
7FinnSouth37001
8GiaNorth39004
9HalSouth33002
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =СЧЁТЕСЛИМН($B$2:$B$9;B2;$C$2:$C$9;">"&C2)+1

Cleo лидирует в North, а Finn в South. Замените регион Ana на South: ранги North сомкнутся, а в South появится пятый человек. Для рангов по возрастанию внутри группы используйте "<"&C2. Одинаковые значения ведут себя как в РАНГ.РВ: равные значения делят ранг. Больше о подсчёте с несколькими условиями на странице СЧЁТЕСЛИМН.

Первые 3 по рангу

Столбец рангов отвечает на вопрос «какое место у этого человека»; чтобы ответить «кто на первом месте», найдите ранг поиском. С уникальными рангами в столбце C =ПРОСМОТРX(1;C2:C7;A2:A7) возвращает имя с рангом 1 (в Excel 2019 и более ранних =ИНДЕКС(A2:A7;ПОИСКПОЗ(1;C2:C7;0))). Без столбца рангов =НАИБОЛЬШИЙ(B2:B7;2) сразу возвращает второе по величине значение, а =СОРТПО(A2:B7;B2:B7;-1) выводит всю таблицу от большего к меньшему (Excel 2021 или Microsoft 365; см. СОРТ и СОРТПО).

Первые 3 имени
F2
ABCDEF
1NameSalesRankPlaceName
2Ana420031Cleo
3Ben310052Eve
4Cleo560013Ana
5Dan28006
6Eve49002
7Finn37004
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =ПРОСМОТРX(E2;$C$2:$C$7;$A$2:$A$7)

Столбец C это уникальный ранг из раздела про одинаковые значения, поэтому из-за равенства место никогда не останется пустым. F2, F3 и F4 показывают Cleo, Eve и Ana. Замените продажи Ana на 6000, и она поднимется наверх.

Попробуйте: самый быстрый бегун первым

Время на 400 м в секундах
C2
ABC
1RunnerTimeRank
2Ana58.4
3Ben55.1
4Cleo61.9
5Dan53.7
6Eve57.3
7Finn60.2
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.

Ваша очередь: В C2 определите ранг времени Ana из B2 среди всех времён в B2:B7 так, чтобы самое быстрое (наименьшее) время получило ранг 1. Формула протягивается вниз до C7, поэтому используйте абсолютные ссылки на список.

Ранг внутри класса
D2
ABCD
1StudentClassScoreRank in class
2AnaRed81
3BenRed92
4CleoBlue77
5DanRed69
6EveBlue95
7FinnRed85
8GiaBlue88
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.

Ваша очередь: В D2 определите ранг балла Ana только среди учеников её класса (столбец B), наибольший балл получает ранг 1. Формула протягивается вниз до D8.

Частая ошибка: относительный диапазон

Без знаков $ диапазон при каждом протягивании формулы сдвигается на строку вниз, поэтому каждая строка ранжируется по укороченному списку, который начинается с её собственной строки. Ранги выглядят правдоподобно, но неверны:

Диапазон сдвинулся: неверные ранги
C4
ABC
1NameSalesRank
2Ana42003
3Ben31004
4Cleo56001
5Dan28003
6Eve49001
7Finn37001
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =РАНГ.РВ(B4;B4:B9)

Щёлкните C4: её диапазон B4:B9, поэтому Cleo сравнивается только с теми, кто стоит от её строки и ниже. Eve показывает ранг 1, хотя Cleo продала больше, а Finn показывает 1, потому что сравнивается только сам с собой. Замените C2 на =RANK.EQ(B2,$B$2:$B$7) (по-русски =РАНГ.РВ(B2;$B$2:$B$7)), и весь столбец исправится. Нажмите F4, когда курсор стоит в диапазоне, чтобы добавить знаки $ (на Mac Cmd+T или Fn+F4); почему так, объясняет страница абсолютные ссылки.

Часто задаваемые вопросы

Как ранжировать числа в Excel?

Используйте =РАНГ.РВ(B2;$B$2:$B$7) и протяните формулу вниз. Наибольшее значение получает ранг 1. Оставьте знаки $ на диапазоне, чтобы он не сдвигался при протягивании.

Как ранжировать от меньшего к большему в Excel?

Добавьте 1 третьим аргументом: =РАНГ.РВ(B2;$B$2:$B$7;1). Так ранжируют время забега, цены и всё, где первым должно идти наименьшее значение.

Чем РАНГ.РВ отличается от РАНГ.СР?

Только одинаковыми значениями. Если два значения делят второе место, РАНГ.РВ даёт обоим 2, а следующему значению 4. РАНГ.СР даёт обоим 2,5, среднее мест 2 и 3.

Как получить ранг без повторов в Excel?

Добавьте нарастающий счётчик значения: =РАНГ.РВ(B2;$B$2:$B$7)+СЧЁТЕСЛИ($B$2:B2;B2)-1. Первое из двух одинаковых значений сохраняет ранг, а второе получает следующий.

Как ранжировать внутри группы в Excel?

Посчитайте значения той же группы, которые больше, и прибавьте 1: =СЧЁТЕСЛИМН($A$2:$A$9;A2;$C$2:$C$9;">"&C2)+1. Функции РАНГЕСЛИ нет.

Иллюстрация языков программирования Coddy

Учитесь программировать с Coddy

НАЧАТЬ