Гид по технологиям

Ранжирование элементов в Excel: RANK.EQ, COUNTIF и SUMPRODUCT

9 min read Excel Обновлено 09 Jan 2026
Ранжирование в Excel: RANK.EQ, COUNTIF, SUMPRODUCT
Ранжирование в Excel: RANK.EQ, COUNTIF, SUMPRODUCT

TL;DR

RANK.EQ даёт порядковый номер элемента в массиве, но пропускает номера при дублях. Комбинации RANK.EQ+COUNTIF и формула на основе SUMPRODUCT+COUNTIF позволяют контролировать поведение при одинаковых значениях: либо не пропускать номера и при этом разделять одинаковые значения, либо присваивать одинаковые ранги без пропусков. В статье — пошаговые примеры, альтернативы, шаблоны и чек-листы.

Введение

Ranking Items With Excel Functions Cover

Ранжирование числовых значений в порядке убывания или возрастания — частая задача при аналитике в Excel. Стандартные функции RANK.EQ, RANK и RANK.AVG дают разные результаты при повторяющихся значениях. Чтобы контролировать, будут ли ранги дублироваться или номера в последовательности пропускаться, используют дополняющие приёмы: COUNTIF, SUMPRODUCT, вспомогательные столбцы, Power Query и динамические массивы.

Ниже вы найдёте подробное руководство: формулы, объяснения, когда решение не работает, альтернативы и практические проверки.

Ключевые варианты запроса (SEO-интенты)

  • как посчитать ранги в Excel
  • ранжирование с дублями в Excel
  • RANK.EQ COUNTIF SUMPRODUCT пример
  • как избежать пропуска рангов Excel

Быстрая сводка по функциям ранжирования

  • RANK.EQ — возвращает порядковый номер элемента (совместим с новыми версиями Excel).
  • RANK — устаревшая версия, оставлена для совместимости с Excel 2007 и старше.
  • RANK.AVG — при дубликатах возвращает средний ранг для всех одинаковых значений.

Важно: по умолчанию RANK.EQ ранжирует в порядке убывания; чтобы получить порядок возрастания, используйте аргумент order = 1 (или приводите данные к противоположному знаку).

Синтаксис RANK.EQ

RANK.EQ-Syntax

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

Пример: базовое применение RANK.EQ

Предположим, есть проценты десяти студентов. Применим RANK.EQ к ячейке B2:

=RANK.EQ(B2,$B$2:$B$11,0)

Example-Data-To-Calculate-Ranks

Результат показывает позицию студента среди остальных. При одинаковых процентах функция присваивает одинаковый ранг и пропускает следующий номер(ы) в последовательности — это стандартное поведение статистических рангов.

Applying-RANK.EQ-Function

Rank-Calculation-with-RANK.EQ-Function

В примере Джеймс Уокер занял 5-е место по проценту — то есть его значение пятое по величине в массиве.

Проблема: пропуск нумерации при дублях

Когда несколько элементов имеют одинаковое число, RANK.EQ даст одинаковый ранг для всех них, а следующий за ними элемент получит ранг, увеличенный на количество дублей. Пример: два человека на 2-м месте — следующий получит 4-е место, а не 3-е.

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

  1. Присваивать одинаковые ранги разным людям по какому‑то дополнительному правилу (например, порядок в таблице) — тогда номера не будут повторяться.
  2. Присваивать одинаковые ранги всем одинаковым значениям и одновременно избегать пропусков — это достигается через SUMPRODUCT+COUNTIF.

RANK.EQ + COUNTIF — убрать пропуски, но разделить дубли

Формула

=RANK.EQ(B2,$B$2:$B$11,0)+COUNTIF($B$2:B2,B2)-1

Что делает формула:

  • RANK.EQ(B2,…) даёт «стартовый» ранг по значению.
  • COUNTIF($B$2:B2,B2) считает, сколько раз текущее значение встречалось выше по списку, и сдвигает ранг вправо для последующих дублей.

Эффект: номера идут подряд, но одинаковые значения получают разные ранги (зависит от их порядка в диапазоне).

Using-RANK.EQ-with-COUNTIF-Function

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

SUMPRODUCT + COUNTIF — одинаковые ранги и отсутствие пропусков

Чтобы присвоить одинаковые ранги всем одинаковым значениям и при этом упорядочить последовательность без «провалов», используется формула на базе SUMPRODUCT.

Формула (обобщённая):

=SUMPRODUCT(($B$2:$B$11>B2)/COUNTIF($B$2:$B$11,$B$2:$B$11))+1

Или альтернативная, эквивалентная с точки зрения логики:

=1 + SUMPRODUCT(--( ($B$2:$B$11>B2) )) + SUMPRODUCT( ( $B$2:$B$11=B2) / COUNTIF($B$2:$B$11,$B$2:$B$11) ) - 1

Главная идея: SUMPRODUCT суммирует вклад каждого уникального значения выше текущего, причём доли для повторяющихся значений распределяются так, чтобы одинаковые записи получили одинаковый итоговый ранг, а последовательность рангов оставалась непрерывной.

