Зміст
У навчальному посібнику пояснюється специфіка функцій 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
- Будь-яка формула ранжирування в Excel працює тільки для числових значень: додатних і від'ємних чисел, нулів, значень дати і часу. Нечислові значення в посилання ігноруються.
- Всі функції RANK повертають однаковий ранг для значень, що повторюються, і пропускають подальше ранжування, як показано в прикладі нижче.
- В Excel 2010 і пізніших версіях функція RANK була замінена на RANK.EQ і RANK.AVG. Для забезпечення зворотної сумісності RANK все ще працює у всіх версіях Excel, але в майбутньому вона може бути недоступна.
- Якщо кількість не міститься в межах посилання будь-яка функція 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".
Дякую за увагу і сподіваюсь побачити Вас на нашому блозі наступного тижня!