Функција Excel RANK и други начини за пресметување на ранг

  • Споделете Го Ова
Michael Brown

Содржина

Упатството ги објаснува спецификите на функциите на Excel Rank и покажува како да се направи рангирање во Excel врз основа на повеќе критериуми, да се рангираат податоците по група, да се пресмета ранг на перцентил и многу повеќе.

Кога треба да ја одредите релативната позиција на некој број во список со броеви, најлесниот начин е да ги подредите броевите во растечки или опаѓачки редослед. Ако поради некоја причина сортирањето не е можно, формулата за рангирање во Excel е совршена алатка за извршување на работата.

    Excel RANK функција

    Функцијата RANK во Excel се враќа редоследот (или рангирањето) на нумеричка вредност во споредба со другите вредности во истата листа. Со други зборови, ви кажува која вредност е највисока, втора највисока итн.

    Во сортирана листа, рангирањето на одреден број би било неговата позиција. Функцијата RANK во Excel може да го одреди рангирањето почнувајќи од најголемата вредност (како да е подредена по опаѓачки редослед) или најмалата вредност (како да е подредена по растечки редослед).

    Синтаксата на функцијата Excel RANK е како следува:

    RANK(број,реф,[ред])

    Каде:

    Број (задолжително) - вредноста чиј ранг сакате да го најдете.

    Ref (задолжително) - листа на нумерички вредности за рангирање. Може да се даде како низа од броеви или како референца за списокот со броеви.

    Ред (изборно) - број што одредува како да се рангираат вредностите:

    • Ако 0 или испуштени, вредностите се рангираат воТОЧНО и НЕТОЧНО врз основа на тоа дали елементот на опсег припаѓа на истата група како A2.
    • Второ, го проверувате резултатот. За да ги рангирате вредностите од најголеми до најмали ( опаѓачки редослед ), користете го условот (C2<$C$2:$C$11), кој враќа ТОЧНО за ќелиите поголеми или еднакви на C2, во спротивно FALSE.

    Бидејќи во термините на Microsoft Excel, TRUE = 1 и FALSE = 0, со множење на двете низи се добива низа од 1 и 0, каде што 1 се враќа само за редовите во кои се исполнети двата услови.

    Потоа, SUMPRODUCT ги собира елементите од низата 1 и 0, па оттука враќа 0 за најголемиот број во секоја група. И додавате 1 на резултатот за да започнете со рангирање со 1.

    Формулата што ги рангира броевите во групи од најмал до најголем ( растечки редослед ) работи со истото логика. Разликата е во тоа што SUMPRODUCT враќа 0 за најмалиот број во одредена група, бидејќи ниту еден број во таа група не го исполнува вториот услов (C2>$C$2:$C$7). Повторно, го заменувате нула ранг со 1-виот ранг со додавање 1 на резултатот од формулата.

    Наместо SUMPRODUCT, можете да ја користите функцијата SUM за да ги соберете елементите на низата. Но, ова ќе бара користење на формула за низа, завршена преку Ctrl + Shift + Enter. На пример:

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

    Како да ги рангирате позитивните и негативните броеви одделно

    Ако вашата листа на броеви содржи и позитивни и негативни вредности, функцијата Excel RANKќе ги рангира сите за кратко време. Но, што ако сакате позитивните и негативните броеви да бидат рангирани одделно?

    Со броевите во ќелиите А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 го содржи вториот највисок позитивен број, за кој COUNTIF враќа 1, што значи дека има само еден број поголем од него. За да го започнеме нашето рангирање со 1, а не со 0, додаваме 1 на резултатот од формулата, така што враќа ранг од 2 за А2.

    • Ако бројот е поголем од 0, формулата се враќа празна низа ("").

    Формулата која ги рангира позитивните броеви во растечки редослед работи малку поинаку:

    Ако бројот е поголем од 0 , првиот COUNTIF го добива вкупниот број напозитивни броеви во множеството податоци, а вториот COUNTIF открива колку вредности се повисоки од тој број. Потоа, го одземате второто од првото и го добивате посакуваниот ранг. Во овој пример, има 5 позитивни вредности, од кои 1 е поголема од А2. Значи, одземате 1 од 5, со што добивате ранг од 4 за A2.

    Формулите за рангирање на негативните броеви се засноваат на слична логика.

    Забелешка. Сите горенаведени формули ги игнорираат нула вредности бидејќи 0 не припаѓа ниту на множеството позитивни ниту на множеството негативни броеви. За да вклучите нули во вашето рангирање, заменете ги >0 и =0 и <=0, соодветно, каде што бара логиката на формулата.

    На пример, за рангирање позитивни броеви и нули од најголем до најмал, користете го ова формула: =IF($A2>=0,COUNTIF($A$2:$A$10,">"&A2)+1,"")

    Како да се рангираат податоците во Excel игнорирајќи ги нула вредности

    Како што веќе знаете, формулата RANK е Excel ги обработува сите броеви: позитивни, негативни и нули. Но, во некои случаи, ние само сакаме да ги рангираме ќелиите со податоци што игнорираат 0 вредности. На интернет, можете да најдете неколку можни решенија за оваа задача, но формулата Excel RANK IF, methinks, е најуниверзална:

    Рангирајте ги броевите што се намалуваат игнорирајќи ја нулата:

    =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 RANK IF ги рангира броевите од најголем до најмал, игнорирајќи ги нулите:

    • Првиот IF проверува дали бројот е 0, а ако е, враќа празна низа:

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

    • Ако бројот не е нула, вториот IF проверува дали е поголем од 0, а ако е, обична функција RANK / RANK.EQ го пресметува својот ранг:

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

    • Ако бројот е помал од 0, го прилагодувате рангирањето со нула броење. Во овој пример, има 4 позитивни броеви и 2 нули. Значи, за најголемиот негативен број во B10, формулата на Excel RANK ќе врати 7. Но, ние прескокнуваме нули, и затоа треба да го прилагодиме рангирањето за 2 поени. За ова, го одземаме бројот на нули од рангирањето:

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

    Да, толку е лесно! Формулата за рангирање броеви од најмали до најголеми игнорирајќи ги нулите работи на сличен начин, и може да биде добра вежба за мозокот за да се заклучи неговата логика :)

    Како да се пресмета рангирањето во Excel по апсолутна вредност

    Кога се работи со листа на позитивни и негативни вредности, може да има потреба да се рангираат броевите според нивните апсолутни вредности, игнорирајќи го знакот.

    Задачата може да се исполнисо една од долунаведените формули, во сржта на која е функцијата ABS која ја враќа апсолутната вредност на број:

    Ранг ABS опаѓачки:

    =SUMPRODUCT((ABS(A2)<=ABS(A$2:A$7)) * (A$2:A$7"")) - SUMPRODUCT((ABS(A2)=ABS($A$2:$A$7)) * (A$2:A$7""))+1

    Ранг ABS растечки:

    =SUMPRODUCT((ABS(A2)>=ABS(A$2:A$7)) * (A$2:A$7"")) - SUMPRODUCT((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 MATCH (под услов да нема дупликат резултати во првите 3):

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

    Слично, можете да користете ја функцијата SMALL за да ги повлечете долните 3 вредности:

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

    Така правите рангирање во Excel. За подобро разбирање и веројатно обратно инженерство на формулите дискутирани во овој туторијал, добредојдени сте да ја преземете нашата работна книга за примерок ранг во Excel.

    Ви благодарам што прочитавте и се надевам дека ќе се видиме на нашиот блог следната недела!

    опаѓачки редослед, т.е. од најголем до најмал.
  • Ако 1 или која било друга вредност што не е нула, вредностите се рангираат по растечки редослед, т.е. од најмал до најголем.
  • Excel RANK Функција .EQ

    RANK.EQ е подобрена верзија на функцијата RANK, воведена во Excel 2010. Ја има истата синтакса како RANK и работи со истата логика: ако неколку вредности се рангирани подеднакво, највисокиот ранг е доделен на сите такви вредности. (EQ значи „еднакво“).

    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 работи само за нумерички вредности: позитивни и негативни броеви, нули, вредности на датум и време. Ненумеричките вредности во аргументот ref се игнорираат.
    2. Сите функции RANK го враќаат истиот ранг задупликат вредности и прескокнете го следното рангирање, како што е прикажано во примерот подолу.
    3. Во Excel 2010 и подоцнежните верзии, функцијата RANK е заменета со RANK.EQ и RANK.AVG. За компатибилност наназад, RANK сè уште работи во сите верзии на Excel, но можеби нема да биде достапен во иднина.
    4. Ако бројот не се најде во ref , било кој Функцијата Excel Rank ќе ја врати грешката #N/A.

    Основна формула за рангирање на Excel (од највисоко до најниско)

    За да стекнете повеќе разбирање за рангирањето на податоците во Excel, ве молиме имајте погледнете ја оваа слика од екранот:

    Сите три формули ги рангираат броевите во колоната Б по опаѓачки редослед (аргументот ред е испуштен):

    Во сите верзии на 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)

    Разликата е во тоа како овие формули обработуваат дупликати вредности. Како што гледате, истиот резултат се појавува двапати, во ќелиите B5 и B6, што влијае на последователното рангирање:

    • Формулите RANK и RANK.EQ даваат ранг од 2 на двата дупликати резултати. Следниот највисок резултат (Даниела) е рангирана на 4-то место. Ранг од 3 не му се дава на никого.
    • Формулата RANK.AVG доделува различно рангирање на секој дупликат зад сцената (2 и 3 во овој пример) и го враќа просекот од тие рангови (2,5) . Повторно, третиот ранг не е доделен на никого.

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

    Патот доизвонредноста, велат тие, е поплочена со пракса. Значи, за подобро да научиме како да ја користиме функцијата RANK во Excel, самостојно или во комбинација со други функции, ајде да изработиме решенија за неколку задачи од реалниот живот.

    Како да се рангираме во Excel од најниско до највисоко

    Како што е прикажано во горенаведениот пример, за да ги рангирате броевите од највисоко до најниско, користите една од формулите за рангирање на Excel со аргументот ред поставен на 0 или испуштен (стандардно).

    За да имате број рангирана наспроти другите броеви подредени по растечки редослед , ставете 1 или која било друга вредност што не е нула во опционалниот трет аргумент.

    На пример, за да ги рангирате времињата на спринт од 100 метри на учениците, можете да ја користите една од долунаведените формули:

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

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

    Внимавајте да го заклучиме опсегот во аргументот ref со користење на апсолутни референци на ќелиите, така што нема да се промени кога ќе ја копираме формулата во колоната.

    Како резултат, најниската вредност (најбрзото време) е рангирана на 1-во, а најголемата вредност (најбавно време) го добива најнискиот ранг од 6. Еднаквите времиња (B2 и B7) добиваат ист ранг.

    Како уникатно да се рангираат податоците во Excel

    Како што беше истакнато претходно, сите функции на Excel Rank го враќаат истиот ранг за ставки со еднаква вредност. Ако тоа не го сакате, користете една од следните формули за да ги решите ситуациите на тај-брејк и дајте уникатен ранг на секој број.

    Уникатно рангирање однајвисоко до најниско

    За да ги рангирате резултатите по математика на нашите ученици уникатно по опаѓачки редослед, користете ја оваа формула:

    =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 се споредува со секоја од горенаведените ќелии.

    Следствено, за сите први појави, COUNTIF враќа 1; и одземате 1 на крајот од формулата за да го вратите првобитниот ранг.

    За втора појава, 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. Сепак, може да изгледа неправедно што еднаквите броеви се рангирани различно само врз основа на нивната позиција во листата. За да го подобрите вашето рангирање, можеби ќе сакате да додадете уште еден критериум што треба да се земе предвид во случај на нерешени.

    Во нашиот примерок на податоци, ајде да ги додадеме вкупните резултати во колоната C и да го пресметаме рангирањето на следниов начин:

    <0 4>
  • Прво, рангирајте со Оценка по математика (главни критериуми)
  • Кога има нерешено, прекинете го со Вкупен резултат (секундарнакритериуми)
  • За да го направиме тоа, ќе користиме обична формула RANK/RANK.EQ за да го најдеме рангирањето и функцијата COUNTIFS за да ја прекинеме врската:

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

    Во споредба со горенаведениот пример, оваа формула за рангирање е пообјективна: Тимотеј е рангиран на второто место бидејќи неговиот вкупен резултат е поголем од оној на Јулија:

    Како оваа формула работи

    Делот RANK од формулата е очигледен, а функцијата COUNTIFS го прави следново:

    • Првиот опсег_критериуми / критериуми парот ($B$2:$B$7,$B2) ги брои појавите на вредноста што ја рангирате. Забележете, го поправавме опсегот со апсолутни референци, но не го заклучувајте редот на критериумите ($B2), така што формулата ја проверува вредноста во секој ред поединечно.
    • Вториот опсег_критериуми / критериуми ($C$2:$C$7,">"&$C2) открива колку вкупни резултати се поголеми од вкупен резултат од вредноста што се рангира.

    Бидејќи COUNTIFS работи со логиката И, т.е. брои само ќелии што ги исполнуваат сите наведени услови, враќа 0 за Тимотеј бидејќи ниту еден друг ученик со истата математика резултатот има повисок вкупен резултат. Оттука, рангот на Тимотеј вратен од RANK.EQ е непроменет. За Јулија, функцијата COUNTIFS враќа 1 затоа што еден ученик со ист резултат по математика има поголем вкупен број, така што нејзиниот ранг број се зголемува за 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 Percentile Rank оди на следниов начин:

    RANK.EQ( topmost_cell, range,1)/COUNT( опсег)

    За да го пресметаме рангирањето на перцентилот на нашите студенти, формулата го добива следниов облик:

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

    За правилно прикажување на резултатите, погрижете се да поставите Процентно формат на ќелиите со формулата:

    Како да ги рангирате броевите во непосредни ќелии

    Во ситуации кога треба да рангирате не- соседните ќелии, доставете ги тие ќелии директно во аргументот ref од вашата формула за рангирање на Excel во форма на референтна унија, заклучувајќи ги референците со знакот $. На пример:

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

    За да спречите грешки во нерангираните ќелии, завиткајте RANK во функцијата IFERROR, вака:

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

    Ве молиме забележете дека и дупликат број добива ранг, иако ќелијата B5 не е вклучена во формулата:

    Ако треба да рангирате повеќе непосредни ќелии, горната формула може станете премногу долги. Во овој случај, поелегантно решение би било дефинирање на именуван опсег и упатување на тоа име во формулата:

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

    Како да се рангирате во Excel по група

    Кога работите со записи организирани во некој вид структура на податоци, податоците може да припаѓаат на различни групи и можеби ќе сакате да ги рангирате броевите во секоја група поединечно. Функцијата Excel RANK не може да го реши овој предизвик, затоа ќе користиме посложена формула SUMPRODUCT:

    Рангирање по група во опаѓачки редослед:

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

    Рангирање по група во растечки редослед:

    =SUMPRODUCT((A2=$A$2:$A$7)*(C2>$C$2:$C$7))+1

    Каде:

    • A2:A7 се групите доделени на броеви.
    • C2:C7 се броеви што треба да се рангираат.

    Во овој пример, ја користиме првата формула за рангирање на броевите во секоја група од најголем до најмал:

    Како функционира оваа формула

    Во суштина, формулата оценува 2 услови:

    • Прво, ја проверувате групата (A2= $A$2:$A$7). Овој дел враќа низа од

    Мајкл Браун е посветен технолошки ентузијаст со страст за поедноставување на сложените процеси користејќи софтверски алатки. Со повеќе од една деценија искуство во технолошката индустрија, тој ги усоврши своите вештини во Microsoft Excel и Outlook, како и Google Sheets и Docs. Блогот на Мајкл е посветен на споделување на своето знаење и експертиза со другите, обезбедувајќи лесни за следење совети и упатства за подобрување на продуктивноста и ефикасноста. Без разлика дали сте искусен професионалец или почетник, блогот на Мајкл нуди вредни сознанија и практични совети за да го извлечете максимумот од овие основни софтверски алатки.