Funció RANK d'Excel i altres maneres de calcular la classificació

  • Comparteix Això
Michael Brown

El tutorial explica les especificitats de les funcions de classificació d'Excel i mostra com fer una classificació a Excel en funció de diversos criteris, classificar les dades per grup, calcular la classificació percentil i molt més.

Quan necessiteu determinar la posició relativa d'un nombre en una llista de números, la manera més senzilla és ordenar els nombres en ordre ascendent o descendent. Si per algun motiu no és possible ordenar, una fórmula de classificació a Excel és l'eina perfecta per fer la feina.

    Funció RANK d'Excel

    La funció RANK d'Excel retorna l'ordre (o el rang) d'un valor numèric en comparació amb altres valors de la mateixa llista. En altres paraules, us indica quin valor és el més alt, el segon més alt, etc.

    En una llista ordenada, el rang d'un nombre determinat seria la seva posició. La funció RANK d'Excel pot determinar la classificació començant pel valor més gran (com si s'hagi ordenat en ordre descendent) o el valor més petit (com si s'hagi ordenat en ordre ascendent).

    La sintaxi de la funció RANK d'Excel és com segueix:

    RANK(nombre,ref,[orde])

    On:

    Nombre (obligatori): el valor del qual voleu trobar la classificació.

    Ref (obligatori): una llista de valors numèrics amb els quals es pot classificar. Es pot proporcionar com una matriu de números o una referència a la llista de números.

    Ordre (opcional): un número que especifica com classificar els valors:

    • Si s'omet o 0, els valors es classifiquen aVERTADER i FALS en funció de si un element d'interval pertany al mateix grup que A2.
    • En segon lloc, comproveu la puntuació. Per classificar els valors del més gran al més petit ( ordre descendent ), utilitzeu la condició (C2<$C$2:$C$11), que retorna TRUE per a les cel·les superiors o iguals a C2, FALSE en cas contrari.

    Com que en termes de Microsoft Excel, TRUE = 1 i FALSE = 0, la multiplicació de les dues matrius dóna una matriu d'1 i 0, on només es retorna 1 per a les files en què es compleixen ambdues condicions.

    A continuació, SUMPRODUCT suma els elements de la matriu d'1 i 0, per tant retorna 0 per al nombre més gran de cada grup. I afegiu 1 al resultat per començar a classificar-se amb 1.

    La fórmula que classifica els números dins dels grups de més petit a més gran ( ordre ascendent ) funciona amb el mateix lògica. La diferència és que SUMPRODUCT retorna 0 per al nombre més petit d'un grup concret, ja que cap nombre d'aquest grup compleix la segona condició (C2>$C$2:$C$7). De nou, substituïu el rang zero amb el primer rang afegint 1 al resultat de la fórmula.

    En lloc de SUMAPRODUCTE, podeu utilitzar la funció SUMA per sumar els elements de la matriu. Però això requeriria utilitzar una fórmula de matriu, completada amb Ctrl + Maj + Retorn . Per exemple:

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

    Com classificar els nombres positius i negatius per separat

    Si la vostra llista de números conté valors tant positius com negatius, la funció RANK d'Excelels classificarà tots en molt poc temps. Però, què passa si voleu que els nombres positius i negatius es classifiquen per separat?

    Amb els números de les cel·les A2 a A10, utilitzeu una de les fórmules següents per obtenir una classificació individual dels valors positius i negatius:

    Clasificació descendent de nombres positius:

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

    Clasificació ascendent de nombres positius:

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

    Clasificació descendent de nombres negatius:

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

    Ranifica els nombres negatius ascendent:

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

    Els resultats tindran un aspecte semblant a això:

    Com funcionen aquestes fórmules

    Per començar, desglossem la fórmula que classifica els nombres positius en ordre descendente :

    • A la prova lògica de la funció SI, comproveu si el nombre és més gran que zero.
    • Si el nombre és més gran que 0, la funció COUNTIF retorna el recompte de valors superiors al nombre que s'està classificant.

      En aquest exemple, A2 conté el segon nombre positiu més alt, per al qual COUNTIF retorna 1, és a dir, només hi ha un nombre més gran que ell. Per començar la nostra classificació amb 1, no 0, afegim 1 al resultat de la fórmula, de manera que retorna un rang de 2 per a A2.

    • Si el nombre és superior a 0, la fórmula retorna una cadena buida ("").

    La fórmula que classifica els nombres positius en ordre creixent funciona una mica diferent:

    Si el nombre és superior a 0 , el primer COUNTIF obté el recompte total denombres positius al conjunt de dades i el segon COUNTIF descobreix quants valors són superiors a aquest nombre. Aleshores, resteu el segon del primer i obteniu el rang desitjat. En aquest exemple, hi ha 5 valors positius, 1 dels quals és més gran que A2. Per tant, resteu 1 de 5, obtenint així un rang de 4 per a A2.

    Les fórmules per classificar nombres negatius es basen en una lògica similar.

    Nota. Totes les fórmules anteriors ignoren els valors zero perquè 0 no pertany ni al conjunt de nombres positius ni al conjunt de nombres negatius. Per incloure zeros a la vostra classificació, substituïu >0 i =0 i <=0, respectivament, on ho requereixi la fórmula lògica.

    Per exemple, per classificar els nombres positius i els zeros de més gran a més petit, utilitzeu aquesta fórmula: =IF($A2>=0,COUNTIF($A$2:$A$10,">"&A2)+1,"")

    Com classificar les dades a Excel ignorant els valors zero

    Com ja sabeu, una fórmula RANK és que Excel gestiona tots els nombres: positius, negatius i zeros. Però en alguns casos, només volem classificar les cel·les amb dades ignorant els valors 0. Al web, podeu trobar algunes solucions possibles per a aquesta tasca, però la fórmula d'Excel RANK IF, em sembla, és la més universal:

    Ranificar els nombres decreixent ignorant zero:

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

    Ranificar els números ascendent ignorant zero:

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

    On B2:B10 és l'interval de nombres que cal classificar.

    El millor d'aquesta fórmula és que funciona molt bé tant per a nombres positius com negatius, sortintzero valors fora de la classificació:

    Com funciona aquesta fórmula

    A primera vista, la fórmula pot semblar una mica complicada. En una ullada més de prop, la lògica és molt senzilla.

    Així és com la fórmula d'Excel RANK IF classifica els nombres del més gran al més petit ignorant zeros:

    • El primer SI comprova si el nombre és 0, i si ho és, retorna una cadena buida:

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

    • Si el nombre no és zero, el segon SI comprova si és més gran que 0, i si ho és, una funció normal RANK / RANK.EQ calcula el seu rang:

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

    • Si el nombre és inferior a 0, ajusteu la classificació pel recompte zero. En aquest exemple, hi ha 4 nombres positius i 2 zeros. Per tant, per al nombre negatiu més gran de B10, una fórmula de RANK d'Excel retornaria 7. Però saltem zeros i, per tant, hem d'ajustar la classificació en 2 punts. Per a això, restem el nombre de zeros del rang:

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

    Sí, així de fàcil! La fórmula per classificar els nombres del més petit al més gran ignorant zeros funciona de manera similar, i podria ser un bon exercici cerebral per deduir la seva lògica :)

    Com calcular el rang a Excel per valor absolut

    Quan es tracta d'una llista de valors positius i negatius, pot haver-hi necessitat de classificar els nombres segons els seus valors absoluts ignorant el signe.

    La tasca es pot complir.amb una de les fórmules següents, al cor de la qual hi ha la funció ABS que retorna el valor absolut d'un nombre:

    Ranking ABS descendent:

    =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

    Ranking ABS ascendent:

    =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

    Com a resultat, els nombres negatius es classifiquen com si fossin nombres positius:

    Com obtenir N més gran o valors més petits

    Si voleu obtenir un nombre N real dels valors més grans o més petits en lloc de la seva classificació, utilitzeu la funció GRAN o PETIT, respectivament.

    Per exemple, podem obtenir les 3 millors puntuacions dels nostres estudiants amb aquesta fórmula:

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

    On B2:B7 és la llista de puntuacions i D3 és el rang desitjat.

    A més, podeu recuperar els noms dels estudiants mitjançant la fórmula INDEX MATCH (sempre que no hi hagi puntuacions duplicades entre els 3 primers):

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

    De la mateixa manera, podeu utilitzeu la funció PETIT per treure els 3 valors inferiors:

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

    Així és com feu la classificació a Excel. Per entendre millor i, probablement, fer enginyeria inversa de les fórmules que es comenten en aquest tutorial, us convidem a baixar-vos el nostre quadern de treball de Sample Rank Excel.

    Gràcies per llegir-lo i esperem veure't al nostre bloc la setmana vinent!

    ordre descendent, és a dir, de més gran a més petit.
  • Si és 1 o qualsevol altre valor diferent de zero, els valors es classifiquen en ordre ascendent, és a dir, de més petit a més gran.
  • RANG D'Excel Funció .EQ

    RANK.EQ és una versió millorada de la funció RANK, introduïda a Excel 2010. Té la mateixa sintaxi que RANK i funciona amb la mateixa lògica: si diversos valors es classifiquen per igual, el rang més alt. s'assigna a tots aquests valors. (EQ significa "igual").

    RANK.EQ(nombre,ref,[orde])

    A Excel 2007 i versions inferiors, sempre hauríeu d'utilitzar la funció RANK. A Excel 2010, Excel 2013 i Excel 2016, podeu anar amb RANK o RANK.EQ. Tanmateix, seria convenient utilitzar RANK.EQ perquè RANK es pot suspendre en qualsevol moment.

    Funció d'Excel RANK.AVG

    RANK.AVG és una altra funció per trobar la classificació a Excel que només està disponible a Excel 2010, Excel 2013, Excel 2016 i posteriors.

    Té la mateixa sintaxi que les altres dues funcions:

    RANK.AVG(nombre,ref,[orde])

    La diferència és que si més d'un nombre té el mateix rang, es retorna el ranking mitjà (AVG significa "mitjana").

    4 coses que hauríeu de saber sobre RANK a Excel

    1. Qualsevol fórmula de classificació a Excel només funciona per a valors numèrics: nombres positius i negatius, zeros, valors de data i hora. Els valors no numèrics de l'argument ref s'ignoren.
    2. Totes les funcions RANK retornen el mateix rang per aduplicar valors i saltar la classificació posterior, tal com es mostra a l'exemple següent.
    3. A Excel 2010 i versions posteriors, la funció RANK s'ha substituït per RANK.EQ i RANK.AVG. Per compatibilitat enrere, RANK encara funciona en totes les versions d'Excel, però pot ser que no estigui disponible en el futur.
    4. Si no es troba número dins de ref , qualsevol La funció de classificació d'Excel retornaria l'error #N/A.

    Fórmula bàsica de classificació d'Excel (de més alt a més baix)

    Per obtenir més informació sobre la classificació de les dades a Excel, tingueu un mireu aquesta captura de pantalla:

    Les tres fórmules classifiquen els números a la columna B en ordre descendent (s'ha omès l'argument ordre ):

    En totes les versions d'Excel 2003 - 2016:

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

    A Excel 2010 - 2016:

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

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

    La diferència està en com aquestes fórmules processen els valors duplicats. Com veieu, la mateixa puntuació apareix dues vegades, a les cel·les B5 i B6, la qual cosa afecta la classificació posterior:

    • Les fórmules RANK i RANK.EQ donen un rang de 2 a les dues puntuacions duplicades. La següent puntuació més alta (Daniela) ocupa la quarta posició. No s'atorga un rang de 3 a ningú.
    • La fórmula RANK.AVG assigna un rang diferent a cada duplicat entre bastidors (2 i 3 en aquest exemple) i retorna la mitjana d'aquests rangs (2,5). . De nou, la tercera classificació no s'assigna a ningú.

    Com utilitzar RANK a Excel: exemples de fórmules

    El camí al'excel·lència, diuen, està pavimentada de pràctica. Per tant, per aprendre millor a utilitzar la funció RANK a Excel, sols o en combinació amb altres funcions, busquem solucions per a algunes tasques de la vida real.

    Com classificar a Excel de més baix a més alt

    Com es mostra a l'exemple anterior, per classificar els números del més alt al més baix, utilitzeu una de les fórmules de classificació d'Excel amb l'argument orde establert a 0 o omès (per defecte).

    Per tenir nombre classificat amb altres números ordenats en ordre ascendent , poseu 1 o qualsevol altre valor diferent de zero al tercer argument opcional.

    Per exemple, per classificar els temps d'esprint de 100 metres dels estudiants, podeu utilitzar qualsevol de les fórmules següents:

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

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

    Si us plau, tingueu en compte que bloquegem el rang. l'argument ref utilitzant referències de cel·les absolutes, de manera que no canviarà quan copiem la fórmula a la columna.

    Com a resultat, el valor més baix (temps més ràpid) ocupa el primer lloc i el valor més gran (temps més lent) obté el rang més baix de 6. Els temps iguals (B2 i B7) reben la mateixa classificació.

    Com classificar les dades a Excel de manera única

    Com s'ha assenyalat anteriorment, totes les funcions de classificació d'Excel retornen la mateixa classificació per a elements d'igual valor. Si no voleu, utilitzeu una de les fórmules següents per resoldre situacions de desempat i assigneu un ranking únic a cada número.

    Ranking únic des dedel més alt al més baix

    Per classificar les puntuacions de matemàtiques dels nostres estudiants de manera única en ordre descendent, utilitzeu aquesta fórmula:

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

    Ranking únic del més baix al més alt

    Per classificar els resultats de la cursa de 100 metres en ordre ascendent sense duplicats, utilitzeu aquesta fórmula:

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

    Com funcionen aquestes fórmules

    Com haureu notat, l'única diferència entre les dues fórmules és l'argument orde de la funció RANK.EQ: s'omet a la classificació valors descendents, 1 per classificar ascendent.

    En ambdues fórmules, és la funció COUNTIF amb l'ús intel·ligent de referències de cel·les relatives i absolutes la que fa el truc. En resum, feu servir COUNTIF per esbrinar quantes ocurrències del nombre que s'està classificant hi ha a les cel·les anteriors, inclosa la cel·la del número. A la fila superior on introduïu la fórmula, l'interval consta d'una sola cel·la ($B$2:B2). Però com que només bloquegeu la primera referència ($B$2), l'última referència relativa (B2) canvia en funció de la fila on es copia la fórmula. Així, per a la fila 7, l'interval s'expandeix a $B$2:B7 i el valor de B7 es compara amb cadascuna de les cel·les anteriors.

    En conseqüència, per a totes les 1res ocurrències, COUNTIF retorna 1; i resteu 1 al final de la fórmula per restaurar el rang original.

    Per a les 2n ocurrències, COUNTIF retorna 2. En restar 1 incrementeu el rang en 1 punt, evitant així duplicats. Sipassa que hi ha 3 ocurrències del mateix valor, COUNTIF()-1 afegiria 2 a la seva classificació, i així successivament.

    Solució alternativa per trencar els enllaços de RANK d'Excel

    Una altra manera de classificar nombres a Excel de manera única és sumant dues funcions COUNTIF:

    • La primera funció determina quants valors són més grans o inferiors que el nombre que s'ha de classificar, depenent de si esteu classificant de manera descendent o ascendent, respectivament.
    • La segona funció (amb el "interval d'expansió" $B$2:B2 com a l'exemple anterior) obté el nombre de valors igual al nombre.

    Per exemple. , per classificar els números de manera única del més alt al més baix, hauríeu d'utilitzar aquesta fórmula:

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

    Com es mostra a la captura de pantalla següent, el desempat s'ha resolt correctament i s'obté una classificació única. assignat a cada estudiant:

    Ranking a Excel basat en diversos criteris

    L'exemple anterior ha demostrat dues solucions de treball per a una situació de desempat de RANK d'Excel. Tanmateix, pot semblar injust que nombres iguals es classifiquen de manera diferent en funció únicament de la seva posició a la llista. Per millorar la vostra classificació, és possible que vulgueu afegir un criteri més per tenir en compte en cas d'empat.

    Al nostre conjunt de dades de mostra, afegim les puntuacions totals a la columna C i calculem la classificació de la següent manera:

    • Primer, classifica amb Puntuació matemàtica (criteri principal)
    • Quan hi hagi empat, trenca-ho amb Puntuació total (secundàriacriteris)

    Per fer-ho, utilitzarem una fórmula normal RANK/RANK.EQ per trobar el rang i la funció COUNTIFS per trencar l'empat:

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

    En comparació amb l'exemple anterior, aquesta fórmula de classificació és més objectiva: Timothy ocupa el segon lloc perquè la seva puntuació total és més alta que la de Julia:

    Com aquesta fórmula funciona

    La part RANK de la fórmula és òbvia i la funció COUNTIFS fa el següent:

    • El primer interval_criteri / criteri parell ($B$2:$B$7,$B2) compta les ocurrències del valor que esteu classificant. Tingueu en compte que arreglem l' interval amb referències absolutes, però no bloquegeu la fila de criteri ($B2) perquè la fórmula comprovi el valor de cada fila individualment.
    • El segon parell interval_criteri / criteri ($C$2:$C$7,">"&$C2) descobreix quantes puntuacions totals són superiors a les puntuació total del valor que s'està classificant.

    Com que COUNTIFS funciona amb la lògica AND, és a dir, compta només les cel·les que compleixen totes les condicions especificades, retorna 0 per a Timothy, ja que cap altre estudiant amb les mateixes matemàtiques puntuació té una puntuació total més alta. Per tant, el rang de Timothy retornat per RANK.EQ no canvia. Per a Julia, la funció COUNTIFS retorna 1 perquè un estudiant amb la mateixa puntuació de matemàtiques té un total més alt, de manera que el seu nombre de classificació s'incrementa en 1. Si un estudiant més tenia la mateixa puntuació de matemàtiques i una puntuació total més baixaque el de Timothy i Julia, el seu rang s'incrementaria en 2, i així successivament.

    Solucions alternatives per classificar números amb criteris múltiples

    En lloc de la funció RANK o RANK.EQ , podeu utilitzar COUNTIF per comprovar els criteris principals i COUNTIFS o SUMPRODUCT per resoldre un desempat:

    =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

    El resultat d'aquestes fórmules és exactament el mateix com es mostra més amunt.

    Com calcular la classificació percentil a Excel

    En estadístiques, un percentil (o centil ) és el valor per sota del qual un un determinat percentatge de valors en un conjunt de dades determinat cau. Per exemple, si el 70% dels estudiants són iguals o inferiors a la vostra puntuació de la prova, la vostra classificació percentil és 70.

    Per obtenir una classificació percentil a Excel, utilitzeu la funció RANK o RANK.EQ amb un valor orde per classificar els nombres del més petit al més gran i després dividir el rang pel recompte de nombres. Per tant, la fórmula de classificació percentil d'Excel genèrica és la següent:

    RANK.EQ( cel·la_superior, interval,1)/COUNT( interval)

    Per calcular el rang percentil dels nostres estudiants, la fórmula pren la forma següent:

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

    Per mostrar correctament els resultats, assegureu-vos d'establir el Format de percentatge a les cel·les de la fórmula:

    Com classificar els nombres en cel·les no adjacents

    En situacions en què necessiteu classificar no cel·les contigües, proporcioneu aquestes cel·les directament a l'argument ref de la vostra fórmula d'Excel Rank en forma d'unió de referència, bloquejant les referències amb el signe $. Per exemple:

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

    Per evitar errors a les cel·les no classificades, embolcalleu RANK a la funció IFERROR, com aquesta:

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

    Si us plau, tingueu en compte que un nombre duplicat també té un rang, tot i que la cel·la B5 no s'inclou a la fórmula:

    Si necessiteu classificar diverses cel·les no contigües, la fórmula anterior pot ser es fa massa llarg. En aquest cas, una solució més elegant seria definir un rang amb nom i fer referència a aquest nom a la fórmula:

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

    Com classificar a Excel per grup

    Quan treballeu amb entrades organitzades en algun tipus d'estructura de dades, les dades poden pertànyer a diversos grups i és possible que vulgueu classificar els números dins de cada grup individualment. La funció RANK d'Excel no pot resoldre aquest repte, de manera que utilitzarem una fórmula SUMPRODUCT més complexa:

    Classificació per grup en ordre descreixent :

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

    Classificació per grup en ordre creixent :

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

    On:

    • A2:A7 són grups assignats a números.
    • C2:C7 són nombres que s'han de classificar.

    En aquest exemple, utilitzem la primera fórmula per classificar els nombres de cada grup de més gran a més petit:

    Com funciona aquesta fórmula

    Essencialment, la fórmula avalua 2 condicions:

    • Primer, comproveu el grup (A2= $A$2:$A$7). Aquesta part retorna una matriu de

    Michael Brown és un entusiasta de la tecnologia dedicat amb una passió per simplificar processos complexos mitjançant eines de programari. Amb més d'una dècada d'experiència en la indústria tecnològica, ha perfeccionat les seves habilitats en Microsoft Excel i Outlook, així com en Google Sheets i Docs. El bloc de Michael es dedica a compartir els seus coneixements i experiència amb altres persones, oferint consells i tutorials fàcils de seguir per millorar la productivitat i l'eficiència. Tant si sou un professional experimentat com si sou un principiant, el bloc de Michael ofereix valuoses idees i consells pràctics per treure el màxim profit d'aquestes eines de programari essencials.