Formula-For-Using-SUMPRODUCT-with-COUNTIF-Function

Using-SUMPRODUCT-with-COUNTIF-Function

Применив такую формулу, вы получите:

  • одинаковые значения — одинаковые ранги;
  • следующий после группы одинаковых значений — ранг без пропуска (например: 1,2,2,3,4…).

Техническая примечание: SUMPRODUCT-формулы могут быть медленнее на очень больших массивах; для больших таблиц рассмотрите Power Query или вспомогательные подсчётные столбцы.

Пример шаг за шагом (с реальной таблицей)

  1. Поместите проценты студентов в диапазон B2:B11 (исходные данные).
  2. В столбце C примените RANK.EQ для начального сравнения:
C2 = RANK.EQ(B2,$B$2:$B$11,0)
  1. В столбце D примените формулу RANK.EQ+COUNTIF, чтобы получить уникальные ранги без пропусков:
D2 = RANK.EQ(B2,$B$2:$B$11,0) + COUNTIF($B$2:B2,B2) - 1
  1. В столбце E примените формулу SUMPRODUCT+COUNTIF для сохранения одинаковых рангов и отсутствия пропусков (вставьте одну из приведённых выше формул для вашего диапазона).

  2. Протяните формулы вниз до B11.

  3. При необходимости используйте на вкладке «Данные» (Data) сортировку («Сортировка и фильтр») для упорядочивания строк по рангу.

Arranging-Data-In-Ascending-Order

Когда эти приёмы не работают (ограничения)

  • Нечисловые значения в диапазоне игнорируются RANK.EQ; если вам нужно ранжировать текстовые метки, предварительно трансформируйте их в числа или используйте MATCH по отсортированному списку.
  • Очень большие таблицы: SUMPRODUCT в каждой строке может снизить производительность. Для таблиц в десятки тысяч строк рассмотрите Power Query, PivotTable или вспомогательные столбцы с агрегацией.
  • Плавающие числа и погрешности округления: близкие значения с плавающей точкой могут рассматриваться как разные. Решение — округлить данные (ROUND) до нужной точности перед ранжированием.
  • Динамические массивы (Excel 365): существуют более простые варианты с UNIQUE и SORT, но они дают другой тип результата — список значений, а не ранг для каждой строки.

Альтернативные подходы

  • Вспомогательный столбец с сортируемым ключом: CONCATENATE(значение; уникальный идентификатор) и затем RANK по ключу.
  • Power Query: сгруппировать по значению, посчитать количество, присвоить ранги и затем объединить обратно — эффективно для больших наборов данных.
  • Формулы на базе INDEX/MATCH для более сложных критериев ранжирования (несколько столбцов при равенстве основного ключа).
  • Динамические массивы (Excel 365): комбинация SORT, UNIQUE и SEQUENCE для получения ранжированного списка уникальных значений.

Ментальные модели и эвристики

  • «Ранг» vs «Место»: ранг отражает позицию по значению; «место» — может требовать уникальности (например, при выдаче призов).
  • Если важна справедливость при одинаковых результатах — используйте RANK.EQ или RANK.AVG; если важна последовательность номеров — используйте SUMPRODUCT или добавляйте дополнительные критерии.
  • Производительность vs ясность: простая формула RANK.EQ быстрее и понятнее; SUMPRODUCT даёт точный контроль, но громоздкий на больших данных.

Практическая методология (мини-SOP)

  1. Определите правило для дублей: одинаковые ранги или уникальные номера?
  2. Подготовьте данные: удалите/замените НЕЧИСЛОВЫЕ значения, округлите при необходимости.
  3. Протестируйте подход на подмножестве данных (10–20 строк).
  4. Выберите формулу: RANK.EQ, RANK.EQ+COUNTIF или SUMPRODUCT+COUNTIF.
  5. Проверка: создайте контрольные случаи (см. раздел «Критерии приёмки»).
  6. Документируйте формулу и порядок сортировки.

Критерии приёмки

  • Для набора тестовых данных с дублями ранги соответствуют выбранному правилу (одинаковые или уникальные).
  • Номера идут подряд, если это требование (нет пропусков в последовательности).
  • Производительность остаётся приемлемой на реальных объёмах данных (не более заметного торможения при вводе данных).
  • Отсутствуют ошибки из-за нечисловых значений; все предупреждения и преобразования документированы.

Чек-листы для ролей

  • Аналитик:
    • Проверить наличие нечисловых значений.
    • Выбрать подходящий метод ранжирования.
    • Провести контрольные тесты.
  • Владелец отчёта:
    • Подтвердить правило обработки дублей.
    • Проверить отсортированную выборку.
    • Утвердить документ с описанием формулы.
  • Инженер данных:
    • Оптимизировать реализацию для больших массивов (Power Query или вероятностные индексы).
    • Добавить шаги очистки данных (ROUND, TRIM).

