Функція РАНГ в Excel та інші способи розрахунку рангу

  • Поділитися Цим
Michael Brown

Зміст

У навчальному посібнику пояснюється специфіка функцій Excel "Ранжування" та показано, як виконати ранжування в Excel за кількома критеріями, проранжувати дані за групами, розрахувати процентильний ранг тощо.

Коли потрібно визначити відносне положення числа в списку чисел, найпростішим способом є сортування чисел за зростанням або спаданням. Якщо з якихось причин сортування неможливе, формула Ранг в Excel є ідеальним інструментом для виконання цієї роботи.

    Функція RANK в Excel

    Функція РАНГ в Excel повертає порядок (або ранг) числового значення порівняно з іншими значеннями в тому ж списку. Іншими словами, вона повідомляє, яке значення є найвищим, другим за величиною і т.д.

    У відсортованому списку рангом певного числа буде його позиція. Функція РАНГ в Excel може визначити ранг, починаючи з найбільшого значення (як при сортуванні за спаданням) або найменшого значення (як при сортуванні за зростанням).

    Синтаксис функції РАНГ в Excel наступний:

    РАНГ (номер, посилання,[наказ])

    Де:

    Кількість (обов'язково) - величина, ранг якої потрібно знайти.

    Посилання (обов'язково) - перелік числових значень, за якими здійснюється ранжування. Може бути поданий у вигляді масиву чисел або посилання на список чисел.

    Замовлення (необов'язково) - число, що визначає спосіб ранжування значень:

    • Якщо 0 або пропущено, значення ранжуються в порядку спадання, тобто від найбільшого до найменшого.
    • Якщо 1 або будь-яке інше ненульове значення, то значення ранжуються в порядку зростання, тобто від найменшого до найбільшого.

    Функція Excel RANK.EQ

    РАНГ.ЕКВ - це вдосконалена версія функції РАНГ, що з'явилася в Excel 2010. Вона має такий самий синтаксис, як і РАНГ, і працює за тією ж логікою: якщо кілька значень мають однаковий ранг, то всім таким значенням присвоюється найвищий ранг (ЕКВ означає "рівний").

    RANK.EQ(номер,реф,[замовлення])

    В Excel 2007 і нижчих версіях завжди слід використовувати функцію RANK. В Excel 2010, Excel 2013 і Excel 2016 ви можете використовувати або RANK, або RANK.EQ. Однак доцільно використовувати RANK.EQ, оскільки функція RANK може бути припинена в будь-який момент.

    Функція Excel RANK.AVG

    RANK.AVG - ще одна функція для пошуку рангу в Excel, яка доступна тільки в Excel 2010, Excel 2013, Excel 2016 і новіших версіях.

    Вона має такий самий синтаксис, як і дві інші функції:

    RANK.AVG(номер,реф,[замовлення])

    Різниця полягає в тому, що якщо кілька чисел мають однаковий ранг, то середній ранг повертається (AVG розшифровується як "середнє").

    4 речі, які варто знати про RANK в Excel

    1. Будь-яка формула ранжирування в Excel працює тільки для числових значень: додатних і від'ємних чисел, нулів, значень дати і часу. Нечислові значення в посилання ігноруються.
    2. Всі функції RANK повертають однаковий ранг для значень, що повторюються, і пропускають подальше ранжування, як показано в прикладі нижче.
    3. В Excel 2010 і пізніших версіях функція RANK була замінена на RANK.EQ і RANK.AVG. Для забезпечення зворотної сумісності RANK все ще працює у всіх версіях Excel, але в майбутньому вона може бути недоступна.
    4. Якщо кількість не міститься в межах посилання будь-яка функція Excel Rank поверне помилку #N/A.

    Базова формула Excel Rank (від найвищого до найнижчого)

    Для кращого розуміння ранжування даних в Excel, будь ласка, подивіться на цей скріншот:

    Всі три формули ранжирують числа в колонці B в за спаданням (the порядок аргумент опущений):

    У всіх версіях Excel 2003 - 2016:

    =RANK($B2,$B$2:$B$7)

    В Excel 2010 - 2016:

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

    =RANK.AVG($B2,$B$2:$B$7)

    Різниця в тому, як ці формули обробляють значення, що повторюються. Як бачите, один і той самий бал з'являється двічі, в комірках В5 і В6, що впливає на подальше ранжування:

    • Формули RANK та RANK.EQ присвоюють обом збігам рейтинг 2. Наступний за рейтингом (Даніела) займає 4 місце. Рейтинг 3 не присвоюється нікому.
    • Формула RANK.AVG присвоює різний ранг кожному дублікату за кадром (2 і 3 в цьому прикладі) і повертає середнє значення цих рангів (2,5). Знову ж таки, 3-й ранг нікому не присвоюється.

    Як використовувати RANK в Excel - приклади формул

    Шлях до досконалості, як кажуть, вистелений практикою. Тож, щоб краще засвоїти, як використовувати функцію РАНГ в Excel, окремо або в поєднанні з іншими функціями, давайте опрацюємо розв'язання кількох реальних завдань.

    Як проранжувати в Excel від найнижчого до найвищого

    Як показано у наведеному вище прикладі, для ранжування чисел від найбільшого до найменшого використовується одна з формул Excel "Ранжування" з функцією порядок аргумент дорівнює 0 або відсутній (за замовчуванням).

    Мати кількість у порівнянні з іншими номерами, відсортованими за за зростанням в необов'язковому третьому аргументі слід поставити 1 або будь-яке інше ненульове значення.

    Наприклад, для ранжування часу бігу на 100 метрів у студентів можна використати одну з наведених нижче формул:

    =RANK(B2,$B$2:$B$7,1)

    =RANK.EQ(B2,$B$2:$B$7,1)

    Звертаємо Вашу увагу, що ми фіксуємо діапазон в посилання за допомогою абсолютних посилань на комірки, щоб він не змінювався при копіюванні формули вниз по стовпчику.

    В результаті, найменше значення (найшвидший час) займає 1 місце, а найбільше значення (найповільніший час) отримує найнижчий ранг - 6. Однакові часи (B2 та B7) отримують однаковий ранг.

    Як однозначно ранжувати дані в Excel

    Як зазначалося раніше, всі функції Excel Ранг повертають однаковий ранг для елементів однакової цінності. Якщо це не те, що ви хочете, використовуйте одну з наведених нижче формул для вирішення ситуацій з нічийним рахунком і дайте унікальне звання до кожного номера.

    Унікальний рейтинг від найвищого до найнижчого

    Щоб однозначно ранжувати бали з математики наших учнів за спаданням, використовуйте цю формулу:

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

    Унікальний рейтинг від найнижчого до найвищого

    Для ранжування результатів забігу на 100 метрів у порядку зростання без повторів використовуйте цю формулу:

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

    Як працюють ці формули

    Як ви могли помітити, єдина відмінність між двома формулами полягає в тому, що порядок аргумент функції RANK.EQ: опускається для значень рангу, що спадають, 1 - для значень рангу, що зростають.

    В обох формулах функція COUNTIF з розумним використанням відносних та абсолютних посилань на комірки робить трюк. Коротше кажучи, ви використовуєте COUNTIF, щоб дізнатись, скільки входжень числа, яке оцінюється, є у вищезазначених комірках, включаючи комірку числа. У самому верхньому рядку, де ви вводите формулу, діапазон складається з однієї комірки ($B$2:B2). Але оскільки ви блокуєте лишеперше посилання ($B$2), останнє відносне посилання (B2) змінюється залежно від рядка, куди копіюється формула. Так, для рядка 7 діапазон розширюється до $B$2:B7, і значення в B7 порівнюється з кожною з вищезазначених комірок.

    Отже, для всіх 1-х входжень COUNTIF повертає 1; і ви віднімаєте 1 в кінці формули, щоб відновити початковий ранг.

    Для 2-го входження COUNTIF повертає 2. Віднімаючи 1, ви збільшуєте рейтинг на 1 бал, таким чином запобігаючи дублікатам. Якщо трапляється 3 входження з однаковим значенням, COUNTIF()-1 додає 2 до їхнього рейтингу, і так далі.

    Альтернативне рішення для розриву зв'язків Excel RANK

    Інший спосіб унікального ранжування чисел в Excel - це складання двох функцій COUNTIF:

    • Перша функція визначає, на скільки значень більше або менше число, яке потрібно ранжувати, в залежності від того, чи ви ранжуєте за спаданням або зростанням, відповідно.
    • Друга функція (з "розширенням діапазону" $B$2:B2, як у наведеному вище прикладі) отримує кількість значень, що дорівнює числу.

    Наприклад, для однозначного ранжування чисел від найвищого до найнижчого можна використати таку формулу:

    =COUNTIF($B$2:$B$7,">"&$B2)+COUNTIF($B$2:B2,B2)

    Як показано на скріншоті нижче, тай-брейк успішно завершився, і кожному студенту присвоєно унікальний ранг:

    Ранжування в Excel за кількома критеріями

    У попередньому прикладі було продемонстровано два робочих рішення для ситуації нічийного результату в Excel RANK. Однак може здатися несправедливим, що однакові номери ранжуються по-різному тільки на основі їх позиції в списку. Щоб поліпшити ранжування, ви можете додати ще один критерій, який буде враховуватися в разі нічийного результату.

    У нашому прикладі додамо загальні бали у стовпчик С та обчислимо ранг наступним чином:

    • Перше місце посідають Оцінка з математики (основні критерії)
    • Коли є нічия, розірвіть її за допомогою Загальний бал (вторинні критерії)

    Для цього ми будемо використовувати звичайну формулу RANK/RANK.EQ для знаходження рангу та функцію COUNTIFS, щоб розірвати нічию:

    =RANK.EQ($B2,$B$2:$B$7)+COUNTIFS($B$2:$B$7,$B2,$C$2:$C$7,">"&$C2)

    Порівняно з наведеним вище прикладом, ця формула ранжування є більш об'єктивною: Тимофій посідає 2-е місце, оскільки його сумарний бал вищий, ніж у Юлії:

    Як працює ця формула

    Частина формули RANK очевидна, а функція COUNTIFS робить наступне:

    • Перший критерії_діапазон / критерії пара ($B$2:$B$7,$B2) підраховує входження значення, яке ви ранжуєте. Зверніть увагу, що ми фіксуємо діапазон з абсолютними посиланнями, але не блокуйте критерії рядка ($B2), щоб формула перевіряла значення в кожному рядку окремо.
    • Другий критерії_діапазон / критерії пара ($C$2:$C$7,">"&$C2) визначає, на скільки сумарних балів більше сумарного балу значення, що ранжується.

    Оскільки функція COUNTIFS працює з логікою AND, тобто підраховує тільки ті клітинки, які відповідають всім заданим умовам, вона повертає 0 для Тимофія, оскільки жоден інший учень з таким же балом з математики не має вищого сумарного балу. Отже, ранг Тимофія, який повертає функція RANK.EQ, не змінюється. Для Юлії функція COUNTIFS повертає 1, оскільки один учень з таким же балом з математики має вищий сумарний бал, тому її ранговий номер дорівнюєЯкщо ще один учень має такий самий бал з математики, але сумарний бал нижчий, ніж у Тимофія та Юлії, то його ранг збільшується на 2 і т.д.

    Альтернативні рішення для ранжування чисел за кількома критеріями

    Замість функції RANK або RANK.EQ можна було б використовувати COUNTIF для перевірки основних критеріїв, а COUNTIFS або SUMPRODUCT для вирішення нічийного результату:

    =COUNTIF($B$2:$B$7,">"&$B2)+COUNTIFS($B$2:$B$7,$B2,$C$2:$C$7,">"&$C2)+1

    =COUNTIF($B$2:$B$7,">"&B2)+SUMPRODUCT(--($C$2:$C$7=C2),--($B$2:$B$7>B2))+1

    Результат цих формул точно такий самий, як показано вище.

    Як розрахувати процентильний ранг в Excel

    У статистиці, а процентиль (або центиль ) - це значення, нижче якого знаходиться певний відсоток значень у даному наборі даних. Наприклад, якщо 70% учнів мають такий самий або нижчий за ваш тестовий бал, то ваш процентильний ранг дорівнює 70.

    Для отримання процентильного рангу в Excel використовуйте функцію RANK або RANK.EQ з ненульовим значенням порядок для ранжування чисел від найменшого до найбільшого, а потім ділить ранг на кількість чисел. Отже, загальний аргумент Формула перцентильного рангу Excel полягає в наступному:

    RANK.EQ( верхня_комірка , діапазон 1)/COUNT( діапазон )

    Для розрахунку процентильного рангу наших студентів формула набуває наступного вигляду:

    =RANK.EQ(B2,$B$2:$B$7,1)/COUNT($B$2:$B$7)

    Для коректного відображення результатів обов'язково встановіть значення У відсотках до комірок з формулами:

    Як проранжувати числа в несуміжних клітинках

    У ситуаціях, коли потрібно проранжувати несуміжні комірки, вкажіть ці комірки безпосередньо в посилання аргумент вашої формули Excel Rank у вигляді союзу посилань, закриваючи посилання знаком $. Наприклад:

    =RANK(B2,($B$2,$B$4,$B$6))

    Щоб запобігти помилкам у неранжованих комірках, оберніть RANK у функцію IFERROR, наприклад, таким чином:

    =IFERROR(RANK(B2,($B$2,$B$4,$B$6)), "")

    Зверніть увагу, що повторюваному номеру також присвоюється ранг, хоча комірка В5 не входить до формули:

    Якщо вам потрібно ранжувати кілька несуміжних клітинок, наведена вище формула може стати занадто довгою. У цьому випадку більш елегантним рішенням буде визначення іменованого діапазону та посилання на це ім'я у формулі:

    =IFERROR(RANK(B2,range), "")

    Як ранжувати в Excel за групами

    При роботі з записами, організованими в певну структуру даних, дані можуть належати до різних груп, і вам може знадобитися ранжування чисел всередині кожної групи окремо. Функція РАНГ в Excel не може вирішити цю задачу, тому ми будемо використовувати більш складну формулу СУММЕСЛИ:

    Місце за групами у за спаданням порядок:

    =СУМАПРОДУКТ((A2=$A$2:$A$7)*(C2<$C$2:$C$7))+1

    Місце за групами у висхідний порядок:

    =СУМАПРОДУКТ((A2=$A$2:$A$7)*(C2>$C$2:$C$7))+1

    Де:

    • A2:A7 - групи, присвоєні номерам.
    • C2:C7 - числа, що підлягають ранжуванню.

    У цьому прикладі ми використовуємо першу формулу для ранжування чисел у кожній групі від найбільшого до найменшого:

    Як працює ця формула

    По суті, формула оцінює 2 умови:

    • Спочатку перевіряється група (A2=$A$2:$A$7). Ця частина повертає масив TRUE і FALSE на основі того, чи належить елемент діапазону до тієї ж групи, що і A2.
    • По-друге, ви перевіряєте оцінку. Для того, щоб проранжувати значення від найбільшого до найменшого ( за спаданням ), використовуйте умову (C2<$C$2:$C$11), яка повертає значення ІСТИНА для комірок, більших або рівних C2, і ЛОЖЬ у протилежному випадку.

    Оскільки в термінах Microsoft Excel TRUE = 1, а FALSE = 0, то перемноження двох масивів дає масив з 1 та 0, де 1 повертається тільки для рядків, в яких виконуються обидві умови.

    Потім SUMPRODUCT додає елементи масиву 1 і 0, отже, повертає 0 для найбільшого числа в кожній групі. І ви додаєте 1 до результату, щоб почати ранжування з 1.

    Формула, яка впорядковує числа всередині груп від найменшого до найбільшого ( висхідний порядок ) працює за тією ж логікою. Різниця полягає в тому, що СУММЕСЛИ повертає 0 для найменшого числа в певній групі, оскільки жодне число в цій групі не відповідає 2-й умові (C2>$C$2:$C$7). Знову ж таки, ви замінюєте нульовий ранг на 1-й ранг, додаючи 1 до результату формули.

    Замість СУММЕСЛИ для підсумовування елементів масиву можна використовувати функцію SUM. Але для цього потрібно буде використовувати формулу масиву, заповнену через Ctrl + Shift + Enter, наприклад:

    =SUM((A2=$A$2:$A$7)*(C2<$C$2:$C$7))+1

    Як ранжувати додатні та від'ємні числа окремо

    Якщо у вашому списку чисел є як додатні, так і від'ємні значення, функція RANK в Excel швидко проранжує їх усі. Але що робити, якщо ви хочете, щоб додатні та від'ємні числа були проранжовані окремо?

    Маючи числа в комірках від А2 до А10, використовуйте одну з наведених нижче формул для отримання індивідуального рейтингу для позитивних та негативних значень:

    Розташуйте додатні числа за спаданням:

    =IF($A2>0,COUNTIF($A$2:$A$10,">"&A2)+1,"")

    Розташуйте додатні числа за зростанням:

    =IF($A2>0,COUNTIF($A$2:$A$10,">0")-COUNTIF($A$2:$A$10,">"&$A2),"")

    Розташуйте від'ємні числа за спаданням:

    =IF($A2<0,COUNTIF($A$2:$A$10,"<0")-COUNTIF($A$2:$A$10,"<"&$A2),"")

    Розташуйте від'ємні числа за зростанням:

    =IF($A2<0,COUNTIF($A$2:$A$10,"<"&$A2)+1,"")

    Результати будуть виглядати приблизно так:

    Як працюють ці формули

    Для початку розберемо формулу, за якою відбувається ранжування додатних чисел в за спаданням порядок:

    • У логічному тесті функції IF перевіряється, чи є число більшим за нуль.
    • Якщо число більше 0, функція COUNTIF повертає кількість значень, що перевищують число, яке ранжирується.

      У цьому прикладі A2 містить 2-е найбільше додатне число, для якого COUNTIF повертає 1, що означає, що є лише одне число, більше за нього. Для того, щоб почати наше ранжування з 1, а не з 0, ми додаємо 1 до результату формули, таким чином, вона повертає ранг 2 для A2.

    • Якщо число більше 0, формула повертає порожній рядок ("").

    Формула, яка ранжує додатні числа по висхідний порядок працює трохи інакше:

    Якщо число більше 0, то перший COUNTIF отримує загальну кількість додатних чисел у наборі даних, а другий COUNTIF з'ясовує, скільки значень більше цього числа. Потім ви віднімаєте друге число від першого і отримуєте бажаний ранг. У цьому прикладі є 5 додатних значень, 1 з яких більше A2. Отже, ви віднімаєте 1 від 5, таким чином, отримуючи ранг 4 для A2.

    Формули для ранжування від'ємних чисел базуються на аналогічній логіці.

    Примітка. Всі наведені вище формули ігнорувати нульові значення оскільки 0 не належить ні до множини додатних, ні до множини від'ємних чисел. Щоб включити нулі у свій рейтинг, замініть>0 і =0 на <=0 відповідно там, де цього вимагає логіка формули.

    Наприклад, для ранжування додатних чисел і нулів від найбільшого до найменшого використовуйте цю формулу: =IF($A2>=0,COUNTIF($A$2:$A$10,">"&A2)+1,"")

    Як ранжувати дані в Excel, ігноруючи нульові значення

    Як ви вже знаєте, формула РАНГ в Excel обробляє всі числа: додатні, від'ємні і нулі. Але в деяких випадках нам потрібно просто проранжувати комірки з даними, ігноруючи значення 0. У мережі можна знайти кілька можливих рішень для цієї задачі, але формула РАНГ ЕСЛИ в Excel, мабуть, є найбільш універсальною:

    Ранги за спаданням, не враховуючи нуль:

    =IF($B2=0,"",IF($B2>0,RANK($B2,$B$2:$B$10), RANK($B2,$B$2:$B$10)-COUNTIF($B$2:$B$10,0)))

    Номери рангів за зростанням, не враховуючи нуль:

    =IF($B2=0,"",IF($B2>0,RANK($B2,$B$2:$B$10,1) - COUNTIF($B$2:$B$10,0), RANK($B2,$B$2:$B$10,1)))

    Де B2:B10 - діапазон чисел, що підлягають ранжуванню.

    Найкраще в цій формулі те, що вона чудово працює як для додатних, так і для від'ємних чисел, залишаючи нульові значення поза рейтингом:

    Як працює ця формула

    На перший погляд, формула може здатися дещо хитромудрою, але при найближчому розгляді логіка дуже проста.

    Ось як формула РАНЖИРОВАТЬ ЕСЛИ в Excel ранжує числа від найбільшого до найменшого, ігноруючи нулі:

    • Перший IF перевіряє, чи не дорівнює число 0, і якщо дорівнює, то повертає порожній рядок:

      IF($B2=0,"", ...)

    • Якщо число не дорівнює нулю, то друге ЯКЩО перевіряє, чи більше воно 0, і якщо більше, то звичайною функцією RANK / RANK.EQ обчислюється його ранг:

      IF($B2>0,RANK($B2,$B$2:$B$10),...)

    • Якщо число менше 0, ви коригуєте ранг на кількість нулів. У нашому прикладі є 4 додатних числа і 2 нулі. Отже, для найбільшого від'ємного числа в B10 формула RANK в Excel повернула б 7. Але ми пропускаємо нулі, і тому нам потрібно скоригувати ранг на 2 пункти. Для цього ми віднімаємо кількість нулів від рангу:

      RANK($B2,$B$2:$B$10)-COUNTIF($B$2:$B$10,0))

    Так, все просто! Формула для ранжування чисел від найменшого до найбільшого, ігноруючи нулі, працює подібним чином, і вивести її логіку може бути гарною вправою для мозку :)

    Як розрахувати рейтинг в Excel за абсолютним значенням

    При роботі зі списком додатних і від'ємних значень може виникнути необхідність ранжирування чисел за їх абсолютними значеннями без урахування знаку.

    Завдання можна виконати за допомогою однієї з наведених нижче формул, в основі якої лежить функція АБСЧЕТ, що повертає абсолютне значення числа:

    Ранг АБС спадний:

    =СУММЕСЛИ((ABS(A2)<=ABS(A$2:A$7)) * (A$2:A$7"")) - СУММЕСЛИ((ABS(A2)=ABS($A$2:$A$7)) * (A$2:A$7""))+1

    Рейтинг АБС зростає:

    =СУММЕСЛИ((ABS(A2)>=ABS(A$2:A$7)) * (A$2:A$7"")) - СУММЕСЛИ((ABS(A2)=ABS($A$2:$A$7)) * (A$2:A$7""))+1

    В результаті від'ємні числа ранжуються так, як додатні:

    Як отримати N найбільших або найменших значень

    Якщо Ви бажаєте отримати фактичну кількість N найбільших або найменших значень, а не їх рейтинг, використовуйте функцію LARGE або SMALL відповідно.

    Наприклад, за цією формулою ми можемо отримати 3 найкращі бали наших студентів:

    =LARGE($B$2:$B$7, $D3)

    Де B2:B7 - список оцінок, а D3 - бажаний ранг.

    Крім того, ви можете отримати прізвища студентів за формулою ВІДПОВІДНІСТЬ ІНДЕКСУ (за умови, що в першій трійці немає балів-дублікатів):

    =INDEX($A$2:$A$7,MATCH(E3,$B$2:$B$7,0))

    Аналогічно, ви можете використовувати функцію SMALL, щоб витягнути 3 нижніх значення:

    =SMALL($B$2:$B$7, $D3)

    Ось як ви робите ранжування в Excel. Щоб краще зрозуміти і, можливо, перепроектувати формули, розглянуті в цьому підручнику, ви можете завантажити нашу робочу книгу "Зразок ранжування в Excel".

    Дякую за увагу і сподіваюсь побачити Вас на нашому блозі наступного тижня!

    Майкл Браун — відданий ентузіаст технологій із пристрастю до спрощення складних процесів за допомогою програмних засобів. Маючи понад десятирічний досвід роботи в технологічній індустрії, він відточив свої навички роботи з Microsoft Excel і Outlook, а також із Google Таблицями та Документами. Блог Майкла присвячений тому, щоб поділитися своїми знаннями та досвідом з іншими, надаючи прості поради та навчальні посібники для підвищення продуктивності та ефективності. Незалежно від того, чи є ви досвідченим професіоналом чи початківцем, блог Майкла пропонує цінну інформацію та практичні поради щодо отримання максимальної користі від цих основних програмних інструментів.