Екцел функција РАНК и други начини за израчунавање ранга

  • Деле Ово
Michael Brown

Преглед садржаја

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

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

    Екцел функција РАНК

    функција РАНК у Екцел-у враћа редослед (или ранг) нумеричке вредности у поређењу са другим вредностима на истој листи. Другим речима, он вам говори која је вредност највиша, друга највиша итд.

    У сортираној листи, ранг одређеног броја би био његова позиција. Функција РАНК у Екцел-у може одредити ранг почевши од највеће вредности (као да је сортирана у опадајућем редоследу) или од најмање вредности (као да је сортирана у растућем редоследу).

    Синтакса функције Екцел РАНК је као следи:

    РАНК(број,реф,[ред])

    Где:

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

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

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

    • Ако је 0 или је изостављено, вредности се рангирајуТАЧНО и НЕТАЧНО на основу тога да ли елемент опсега припада истој групи као А2.
    • Друго, проверавате резултат. Да бисте рангирали вредности од највеће до најмање ( опадајући ред ), користите услов (Ц2&лт;$Ц$2:$Ц$11), који враћа ТРУЕ за ћелије веће или једнаке Ц2, у супротном ФАЛСЕ.

    Будући да је у Мицрософт Екцел терминима ТРУЕ = 1 и ФАЛСЕ = 0, множењем два низа добија се низ од 1 и 0, при чему се 1 враћа само за редове у којима су испуњена оба услова.

    Затим, ЗБИРНИ ПРОИЗВОД сабира елементе низа 1 и 0, тако да враћа 0 за највећи број у свакој групи. И додајете 1 резултату да бисте започели рангирање са 1.

    Формула која рангира бројеве у групама од најмање до највеће ( узлазни редослед ) ради са истим логика. Разлика је у томе што СУМПРОДУЦТ враћа 0 за најмањи број у одређеној групи, пошто ниједан број у тој групи не испуњава 2. услов (Ц2&гт;$Ц$2:$Ц$7). Опет, замењујете нулти ранг са 1. рангом тако што ћете резултату формуле додати 1.

    Уместо СУМПРОДУЦТ, можете користити функцију СУМ за сабирање елемената низа. Али ово би захтевало коришћење формуле низа, довршене преко Цтрл + Схифт + Ентер. На пример:

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

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

    Ако ваша листа бројева садржи и позитивне и негативне вредности, Екцел функција РАНКсве ће их рангирати за кратко време. Али шта ако желите да позитивне и негативне бројеве имате одвојено рангиране?

    Са бројевима у ћелијама од А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,"")

    Резултати ће изгледати отприлике овако:

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

    За почетак, хајде да разложимо формулу која рангира позитивне бројеве у опадајућем редоследу:

    • У логичком тесту функције ИФ, проверавате да ли је број већи од нуле.
    • Ако је број већи од 0, функција ЦОУНТИФ враћа број вредности већи од броја који се рангира.

      У овом примеру, А2 садржи 2. највећи позитиван број, за који ЦОУНТИФ враћа 1, што значи да постоји само један број већи од њега. Да бисмо започели наше рангирање са 1, а не са 0, резултату формуле додајемо 1, тако да враћа ранг 2 за А2.

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

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

    Ако је број већи од 0 , први ЦОУНТИФ добија укупан бројпозитивне бројеве у скупу података, а други ЦОУНТИФ открива колико је вредности веће од тог броја. Затим одузимате ово друго од првог и добијате жељени ранг. У овом примеру има 5 позитивних вредности, од којих је 1 већа од А2. Дакле, одузимате 1 од 5 и тако добијате ранг 4 за А2.

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

    Напомена. Све горње формуле занемарују нулте вредности јер 0 не припада ни скупу позитивних ни скупу негативних бројева. Да бисте укључили нуле у своје рангирање, замените &гт;0 и =0 и &лт;=0, где то захтева логика формуле.

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

    Како рангирати податке у Екцел-у занемарујући нулте вредности

    Као што већ знате, РАНК формула је да Екцел обрађује све бројеве: позитивне, негативне и нуле. Али у неким случајевима, желимо само да рангирамо ћелије са подацима игноришући 0 вредности. На вебу можете пронаћи неколико могућих решења за овај задатак, али Екцел формула РАНК ИФ, чини ми се, је најуниверзалнија:

    Опадајући бројеви ранга занемарујући нулу:

    =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)))

    Где је Б2:Б10 опсег бројева који се рангирају.

    Најбоља ствар у вези ове формуле је да лепо функционише и за позитивне и за негативне бројеве, остављајућинулте вредности ван рангирања:

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

    На први поглед, формула може изгледати помало зезнута. Ако боље погледате, логика је врло једноставна.

    Ево како Екцел формула РАНК ИФ рангира бројеве од највећег до најмањег занемарујући нуле:

    • Први ИФ проверава да ли је број 0, а ако јесте, враћа празан стринг:

      ИФ($Б2=0,"", …)

    • Ако број није нула, други ИФ проверава да ли је већи од 0, а ако јесте, обична функција РАНК / РАНК.ЕК израчунава свој ранг:

      ИФ($Б2&гт;0,РАНК($Б2,$Б$2:$Б$10),…)

    • Ако је број мањи од 0, прилагођавате рангирање нултим бројем. У овом примеру постоје 4 позитивна броја и 2 нуле. Дакле, за највећи негативни број у Б10, Екцел формула РАНК би вратила 7. Али ми прескачемо нуле и стога морамо да прилагодимо ранг за 2 поена. За ово одузимамо број нула од ранга:

      РАНК($Б2,$Б$2:$Б$10)-ЦОУНТИФ($Б$2:$Б$10,0))

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

    Како израчунати ранг у Екцел-у по апсолутној вредности

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

    Задатак се може испунитиса једном од доле наведених формула, у чијем је срцу АБС функција која враћа апсолутну вредност броја:

    Ранг АБС опадајуће:

    =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

    Ранг АБС растуће:

    =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

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

    Како добити Н највеће или најмање вредности

    Ако желите да добијете стварни Н број највећих или најмањих вредности уместо њиховог рангирања, користите функцију ВЕЛИКА или МАЛА, респективно.

    На пример, можемо да добијемо прва 3 резултата наших ученика са овом формулом:

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

    Где је Б2:Б7 листа резултата, а Д3 је жељени ранг.

    Додатно, можете пронађите имена ученика користећи формулу ИНДЕКС МАТЦХ (под условом да нема дуплих резултата у прва 3):

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

    Слично, можете користите функцију СМАЛЛ да повучете доње 3 вредности:

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

    Тако се врши рангирање у Екцел-у. Да бисте боље разумели и вероватно извршили обрнути инжењеринг формуле о којима се говори у овом водичу, добродошли сте да преузмете нашу радну свеску Сампле Ранк Екцел.

    Хвала вам што сте читали и надам се да ћемо вас видети на нашем блогу следеће недеље!

    опадајућем редоследу, тј. од највеће до најмање.
  • Ако је 1 или било која друга вредност која није нула, вредности се рангирају растућим редоследом, тј. од најмањег до највећег.
  • Екцел РАНК .ЕК функција

    РАНК.ЕК је побољшана верзија функције РАНК, уведена у Екцел 2010. Има исту синтаксу као РАНК и ради са истом логиком: ако је неколико вредности једнако рангирано, највиши ранг се додељује свим таквим вредностима. (ЕК је скраћеница за „једнак“).

    РАНК.ЕК(број,реф,[ред])

    У Екцелу 2007 и старијим верзијама, увек треба да користите функцију РАНК. У Екцел 2010, Екцел 2013 и Екцел 2016 можете користити РАНК или РАНК.ЕК. Међутим, било би мудро користити РАНК.ЕК јер РАНК може бити прекинут у било ком тренутку.

    Екцел функција РАНК.АВГ

    РАНК.АВГ је још једна функција за проналажење ранга у Екцел-у која доступан је само у Екцел 2010, Екцел 2013, Екцел 2016 и новијим верзијама.

    Има исту синтаксу као и друге две функције:

    РАНК.АВГ(број,реф,[ред])

    Разлика је у томе што ако више од једног броја има исти ранг, враћа се просечан ранг (АВГ означава „просек“).

    4 ствари које треба да знате о РАНК-у у Екцел-у

    1. Било која формула за ранг у Екцел-у ради само за нумеричке вредности: позитивне и негативне бројеве, нуле, вредности датума и времена. Ненумеричке вредности у аргументу реф се занемарују.
    2. Све РАНК функције враћају исти ранг задуплирајте вредности и прескочите следеће рангирање, као што је приказано у примеру испод.
    3. У Екцел 2010 и новијим верзијама, функција РАНК је замењена са РАНК.ЕК и РАНК.АВГ. За компатибилност уназад, РАНК и даље ради у свим верзијама Екцел-а, али можда неће бити доступан у будућности.
    4. Ако број није пронађен унутар реф , било који Екцел функција ранга би вратила грешку #Н/А.

    Основна формула Екцел ранга (од највишег до најнижег)

    Да бисте стекли више разумевања о рангирању података у Екцел-у, имате погледајте овај снимак екрана:

    Све три формуле рангирају бројеве у колони Б у опадајућем редоследу (аргумент ред је изостављен):

    У свим верзијама Екцел 2003 - 2016:

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

    У Екцел 2010 - 2016:

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

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

    Разлика је у томе како ове формуле обрађују дуплиране вредности. Као што видите, исти резултат се појављује два пута, у ћелијама Б5 и Б6, што утиче на накнадно рангирање:

    • Формуле РАНК и РАНК.ЕК дају ранг 2 оба дуплирана резултата. Следећи највећи резултат (Даниела) је рангирана на 4. месту. Ранг 3 се не даје никоме.
    • Формула РАНК.АВГ додељује различит ранг сваком дупликату иза сцене (2 и 3 у овом примеру) и враћа просек тих рангова (2,5) . Опет, трећи ранг се никоме не додељује.

    Како користити РАНК у Екцел-у – примери формуле

    Путања доизврсност је, кажу, поплочана праксом. Дакле, да бисмо боље научили како да користите функцију РАНК у Екцел-у, саму или у комбинацији са другим функцијама, хајде да смислимо решења за неколико задатака из стварног живота.

    Како рангирати у Екцел-у од најнижег до највишег

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

    Да би број био рангиран у односу на друге бројеве сортиране у узлазном реду , ставите 1 или било коју другу вредност која није нула у опциони трећи аргумент.

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

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

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

    Обратите пажњу да закључавамо опсег у аргумент реф користећи апсолутне референце ћелије, тако да се неће променити када копирамо формулу низ колону.

    Као резултат, најнижа вредност (најбрже време) је рангирана као 1. а највећа вредност (најспорије време) добија најнижи ранг од 6. Једнака времена (Б2 и Б7) добијају исти ранг.

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

    Као што је раније истакнуто, све функције Екцел ранга враћају исти ранг за ставке једнаке вредности. Ако то не желите, користите једну од следећих формула да бисте решили ситуације брејка и дајте јединствени ранг сваком броју.

    Јединствено рангирање однајвише до најниже

    Да бисте рангирали математичке резултате наших ученика јединствено у опадајућем редоследу, користите ову формулу:

    =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

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

    Као што сте можда приметили, једина разлика између ове две формуле је аргумент ред функције РАНК.ЕК: изостављено за рангирање вредности опадајуће, 1 да се рангирају узлазно.

    У обе формуле, то је функција ЦОУНТИФ са паметном употребом релативних и апсолутних референци на ћелије оно што чини трик. Укратко, користите ЦОУНТИФ да бисте сазнали колико појављивања броја који се рангира има у горњим ћелијама, укључујући и ћелију броја. У горњем реду у који уносите формулу, опсег се састоји од једне ћелије ($Б$2:Б2). Али пошто закључавате само прву референцу ($Б$2), последња релативна референца (Б2) се мења на основу реда у који је формула копирана. Дакле, за ред 7, опсег се проширује на $Б$2:Б7, а вредност у Б7 се упоређује са сваком од горњих ћелија.

    Сходно томе, за сва 1. појављивања, ЦОУНТИФ враћа 1; и одузимате 1 на крају формуле да бисте вратили оригинални ранг.

    За 2. појављивања, ЦОУНТИФ враћа 2. Одузимањем 1 повећавате ранг за 1 поен, чиме се спречавају дупликати. Акодешава се да постоје 3 појављивања исте вредности, ЦОУНТИФ()-1 би додао 2 њиховом рангирању, и тако даље.

    Алтернативно решење за прекид везе у Екцел РАНК

    Други начин за рангирање бројеви у Екцел-у је јединствено сабирањем две функције ЦОУНТИФ:

    • Прва функција одређује колико је вредности веће или мање од броја који треба да се рангира, у зависности од тога да ли рангирате опадајуће или растуће, респективно.
    • Друга функција (са „опсегом проширења“ $Б$2:Б2 као у горњем примеру) добија број вредности једнак броју.

    На пример , да бисте јединствено рангирали бројеве од највишег до најнижег, користили бисте ову формулу:

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

    Као што је приказано на снимку екрана испод, тај-брејк је успешно решен, а јединствени ранг је додељено сваком ученику:

    Рангирање у Екцел-у на основу више критеријума

    Претходни пример је показао два радна решења за Екцел РАНК нерешену ситуацију. Међутим, може изгледати неправедно да су једнаки бројеви различито рангирани искључиво на основу њихове позиције на листи. Да бисте побољшали своје рангирање, можда ћете желети да додате још један критеријум који ће се узети у обзир у случају нерешеног резултата.

    У нашем скупу података примера, хајде да додамо укупне резултате у колону Ц и израчунамо ранг на следећи начин:

    • Прво, рангирајте са Математички резултат (главни критеријум)
    • Када је нерешено, разбијте га са Укупан резултат (секундарникритеријуми)

    Да бисмо то урадили, користићемо регуларну формулу РАНК/РАНК.ЕК да пронађемо ранг и функцију ЦОУНТИФС да прекинемо нерешено:

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

    У поређењу са горњим примером, ова формула за рангирање је објективнија: Тимоти је рангиран на 2. јер је његов укупан резултат већи од Јулијиног:

    Како ова формула ради

    РАНК део формуле је очигледан, а функција ЦОУНТИФС ради следеће:

    • Први опсег_критеријума / критеријум пар ($Б$2:$Б$7,$Б2) броји појављивања вредности коју рангирате. Имајте на уму да поправљамо опсег са апсолутним референцама, али не закључавамо ред критеријума ($Б2) тако да формула проверава вредност у сваком реду појединачно.
    • Други пар опсег_критеријума / критеријум ($Ц$2:$Ц$7,"&гт;"&амп;$Ц2) открива колико је укупних резултата веће од укупан резултат вредности која се рангира.

    Пошто ЦОУНТИФС ради са АНД логиком, тј. броји само ћелије које испуњавају све наведене услове, враћа 0 за Тимотија јер ниједан други ученик са истом математиком резултат има већи укупан резултат. Дакле, Тимотијев ранг који је вратио РАНК.ЕК је непромењен. За Јулију, функција ЦОУНТИФС враћа 1 јер један ученик са истим резултатом из математике има већи укупан број, па се њен број ранга повећава за 1. Ако је још један ученик имао исти резултат из математике, а укупан резултат мањиод Тимотија и Џулије, његов/њен ранг би се повећао за 2 и тако даље.

    Алтернативна решења за рангирање бројева са више критеријума

    Уместо функције РАНК или РАНК.ЕК , можете да користите ЦОУНТИФ да проверите главне критеријуме, а ЦОУНТИФС или СУМПРОДУЦТ да решите нерешени резултат:

    =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

    Резултат ових формула је потпуно исти као што је приказано изнад.

    Како израчунати процентилни ранг у Екцел-у

    У статистици, перцентил (или центил ) је вредност испод које одређени проценат вредности у датом скупу података опада. На пример, ако је 70% ученика једнако или испод вашег резултата теста, ваш процентни ранг је 70.

    Да бисте добили проценат у Екцелу, користите функцију РАНК или РАНК.ЕК са ненула ордер аргумент за рангирање бројева од најмањег до највећег, а затим поделите ранг са бројем бројева. Дакле, генеричка формула Екцел Перцентиле Ранк иде на следећи начин:

    РАНК.ЕК( највиша_ћелија, опсег,1)/ЦОУНТ( опсег)

    Да бисмо израчунали процентилни ранг наших ученика, формула има следећи облик:

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

    Да би резултати били исправно приказани, обавезно поставите Проценат формат у ћелије формуле:

    Како рангирати бројеве у несуседним ћелијама

    У ситуацијама када треба да рангирате не- суседне ћелије, наведите те ћелије директно у аргументу реф ваше формуле Екцел ранга у облику референтне уније, закључавајући референце знаком $. На пример:

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

    Да бисте спречили грешке у нерангираним ћелијама, умотајте РАНК у функцију ИФЕРРОР, овако:

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

    Молимо да приметите да је дупликат броја такође добио ранг, иако ћелија Б5 није укључена у формулу:

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

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

    Како рангирати у Екцел-у по групи

    Када радите са уносима организованим у неку врсту структуре података, подаци могу припадати различитим групама и можда ћете желети да рангирате бројеве унутар сваке групе појединачно. Екцел функција РАНК не може да реши овај изазов, па ћемо користити сложенију формулу СУМПРОИЗВОД:

    Рангирај по групи у опадајућем редоследу:

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

    Рангирај по групи у узлазном редоследу:

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

    Где су:

    • А2:А7 групе додељене бројевима.
    • Ц2:Ц7 су бројеви које треба рангирати.

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

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

    У суштини, формула процењује 2 услова:

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

    Мајкл Браун је посвећен технолошки ентузијаста са страшћу за поједностављење сложених процеса помоћу софтверских алата. Са више од деценије искуства у технолошкој индустрији, усавршио је своје вештине у Мицрософт Екцел-у и Оутлоок-у, као и у Гоогле табеле и документима. Мајклов блог посвећен је дељењу свог знања и стручности са другима, пружајући једноставне савете и упутства за побољшање продуктивности и ефикасности. Без обзира да ли сте искусан професионалац или почетник, Мајклов блог нуди вредне увиде и практичне савете како да на најбољи начин искористите ове основне софтверске алате.