Тестовые случаи / Acceptance

  1. Все уникальные значения: ранги 1..N без дублей.
  2. Есть три одинаковых максимума: все три получают один и тот же ранг при использовании RANK.EQ; с SUMPRODUCT — получают одинаковый ранг, следующий ранг без пропуска.
  3. Нечисловое значение в диапазоне: функция не должна приводить к скрытым ошибкам; документируем преобразование или исключение.
  4. Пограничные значения плавающей точки: округление до 2 знаков приводит к ожидаемому поведению дублей.

Короткий глоссарий (1 строка каждый)

  • RANK.EQ — функция Excel, возвращающая ранг числа относительно диапазона.
  • COUNTIF — считает вхождения значения в диапазоне.
  • SUMPRODUCT — умножает и суммирует элементы массивов; часто используется для агрегатных расчётов без вспомогательных столбцов.
  • Power Query — инструмент Excel для преобразования и загрузки данных (подходит для больших наборов).

Советы по производительности

  • Для больших таблиц избегайте тяжёлых SUMPRODUCT в каждой строке; вместо этого сгруппируйте значения и присвойте ранги затем объедините результаты.
  • Используйте helper-столбцы, если формулы становятся слишком сложными.
  • В Excel 365 некоторые задачи проще решать динамическими массивами и функцией LET для читабельности.

Когда выбрать что-то из перечисленного

  • Нужны одинаковые ранги для равных значений и отсутствие пропусков: SUMPRODUCT+COUNTIF.
  • Нужны уникальные ранги без пропусков (последовательная нумерация): RANK.EQ+COUNTIF.
  • Нужны просто ранги, совместимость со старой версией Excel: RANK (но лучше RANK.EQ в новых версиях).
  • Большие объёмы и сложные преобразования: Power Query.

Сравнительная матрица (качественная)

  • Простота: RANK.EQ > RANK.EQ+COUNTIF > SUMPRODUCT+COUNTIF
  • Управление дублями (одинаковые ранги): RANK.EQ и SUMPRODUCT — да; RANK.EQ+COUNTIF — нет
  • Отсутствие пропусков в номерах: RANK.EQ+COUNTIF и SUMPRODUCT — да; RANK.EQ — нет
  • Производительность на больших данных: RANK.EQ / Power Query предпочтительнее SUMPRODUCT

Пример использования Power Query (кратко)

  1. Загрузите таблицу в Power Query (Данные → Получить и преобразовать).
  2. Сгруппируйте по столбцу значений, посчитайте количество элементов.
  3. Отсортируйте уникальные значения и добавьте индекс (это будет ранг уникальных значений).
  4. Объедините исходную таблицу с таблицей рангов по значению.

Такой подход эффективен и масштабируем для десятков тысяч строк.

Частые ошибки и как их избежать

  • Ошибка: применение RANK.EQ к тексту. Решение: привести к числу или исключить такие строки.
  • Ошибка: нефиксирование диапазона с долларом ($B$2:$B$11) при протягивании формулы. Решение: использовать абсолютную ссылку.
  • Ошибка: неочищенные пробелы в ячейках. Решение: TRIM перед анализом.

Итог и рекомендации

Резюмируя, выбор метода ранжирования в Excel зависит от бизнес‑правила обработки дублей и объёма данных:

  • Для простых задач используйте RANK.EQ.
  • Для уникальных последовательных номеров применяйте RANK.EQ+COUNTIF.
  • Для одинаковых рангов без пропусков используйте SUMPRODUCT+COUNTIF или Power Query для больших наборов.

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

Краткое резюме

  • RANK.EQ — базовый инструмент; прост и быстър.
  • COUNTIF помогает модифицировать поведение ранжирования.
  • SUMPRODUCT даёт контроль над непрерывностью рангов при дублях, но требует осторожности по производительности.

Важное

  • Если вы используете Excel в разных локалях, обратите внимание на формат разделителей аргументов (запятая или точка с запятой) — Excel адаптирует локаль.

Дополнительные ресурсы и примеры

  • Используйте встроенную справку Excel для RANK.EQ и COUNTIF.
  • Экспериментируйте с небольшими наборами данных прежде чем применять формулы к большим таблицам.

Контактный контрольный список перед публикацией отчёта

  • Проверить формулы на тестовой выборке.
  • Документировать выбранную формулу и причину выбора.
  • Убедиться, что все пользователи знают, как трактуются одинаковые значения.

Лёгкая версия для объявления (announce)

Если требуется короткая анонс‑версия для рассылки: «Узнайте, как правильно ранжировать значения в Excel с учётом дублей: пошаговые формулы RANK.EQ, COUNTIF и SUMPRODUCT, альтернативы Power Query и чек‑листы для контроля качества отчётов.»

Примечание об изображениях

Все изображения в статье иллюстрируют примеры данных и расположение меню Excel; подписи под изображениями помогают ориентироваться в интерфейсе.

Спасибо — конец статьи

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство