Función RANK de Excel e outras formas de calcular a clasificación

  • Comparte Isto
Michael Brown

O titorial explica as especificidades das funcións de clasificación de Excel e mostra como facer unha clasificación en Excel en función de varios criterios, clasificar os datos por grupo, calcular a clasificación porcentual e moito máis.

Cando precisa determinar a posición relativa dun número nunha lista de números, o xeito máis sinxelo é ordenar os números en orde ascendente ou descendente. Se por algún motivo non é posible a ordenación, unha fórmula de clasificación en Excel é a ferramenta perfecta para facer o traballo.

    Función RANK de Excel

    A función RANK en Excel devolve a orde (ou rango) dun valor numérico en comparación con outros valores da mesma lista. Noutras palabras, indica cal é o valor máis alto, o segundo máis alto, etc.

    Nunha lista ordenada, o rango dun determinado número sería a súa posición. A función CLASIFICACIÓN en Excel pode determinar a clasificación comezando polo valor máis grande (como se ordenase en orde descendente) ou o valor máis pequeno (como se ordenase en orde ascendente).

    A sintaxe da función CLASIFICACIÓN de Excel é a seguinte: segue:

    RANK(número,ref,[orde])

    Onde:

    Número (obrigatorio): o valor cuxa clasificación quere atopar.

    Ref (obrigatorio): unha lista de valores numéricos para clasificar. Pódese proporcionar como unha matriz de números ou unha referencia á lista de números.

    Orden (opcional): un número que especifica como clasificar os valores:

    • Se se omite 0 ou se omite, os valores clasificaranse enVERDADEIRO e FALSO en función de se un elemento de intervalo pertence ao mesmo grupo que A2.
    • En segundo lugar, verifica a puntuación. Para clasificar os valores de maior a menor ( orde descendente ), use a condición (C2<$C$2:$C$11), que devolve VERDADEIRO para as celas maiores ou iguais a C2, FALSE en caso contrario.

    Xa que nos termos de Microsoft Excel, VERDADEIRO = 1 e FALSO = 0, ao multiplicar as dúas matrices obtén unha matriz de 1 e 0, onde só se devolve 1 para as filas nas que se cumpren ambas condicións.

    Entón, SUMPRODUCT suma os elementos da matriz de 1 e 0, polo que devolve 0 para o número máis grande de cada grupo. E engades 1 ao resultado para comezar a clasificar con 1.

    A fórmula que clasifica os números dentro dos grupos de menor a maior ( orde ascendente ) funciona co mesmo lóxica. A diferenza é que SUMPRODUCT devolve 0 para o número máis pequeno dun grupo determinado, xa que ningún número dese grupo cumpre a segunda condición (C2>$C$2:$C$7). De novo, substitúe o rango cero polo primeiro rango engadindo 1 ao resultado da fórmula.

    En lugar de SUMAPRODUTO, pode usar a función SUMA para sumar os elementos da matriz. Pero isto requiriría usar unha fórmula matricial, completada mediante Ctrl + Maiús + Intro . Por exemplo:

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

    Como clasificar os números positivos e negativos por separado

    Se a túa lista de números contén valores positivos e negativos, a función RANK de Excelclasificaraos a todos en pouco tempo. Pero que pasa se desexa que os números positivos e negativos se clasifiquen por separado?

    Con números nas celas A2 a A10, utiliza unha das seguintes fórmulas para obter unha clasificación individual para os valores positivos e negativos:

    Clasificación descendente de números positivos:

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

    Clasificación de números positivos ascendente:

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

    Clasificación de números negativos descendente:

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

    Clasificar números negativos ascendente:

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

    Os resultados terán un aspecto similar a este:

    Como funcionan estas fórmulas

    Para comezar, imos desglosar a fórmula que clasifica os números positivos en orde descendente :

    • Na proba lóxica da función SE, comproba se o número é maior que cero.
    • Se o número é maior que 0, a función COUNTIF devolve o reconto de valores superiores ao número que se está clasificando.

      Neste exemplo, A2 contén o segundo número positivo máis alto, para o cal COUNTIF devolve 1, o que significa que só hai un número maior que el. Para comezar a nosa clasificación con 1, non con 0, engadimos 1 ao resultado da fórmula, polo que devolve un rango de 2 para A2.

    • Se o número é maior que 0, a fórmula devolve unha cadea baleira ("").

    A fórmula que clasifica os números positivos en orde ascendente funciona un pouco diferente:

    Se o número é maior que 0 , o primeiro COUNTIF obtén o reconto total denúmeros positivos no conxunto de datos e o segundo COUNTIF descobre cantos valores son superiores a ese número. Despois, resta o segundo do primeiro e obtén o rango desexado. Neste exemplo, hai 5 valores positivos, 1 dos cales é maior que A2. Entón, resta 1 de 5, obtendo así un rango de 4 para A2.

    As fórmulas para clasificar números negativos baséanse nunha lóxica similar.

    Nota. Todas as fórmulas anteriores ignoran os valores cero porque 0 non pertence nin ao conxunto de números positivos nin ao conxunto de números negativos. Para incluír ceros na súa clasificación, substitúa >0 e =0 e <=0, respectivamente, onde o requira a lóxica da fórmula.

    Por exemplo, para clasificar os números positivos e os ceros de maior a menor, use este fórmula: =IF($A2>=0,COUNTIF($A$2:$A$10,">"&A2)+1,"")

    Como clasificar os datos en Excel ignorando os valores cero

    Como xa sabes, unha fórmula RANK é Excel xestiona todos os números: positivos, negativos e ceros. Pero nalgúns casos, só queremos clasificar as celas con datos ignorando os valores 0. Na web, podes atopar algunhas solucións posibles para esta tarefa, pero paréceme que a fórmula de Excel RANK IF é a máis universal:

    Clasificación de números descendentes ignorando cero:

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

    Clasificación de números ascendente ignorando cero:

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

    Onde B2:B10 é o intervalo de números que se van clasificar.

    O mellor desta fórmula é que funciona moi ben tanto para números positivos como negativos, deixandocero valores fóra da clasificación:

    Como funciona esta fórmula

    A primeira vista, a fórmula pode parecer un pouco complicada. Unha ollada máis atenta, a lóxica é moi sinxela.

    Así é como a fórmula RANK IF de Excel clasifica os números de maior a menor ignorando ceros:

    • O primeiro SE verifica se o número é 0, e se o é, devolve unha cadea baleira:

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

    • Se o número non é cero, o segundo IF comproba se é maior que 0, e se o é, unha función normal RANK / RANK.EQ calcula o seu rango:

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

    • Se o número é inferior a 0, axustarás a clasificación pola conta cero. Neste exemplo, hai 4 números positivos e 2 ceros. Entón, para o maior número negativo en B10, unha fórmula de RANK de Excel devolvería 7. Pero omitimos ceros e, polo tanto, necesitamos axustar a clasificación en 2 puntos. Para iso, restamos o número de ceros do rango:

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

    Si, é así de fácil! A fórmula para clasificar os números de menor a maior ignorando ceros funciona dun xeito similar, e podería ser un bo exercicio cerebral para deducir a súa lóxica :)

    Como calcular a clasificación en Excel por valor absoluto

    Ao tratar cunha lista de valores positivos e negativos, pode ser necesario clasificar os números segundo os seus valores absolutos ignorando o signo.

    A tarefa pódese cumprir.cunha das fórmulas seguintes, no corazón da cal está a función ABS que devolve o valor absoluto dun número:

    Ranking ABS descendente:

    =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 ascendente:

    =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

    Como resultado, os números negativos clasifícanse coma se fosen números positivos:

    Como obter N maior ou valores máis pequenos

    Se desexa obter un número N real dos valores máis grandes ou máis pequenos en lugar da súa clasificación, use a función GRANDE ou PEQUENO, respectivamente.

    Por exemplo, podemos obter as 3 mellores puntuacións dos nosos estudantes con esta fórmula:

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

    Onde B2:B7 é a lista de puntuacións e D3 é a clasificación desexada.

    Ademais, podes recuperar os nomes dos estudantes mediante a fórmula INDEX MATCH (sempre que non haxa puntuacións duplicadas entre os 3 primeiros):

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

    Do mesmo xeito, pode use a función PEQUENA para tirar os 3 valores inferiores:

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

    Así é como se clasifica en Excel. Para comprender mellor e, probablemente, realizar enxeñaría inversa das fórmulas que se comentan neste titorial, podes descargar o noso caderno de Excel de clasificación de mostras.

    Grazas por ler e espero verte no noso blog a próxima semana!

    orde descendente, é dicir, de maior a menor.
  • Se é 1 ou calquera outro valor distinto de cero, os valores clasifícanse en orde ascendente, é dicir, de menor a maior.
  • CLASIFICACIÓN Excel Función .EQ

    RANK.EQ é unha versión mellorada da función RANK, introducida en Excel 2010. Ten a mesma sintaxe que RANK e funciona coa mesma lóxica: se varios valores se clasifican por igual, o rango máis alto. atribúese a todos eses valores. (EQ significa "igual").

    RANK.EQ(número,ref,[orde])

    En Excel 2007 e versións anteriores, sempre debes usar a función RANK. En Excel 2010, Excel 2013 e Excel 2016, pode ir con RANK ou RANK.EQ. Non obstante, sería recomendable usar RANK.EQ porque RANK pódese descontinuar en calquera momento.

    Función RANK.AVG de Excel

    RANK.AVG é outra función para atopar clasificación en Excel que só está dispoñible en Excel 2010, Excel 2013, Excel 2016 e posteriores.

    Ten a mesma sintaxe que as outras dúas funcións:

    RANK.AVG(número,ref,[orde])

    A diferenza é que, se máis dun número ten a mesma clasificación, devólvese a posición media (AVG significa "media").

    4 cousas que debes saber sobre RANK en Excel

    1. Calquera fórmula de clasificación en Excel funciona só para valores numéricos: números positivos e negativos, ceros, valores de data e hora. Os valores non numéricos do argumento ref ignóranse.
    2. Todas as funcións RANK devolven o mesmo rango paraduplicar valores e omitir a clasificación posterior, como se mostra no seguinte exemplo.
    3. En Excel 2010 e versións posteriores, a función RANK substituíuse por RANK.EQ e RANK.AVG. Para compatibilidade con versións anteriores, RANK aínda funciona en todas as versións de Excel, pero é posible que non estea dispoñible no futuro.
    4. Se non se atopa número dentro de ref , calquera A función de clasificación de Excel devolvería o erro #N/D.

    Fórmula básica de clasificación de Excel (de maior a menor)

    Para obter máis información sobre os datos de clasificación en Excel, ten unha mira esta captura de pantalla:

    As tres fórmulas clasifican os números na columna B en orde descendente (omitiuse o argumento orde ):

    En todas as versións de Excel 2003 - 2016:

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

    En Excel 2010 - 2016:

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

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

    A diferenza está na forma en que estas fórmulas procesan os valores duplicados. Como vedes, a mesma puntuación aparece dúas veces, nas celas B5 e B6, o que afecta á clasificación posterior:

    • As fórmulas RANK e RANK.EQ dan un rango de 2 a ambas as puntuacións duplicadas. A seguinte puntuación máis alta (Daniela) sitúase no cuarto posto. Non se lle dá un rango de 3 a ninguén.
    • A fórmula RANK.AVG atribúe un rango diferente a cada duplicado detrás das escenas (2 e 3 neste exemplo) e devolve a media desas clasificacións (2,5). . De novo, o terceiro rango non se lle asigna a ninguén.

    Como usar RANK en Excel: exemplos de fórmulas

    O camiño paraa excelencia, din, está pavimentada de práctica. Entón, para aprender mellor a usar a función RANK en Excel, só ou en combinación con outras funcións, imos buscar solucións a algunhas tarefas da vida real.

    Como clasificar en Excel de menor a maior

    Como se mostra no exemplo anterior, para clasificar os números de maior a menor, utiliza unha das fórmulas de Clasificación de Excel co argumento orde establecido en 0 ou omitido (predeterminado).

    Para ter número clasificado fronte a outros números ordenados en orden ascendente , pon 1 ou calquera outro valor distinto de cero no terceiro argumento opcional.

    Por exemplo, para clasificar os tempos de sprint de 100 metros dos estudantes, podes usar calquera das seguintes fórmulas:

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

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

    Preste atención a que bloqueamos o rango en o argumento ref utilizando referencias de cela absolutas, para que non cambie cando copiemos a fórmula na columna.

    Como resultado, o valor máis baixo (tempo máis rápido) sitúase no primeiro lugar e o valor máis grande (tempo máis lento) obtén o rango máis baixo de 6. Os tempos iguais (B2) e B7) reciben a mesma clasificación.

    Como clasificar os datos en Excel de forma única

    Como se indicou anteriormente, todas as funcións de Clasificación de Excel devolven a mesma clasificación para elementos de igual valor. Se iso non queres, utiliza unha das seguintes fórmulas para resolver situacións de desempate e dálle unha clasificación única a cada número.

    Clasificación única dede maior a menor

    Para clasificar as puntuacións en matemáticas dos nosos estudantes de forma única en orde descendente, use esta fórmula:

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

    Clasificación única de menor a maior

    Para clasificar os resultados da carreira de 100 metros en orde ascendente sen duplicados, use esta fórmula:

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

    Como funcionan estas fórmulas

    Como podes observar, a única diferenza entre as dúas fórmulas é o argumento orde da función RANK.EQ: omitido para clasificar valores descendentes, 1 para clasificar ascendente.

    En ambas fórmulas, é a función COUNTIF co uso intelixente de referencias de celas relativas e absolutas a que fai o truco. En resumo, usa COUNTIF para saber cantas ocorrencias do número que se clasifica hai nas celas anteriores, incluída a cela do número. Na fila superior onde se introduce a fórmula, o intervalo consta dunha única cela ($B$2:B2). Pero como bloqueas só a primeira referencia ($B$2), a última referencia relativa (B2) cambia en función da fila onde se copia a fórmula. Así, para a fila 7, o intervalo se expande a $B$2:B7, e o valor en B7 compárase con cada unha das celas anteriores.

    En consecuencia, para todas as primeiras ocorrencias, COUNTIF devolve 1; e resta 1 ao final da fórmula para restaurar o rango orixinal.

    Para as segundas ocorrencias, COUNTIF devolve 2. Ao restar 1 aumentas o rango en 1 punto, evitando así duplicados. Seocorre que hai 3 ocorrencias do mesmo valor, COUNTIF()-1 engadiría 2 á súa clasificación, e así por diante.

    Solución alternativa para romper os lazos de RANK de Excel

    Outra forma de clasificar Os números en Excel son unicamente sumando dúas funcións COUNTIF:

    • A primeira función determina cantos valores son maiores ou menores que o número a clasificar, dependendo de se estás clasificando descendente ou ascendente. respectivamente.
    • A segunda función (co "intervalo de expansión" $B$2:B2 como no exemplo anterior) obtén o número de valores igual ao número.

    Por exemplo , para clasificar os números de forma única de maior a menor, usarías esta fórmula:

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

    Como se mostra na captura de pantalla que aparece a continuación, o desempate resolveuse correctamente e unha clasificación única asignado a cada alumno:

    Clasificación en Excel baseada en varios criterios

    O exemplo anterior demostrou dúas solucións de traballo para unha situación de desempate de RANK de Excel. Non obstante, pode parecer inxusto que números iguais se clasifiquen de forma diferente en función unicamente da súa posición na lista. Para mellorar a túa clasificación, quizais queiras engadir un criterio máis para ter en conta en caso de empate.

    No noso conxunto de datos de mostra, engademos as puntuacións totais na columna C e calculemos a clasificación do seguinte xeito:

    • Primeiro, clasificar con Puntuación en matemáticas (criterio principal)
    • Cando haxa empate, desprázao con Puntuación total (secundariacriterios)

    Para facelo, usaremos unha fórmula normal RANK/RANK.EQ para atopar a clasificación e a función COUNTIFS para romper un empate:

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

    En comparación co exemplo anterior, esta fórmula de clasificación é máis obxectiva: Timothy ocupa o segundo posto porque a súa puntuación total é superior á de Julia:

    Como esta fórmula funciona

    A parte RANK da fórmula é obvia e a función COUNTIFS fai o seguinte:

    • O primeiro intervalo_criterio / criterio par ($B$2:$B$7,$B2) conta as ocorrencias do valor que estás clasificando. Teña en conta que corriximos o intervalo con referencias absolutas, pero non bloqueamos a fila do criterio ($B2) para que a fórmula comprobe o valor de cada fila individualmente.
    • O segundo par intervalo_de_criterios / criterios ($C$2:$C$7,">"&$C2) descobre cantas puntuacións totais son maiores que as puntuación total do valor que se está clasificando.

    Debido a que COUNTIFS funciona coa lóxica AND, é dicir, conta só as celas que cumpren todas as condicións especificadas, devolve 0 para Timothy xa que ningún outro estudante coas mesmas matemáticas puntuación ten unha puntuación total máis alta. Polo tanto, o rango de Timothy devolto por RANK.EQ non cambia. Para Julia, a función COUNTIFS devolve 1 porque un alumno coa mesma puntuación en Matemáticas ten un total máis alto, polo que o seu número de clasificación increméntase en 1. Se un alumno máis tivo a mesma puntuación en Matemáticas e unha puntuación total inferiorque o de Timothy e Julia, o seu rango incrementaríase en 2, etc.

    Solucións alternativas para clasificar números con varios criterios

    En lugar da función RANK ou RANK.EQ , podes usar COUNTIF para comprobar os criterios principais e COUNTIFS ou SUMPRODUCT para resolver un desempate:

    =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

    O resultado destas fórmulas é exactamente o mesmo como se mostra arriba.

    Como calcular a clasificación percentil en Excel

    En estatística, un percentil (ou centil ) é o valor por debaixo do cal un cae certa porcentaxe de valores nun conxunto de datos determinado. Por exemplo, se o 70 % dos estudantes é igual ou inferior á súa puntuación da proba, a súa puntuación porcentual é 70.

    Para obter unha clasificación percentil en Excel, use a función RANK ou RANK.EQ cun orde para clasificar os números de menor a maior e, a continuación, dividir a clasificación polo reconto de números. Así, a fórmula xenérica de Ranking percentil de Excel é o seguinte:

    RANK.EQ( celda_superior, intervalo,1)/COUNT( intervalo)

    Para calcular o rango percentil dos nosos alumnos, a fórmula toma a seguinte forma:

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

    Para que os resultados se mostren correctamente, asegúrese de establecer o <1 Formato>Porcentaxe das celas da fórmula:

    Como clasificar os números en celas non adxacentes

    En situacións nas que precisa clasificar os números non adxacentes. celas contiguas, proporcione esas celas directamente no argumento ref da túa fórmula de clasificación de Excel en forma de unión de referencia, bloqueando as referencias co signo $. Por exemplo:

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

    Para evitar erros en celas non clasificadas, inclúa RANK na función IFERROR, como esta:

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

    Ten en conta que un número duplicado tamén recibe unha clasificación, aínda que a cela B5 non está incluída na fórmula:

    Se precisa clasificar varias celas non contiguas, a fórmula anterior pode facerse demasiado longo. Neste caso, unha solución máis elegante sería definir un rango nomeado e facer referencia a ese nome na fórmula:

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

    Como clasificar en Excel por grupo

    Ao traballar con entradas organizadas nalgún tipo de estrutura de datos, os datos poden pertencer a varios grupos e pode querer clasificar os números dentro de cada grupo individualmente. A función RANK de Excel non pode resolver este desafío, polo que imos utilizar unha fórmula SUMPRODUCT máis complexa:

    Clasificación por grupo en orde descendente :

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

    Clasificación por grupo en orden ascendente :

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

    Onde:

    • A2:A7 son os grupos asignados a números.
    • C2:C7 son números que se van clasificar.

    Neste exemplo, usamos a primeira fórmula para clasificar os números de cada grupo de maior a menor:

    Como funciona esta fórmula

    Esencialmente, a fórmula avalía 2 condicións:

    • Primeiro, verifica o grupo (A2= $A$2:$A$7). Esta parte devolve unha matriz de

    Michael Brown é un entusiasta da tecnoloxía dedicada á súa paixón por simplificar procesos complexos mediante ferramentas de software. Con máis dunha década de experiencia na industria tecnolóxica, perfeccionou as súas habilidades en Microsoft Excel e Outlook, así como en Follas de cálculo e Documentos de Google. O blog de Michael está dedicado a compartir o seu coñecemento e experiencia con outros, proporcionando consellos e titoriais fáciles de seguir para mellorar a produtividade e a eficiencia. Tanto se es un profesional experimentado como un principiante, o blog de Michael ofrece valiosas ideas e consellos prácticos para sacar o máximo proveito destas ferramentas de software esenciais.