Excel RANK-funksjon og andre måter å beregne rangering på

  • Dele Denne
Michael Brown

Opplæringen forklarer spesifisitetene til Excel-rangeringsfunksjonene og viser hvordan du rangerer i Excel basert på flere kriterier, rangerer data etter gruppe, beregner persentilrangering og mer.

Når du skal bestemme den relative plasseringen av et tall i en liste med tall, er den enkleste måten å sortere tallene i stigende eller synkende rekkefølge. Hvis sortering av en eller annen grunn ikke er mulig, er en Rank-formel i Excel det perfekte verktøyet for å gjøre jobben.

    Excel RANK-funksjonen

    RANK-funksjonen i Excel returnerer rekkefølgen (eller rangeringen) av en numerisk verdi sammenlignet med andre verdier i samme liste. Med andre ord, den forteller deg hvilken verdi som er høyest, nest høyeste osv.

    I en sortert liste vil rangeringen av et visst tall være posisjonen. RANK-funksjonen i Excel kan bestemme rangeringen som starter med den største verdien (som om den er sortert i synkende rekkefølge) eller den minste verdien (som om den er sortert i stigende rekkefølge).

    Syntaksen til Excel RANK-funksjonen er som følger:

    RANK(nummer,ref,[ordre])

    Hvor:

    Nummer (påkrevd) - verdien du vil finne rangeringen til.

    Ref (obligatorisk) - en liste over numeriske verdier å rangere mot. Den kan leveres som en rekke tall eller en referanse til listen over tall.

    Rekkefølge (valgfritt) - et tall som spesifiserer hvordan verdier skal rangeres:

    • Hvis 0 eller utelatt, blir verdiene rangert iTRUE og FALSE basert på om et områdeelement tilhører samme gruppe som A2.
    • For det andre sjekker du poengsummen. For å rangere verdier fra størst til minste ( synkende rekkefølge ), bruk betingelsen (C2<$C$2:$C$11), som returnerer TRUE for cellene større enn eller lik C2, ellers FALSE.

    Siden i Microsoft Excel-termer, TRUE = 1 og FALSE = 0, gir multiplisering av de to matrisene en matrise med 1-er og 0-er, der 1 returneres kun for radene der begge betingelsene er oppfylt.

    Deretter legger SUMPRODUCT sammen elementene i 1- og 0-er-matrisen, og returnerer derfor 0 for det største tallet i hver gruppe. Og du legger til 1 i resultatet for å begynne å rangere med 1.

    Formelen som rangerer tall innenfor grupper fra minste til største ( stigende rekkefølge ) fungerer med det samme logikk. Forskjellen er at SUMPRODUCT returnerer 0 for det minste tallet i en bestemt gruppe, siden ingen tall i den gruppen oppfyller den andre betingelsen (C2>$C$2:$C$7). Igjen erstatter du null rangering med 1. rangering ved å legge til 1 i formelresultatet.

    I stedet for SUMPRODUCT, kan du bruke SUM-funksjonen til å legge sammen matriseelementene. Men dette vil kreve bruk av en matriseformel, fullført med Ctrl + Shift + Enter. For eksempel:

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

    Hvordan rangere positive og negative tall separat

    Hvis talllisten inneholder både positive og negative verdier, kan Excel RANK-funksjonenvil rangere dem alle på kort tid. Men hva om du vil ha positive og negative tall rangert separat?

    Med tall i cellene A2 til A10, bruk en av følgende formler for å få individuell rangering for positive og negative verdier:

    Ranger positive tall synkende:

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

    Ranger positive tall stigende:

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

    Ranger negative tall synkende:

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

    Ranger negative tall stigende:

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

    Resultatene vil se noe lignende ut:

    Hvordan disse formlene fungerer

    Til å begynne med, la oss bryte ned formelen som rangerer positive tall i synkende rekkefølge:

    • I den logiske testen av HVIS-funksjonen, sjekker du om tallet er større enn null.
    • Hvis tallet er større enn 0, returnerer ANTALLHVIS-funksjonen antallet verdier høyere enn tallet som rangeres.

      I dette eksemplet inneholder A2 det nest høyeste positive tallet, som COUNTIF returnerer 1 for, noe som betyr at det bare er ett tall større enn det. For å starte rangeringen vår med 1, ikke 0, legger vi til 1 til formelresultatet, så det returnerer en rangering på 2 for A2.

    • Hvis tallet er større enn 0, returnerer formelen en tom streng ("").

    Formelen som rangerer positive tall i stigende rekkefølge fungerer litt annerledes:

    Hvis tallet er større enn 0 , den første COUNTIF får det totale antalletpositive tall i datasettet, og det andre COUNTIF finner ut hvor mange verdier som er høyere enn det tallet. Deretter trekker du sistnevnte fra førstnevnte, og får ønsket rangering. I dette eksemplet er det 5 positive verdier, hvorav 1 er større enn A2. Så du trekker 1 fra 5, og får dermed rangeringen 4 for A2.

    Formler for å rangere negative tall er basert på en lignende logikk.

    Merk. Alle formlene ovenfor ignorerer nullverdier fordi 0 verken tilhører settet med positive eller til settet med negative tall. For å inkludere nuller i rangeringen, bytt ut henholdsvis >0 og ​​=0 og <=0, der formellogikken krever det.

    For å rangere positive tall og nuller fra størst til minste, bruk for eksempel denne formel: =IF($A2>=0,COUNTIF($A$2:$A$10,">"&A2)+1,"")

    Hvordan rangere data i Excel ignorerer nullverdier

    Som du allerede vet, er en RANK-formel at Excel håndterer alle tall: positive, negative og nuller. Men i noen tilfeller ønsker vi bare å rangere celler med data som ignorerer 0 verdier. På nettet kan du finne noen mulige løsninger for denne oppgaven, men Excel RANK IF-formelen, methinks, er den mest universelle:

    Rangertall synkende ignorerer null:

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

    Rangertall stigende ignorerer null:

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

    Hvor B2:B10 er rekkevidden av tall som skal rangeres.

    Det beste med denne formelen er at det fungerer vakkert både for positive og negative tall, forlaternull verdier utenfor rangering:

    Hvordan denne formelen fungerer

    Ved første øyekast kan formelen virke litt vanskelig. Ved en nærmere titt er logikken veldig enkel.

    Slik rangerer Excel RANK IF-formelen tall fra største til minste og ignorerer nuller:

    • Den første HVIS kontrollerer om tallet er 0, og hvis det er det, returnerer en tom streng:

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

    • Hvis tallet ikke er null, sjekker det andre HVIS om det er større enn 0, og hvis den er det, beregner en vanlig RANK / RANK.EQ-funksjon sin rangering:

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

    • Hvis tallet er mindre enn 0, justerer du rangeringen med nulltellingen. I dette eksemplet er det 4 positive tall og 2 nuller. Så for det største negative tallet i B10 vil en Excel RANK-formel returnere 7. Men vi hopper over nuller, og derfor må vi justere rangeringen med 2 poeng. For dette trekker vi antall nuller fra rangeringen:

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

    Ja, så enkelt er det! Formelen for å rangere tall fra minste til største og ignorere nuller fungerer på lignende måte, og det kan være en god hjerneøvelse for å utlede logikken :)

    Hvordan beregne rangering i Excel etter absolutt verdi

    Når du arbeider med en liste over positive og negative verdier, kan det være behov for å rangere tall etter deres absolutte verdier og ignorere tegnet.

    Oppgaven kan utføresmed en av formlene nedenfor, som i hjertet er ABS-funksjonen som returnerer den absolutte verdien av et tall:

    Rank ABS synkende:

    =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

    Rank ABS stigende:

    =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

    Som resultat blir negative tall rangert som om de var positive tall:

    Hvordan få N størst eller minste verdier

    Hvis du ønsker å få et faktisk N-nummer av de største eller minste verdiene i stedet for deres rangering, bruk henholdsvis LARGE eller SMALL-funksjonen.

    Vi kan for eksempel få de 3 beste poengsummene til elevene våre med denne formelen:

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

    Hvor B2:B7 er listen over poeng og D3 er ønsket rangering.

    I tillegg kan du hente elevenes navn ved å bruke INDEX MATCH-formelen (forutsatt at det ikke er noen dupliserte poengsummer i topp 3):

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

    På samme måte kan du bruk SMALL-funksjonen til å trekke de 3 nederste verdiene:

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

    Slik gjør du rangering i Excel. For bedre å forstå og sannsynligvis reversere formlene som er diskutert i denne opplæringen, er du velkommen til å laste ned vår Sample Rank Excel-arbeidsbok.

    Jeg takker for at du leste og håper å se deg på bloggen vår neste uke!

    synkende rekkefølge, dvs. fra størst til minste.
  • Hvis 1 eller en annen verdi som ikke er null, rangeres verdiene i stigende rekkefølge, dvs. fra minste til største.
  • Excel RANK .EQ-funksjon

    RANK.EQ er en forbedret versjon av RANK-funksjonen, introdusert i Excel 2010. Den har samme syntaks som RANK og fungerer med samme logikk: hvis flere verdier er rangert likt, er den høyeste rangeringen er tildelt alle slike verdier. (EQ står for "lik").

    RANK.EQ(nummer,ref,[ordre])

    I Excel 2007 og lavere versjoner bør du alltid bruke RANK-funksjonen. I Excel 2010, Excel 2013 og Excel 2016 kan du velge enten RANK eller RANK.EQ. Det vil imidlertid være lurt å bruke RANK.EQ fordi RANK kan avbrytes når som helst.

    Excel RANK.AVG-funksjon

    RANK.AVG er en annen funksjon for å finne rangering i Excel som er kun tilgjengelig i Excel 2010, Excel 2013, Excel 2016 og senere.

    Den har samme syntaks som de to andre funksjonene:

    RANK.AVG(tall,ref,[rekkefølge])

    Forskjellen er at hvis mer enn ett tall har samme rangering, returneres gjennomsnittlig rangering (AVG står for "gjennomsnittlig").

    4 ting du bør vite om RANK i Excel

    1. Enhver rangformel i Excel fungerer bare for numeriske verdier: positive og negative tall, nuller, dato- og klokkeslettverdier. Ikke-numeriske verdier i ref -argumentet ignoreres.
    2. Alle RANK-funksjoner returnerer samme rangering fordupliserte verdier, og hopp over påfølgende rangering, som vist i eksempelet nedenfor.
    3. I Excel 2010 og senere versjoner er RANK-funksjonen erstattet med RANK.EQ og RANK.AVG. For bakoverkompatibilitet fungerer RANK fortsatt i alle versjoner av Excel, men den vil kanskje ikke være tilgjengelig i fremtiden.
    4. Hvis nummer ikke finnes innenfor ref , kan evt. Excel Rank-funksjonen vil returnere #N/A-feilen.

    Grunnleggende Excel-rangeringsformel (fra høyeste til laveste)

    For å få mer forståelse om rangering av data i Excel, vennligst ha en se på dette skjermbildet:

    Alle tre formlene rangerer tallene i kolonne B i synkende rekkefølge (argumentet rekkefølge utelatt):

    I alle versjoner av Excel 2003 - 2016:

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

    I Excel 2010 - 2016:

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

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

    Forskjellen ligger i hvordan disse formlene behandler dupliserte verdier. Som du ser, vises den samme poengsummen to ganger, i celle B5 og B6, noe som påvirker etterfølgende rangering:

    • Formlene RANK og RANK.EQ gir en rangering på 2 til begge duplikatskårene. Den nest høyeste poengsummen (Daniela) er rangert som nummer 4. En rangering på 3 gis ikke til noen.
    • RANK.AVG-formelen tildeler en annen rangering til hvert duplikat bak kulissene (2 og 3 i dette eksemplet), og returnerer gjennomsnittet av disse rangeringene (2,5) . Igjen, 3. rangering er ikke tildelt noen.

    Hvordan bruke RANK i Excel - formeleksempler

    Veien tilfortreffelighet, sier de, er brolagt med praksis. Så, for bedre å lære å bruke RANK-funksjonen i Excel, alene eller i kombinasjon med andre funksjoner, la oss finne løsninger på noen få virkelige oppgaver.

    Hvordan rangere i Excel fra lavest til høyest

    Som vist i eksemplet ovenfor, for å rangere tall fra høyeste til laveste, bruker du en av Excel Rank-formlene med ordre -argumentet satt til 0 eller utelatt (standard).

    For å få tall rangert mot andre tall sortert i stigende rekkefølge , legg inn 1 eller en annen verdi som ikke er null i det valgfrie tredje argumentet.

    For eksempel, for å rangere 100 meter sprinttidene til elevene, kan du bruke en av formlene nedenfor:

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

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

    Vær oppmerksom på at vi låser rekkevidden inn ref -argumentet ved å bruke absolutte cellereferanser, slik at det ikke endres når vi kopierer formelen nedover kolonnen.

    Som resultat, laveste verdi (raskeste tid) rangeres som 1. og største verdi (tregeste tid) får laveste rangering på 6. De like tider (B2) og B7) gis samme rangering.

    Hvordan rangere data unikt i Excel

    Som påpekt tidligere, returnerer alle Excel-rangeringsfunksjonene samme rangering for elementer med lik verdi. Hvis du ikke ønsker det, bruk en av følgende formler for å løse tie-break-situasjoner og gi en unik rangering til hvert tall.

    Unik rangering frahøyest til lavest

    For å rangere matematikkpoengsummene til elevene våre unikt i synkende rekkefølge, bruk denne formelen:

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

    Unik rangering fra laveste til høyeste

    For å rangere resultatene fra 100 meter løp i stigende rekkefølge uten duplikater, bruk denne formelen:

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

    Hvordan disse formlene fungerer

    Som du kanskje har lagt merke til, er den eneste forskjellen mellom de to formlene ordre -argumentet til RANK.EQ-funksjonen: utelatt å rangere verdier synkende, 1 for å rangere stigende.

    I begge formlene er det COUNTIF-funksjonen med smart bruk av relative og absolutte cellereferanser som gjør susen. Kort fortalt bruker du COUNTIF for å finne ut hvor mange forekomster av nummeret som rangeres det er i cellene ovenfor, inkludert nummerets celle. I den øverste raden der du skriver inn formelen, består området av en enkelt celle ($B$2:B2). Men fordi du låser bare den første referansen ($B$2), endres den siste relative referansen (B2) basert på raden der formelen er kopiert. Derfor, for rad 7, utvides området til $B$2:B7, og verdien i B7 sammenlignes med hver av cellene ovenfor.

    For alle 1. forekomster returnerer derfor COUNTIF 1; og du trekker fra 1 på slutten av formelen for å gjenopprette den opprinnelige rangeringen.

    For andre forekomster returnerer COUNTIF 2. Ved å trekke fra 1 øker du rangeringen med 1 poeng, og forhindrer dermed duplikater. Hvisdet er tilfeldigvis 3 forekomster av samme verdi, COUNTIF()-1 vil legge til 2 til rangeringen, og så videre.

    Alternativ løsning for å bryte Excel RANK-tilknytninger

    En annen måte å rangere på tall i Excel er unikt ved å legge sammen to COUNTIF-funksjoner:

    • Den første funksjonen bestemmer hvor mange verdier som er større enn eller mindre enn tallet som skal rangeres, avhengig av om du rangerer synkende eller stigende, henholdsvis.
    • Den andre funksjonen (med det "utvidende området" $B$2:B2 som i eksemplet ovenfor) får antall verdier lik tallet.

    For eksempel , for å rangere tall unikt fra høyeste til laveste, bruker du denne formelen:

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

    Som vist på skjermbildet nedenfor, er tie-breaket løst, og en unik rangering er tildelt hver student:

    Rangering i Excel basert på flere kriterier

    Det forrige eksemplet har vist to fungerende løsninger for en Excel RANK tie break-situasjon. Det kan imidlertid virke urettferdig at like tall rangeres ulikt kun basert på deres plassering på listen. For å forbedre rangeringen din kan det være lurt å legge til ett kriterium til som skal vurderes i tilfelle uavgjort.

    I vårt eksempeldatasett, la oss legge til totalpoeng i kolonne C og beregne rangering som følger:

    • Først rangerer du med Mattepoeng (hovedkriteriet)
    • Når det er uavgjort, bryter du det med Totalscore (sekundært)kriterier)

    For å få det gjort, vil vi bruke en vanlig RANK/RANK.EQ-formel for å finne rangering, og COUNTIFS-funksjonen for å bryte uavgjort:

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

    Sammenlignet med eksemplet ovenfor er denne rangeringsformelen mer objektiv: Timothy er rangert som nummer 2 fordi hans totale poengsum er høyere enn Julia:

    Hvordan denne formelen fungerer

    RANK-delen av formelen er åpenbar, og COUNTIFS-funksjonen gjør følgende:

    • Det første criteria_range / kriteriet par ($B$2:$B$7,$B2) teller forekomstene av verdien du rangerer. Vær oppmerksom på at vi fikser området med absolutte referanser, men ikke lås kriteriet s rad ($B2) slik at formelen kontrollerer verdien i hver rad individuelt.
    • Det andre criteria_range / criteria -paret ($C$2:$C$7,">"&$C2) finner ut hvor mange totalpoeng som er høyere enn total poengsum for verdien som rangeres.

    Fordi COUNTIFS fungerer med OG-logikken, dvs. teller bare celler som oppfyller alle de spesifiserte betingelsene, returnerer den 0 for Timothy siden ingen andre elever med samme matematikk score har en høyere totalscore. Derfor er Timothys rangering returnert av RANK.EQ uendret. For Julia returnerer COUNTIFS-funksjonen 1 fordi én elev med samme matematikkpoengsum har en høyere total, så hennes rangeringsnummer økes med 1. Hvis én til eleven hadde samme mattepoengsum og en totalpoengsum lavereenn for Timothy og Julia, vil hans/hennes rangering økes med 2, og så videre.

    Alternative løsninger for å rangere tall med flere kriterier

    I stedet for RANK- eller RANK.EQ-funksjonen , du kan bruke COUNTIFS for å sjekke hovedkriteriene, og COUNTIFS eller SUMPRODUCT for å løse et uavgjort resultat:

    =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

    Resultatet av disse formlene er nøyaktig det samme som vist ovenfor.

    Hvordan beregne prosentilrangering i Excel

    I statistikk er en persentil (eller centil ) verdien under som en en viss prosentandel av verdier i et gitt datasett faller. For eksempel, hvis 70 % av studentene er lik eller under testpoengsummen din, er prosentilrangeringen din 70.

    For å få prosentilrangering i Excel, bruk RANK- eller RANK.EQ-funksjonen med en ikke-null ordre argument for å rangere tall fra minste til største, og deretter dele rangeringen på antall tall. Så den generiske Excel Percentile Rank-formelen går som følger:

    RANK.EQ( øverste_celle, område,1)/COUNT( område)

    For å beregne prosentilrangeringen til elevene våre, har formelen følgende form:

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

    For å få resultatene vist riktig, sørg for å sette Prosentandel -format til formelcellene:

    Hvordan rangere tall i ikke-tilstøtende celler

    I situasjoner når du trenger å rangere ikke- sammenhengende celler, oppgi disse cellene direkte i ref -argumentetav Excel Rank-formelen i form av en referanseunion, og låser referansene med $-tegnet. For eksempel:

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

    For å forhindre feil i ikke-rangerte celler, pakk RANK i IFERROR-funksjonen, slik:

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

    Vær oppmerksom på at et duplikatnummer også gis en rangering, selv om celle B5 ikke er inkludert i formelen:

    Hvis du trenger å rangere flere ikke-sammenhengende celler, kan formelen ovenfor bli for lang. I dette tilfellet vil en mer elegant løsning være å definere et navngitt område og referere til det navnet i formelen:

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

    Hvordan rangere i Excel etter gruppe

    Når du arbeider med oppføringer organisert i en slags datastruktur, kan data tilhøre ulike grupper, og du vil kanskje rangere tall innenfor hver gruppe individuelt. Excel RANK-funksjonen kan ikke løse denne utfordringen, så vi kommer til å bruke en mer kompleks SUMPRODUCT-formel:

    Ranger etter gruppe i synkende rekkefølge:

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

    Ranger etter gruppe i stigende rekkefølge:

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

    Hvor:

    • A2:A7 er grupper tilordnet tall.
    • C2:C7 er tall som skal rangeres.

    I dette eksempelet bruker vi den første formelen for å rangere tall i hver gruppe fra størst til minste:

    Hvordan denne formelen fungerer

    I hovedsak evaluerer formelen to forhold:

    • Først sjekker du gruppen (A2= $A$2:$A$7). Denne delen returnerer en rekke av

    Michael Brown er en dedikert teknologientusiast med en lidenskap for å forenkle komplekse prosesser ved hjelp av programvareverktøy. Med mer enn ti års erfaring i teknologibransjen, har han forbedret ferdighetene sine i Microsoft Excel og Outlook, samt Google Sheets og Docs. Michaels blogg er dedikert til å dele sin kunnskap og ekspertise med andre, og gir enkle å følge tips og veiledninger for å forbedre produktivitet og effektivitet. Enten du er en erfaren profesjonell eller nybegynner, tilbyr Michaels blogg verdifull innsikt og praktiske råd for å få mest mulig ut av disse viktige programvareverktøyene.