Tabla de contenido
El tutorial explica las especificidades de las funciones de clasificación de Excel y muestra cómo realizar clasificaciones en Excel basadas en múltiples criterios, clasificar datos por grupos, calcular el rango percentil, y mucho más.
Cuando se necesita determinar la posición relativa de un número en una lista de números, la forma más fácil es ordenar los números en orden ascendente o descendente. Si por alguna razón la ordenación no es posible, una fórmula de Rango en Excel es la herramienta perfecta para hacer el trabajo.
Función RANK de Excel
La función RANK en Excel devuelve el orden (o rango) de un valor numérico comparado con otros valores de la misma lista. En otras palabras, te dice qué valor es el más alto, el segundo más alto, etc.
En una lista ordenada, el rango de un determinado número sería su posición. La función RANK de Excel puede determinar el rango empezando por el valor mayor (como si se ordenara en orden descendente) o el menor (como si se ordenara en orden ascendente).
La sintaxis de la función RANK de Excel es la siguiente:
RANK(número,ref,[orden])Dónde:
Número (obligatorio) - el valor cuyo rango desea encontrar.
Ref (obligatorio) - una lista de valores numéricos con los que comparar. Puede suministrarse como una matriz de números o como una referencia a la lista de números.
Pida (opcional) - un número que especifica cómo clasificar los valores:
- Si se omite o es 0, los valores se clasifican en orden descendente, es decir, de mayor a menor.
- Si es 1 o cualquier otro valor distinto de cero, los valores se clasifican en orden ascendente, es decir, de menor a mayor.
Función Excel RANK.EQ
RANK.EQ es una versión mejorada de la función RANK, introducida en Excel 2010. Tiene la misma sintaxis que RANK y funciona con la misma lógica: si varios valores tienen el mismo rango, se asigna el rango más alto a todos esos valores (EQ significa "igual").
RANK.EQ(número,ref,[orden])En Excel 2007 y versiones inferiores, siempre debe utilizar la función RANK. En Excel 2010, Excel 2013 y Excel 2016, puede utilizar RANK o RANK.EQ. Sin embargo, sería aconsejable utilizar RANK.EQ porque RANK puede dejar de utilizarse en cualquier momento.
Función Excel RANK.AVG
RANK.AVG es otra función para encontrar el rango en Excel que sólo está disponible en Excel 2010, Excel 2013, Excel 2016 y posteriores.
Tiene la misma sintaxis que las otras dos funciones:
RANK.AVG(número,ref,[orden])La diferencia es que si más de un número tiene el mismo rango, el rango medio (AVG significa "media").
4 cosas que debe saber sobre RANK en Excel
- Cualquier fórmula de rango en Excel funciona sólo para valores numéricos: números positivos y negativos, ceros, valores de fecha y hora. Los valores no numéricos en el campo ref se ignoran.
- Todas las funciones RANK devuelven el mismo rango para los valores duplicados, y omiten la clasificación posterior, como se muestra en el ejemplo siguiente.
- En Excel 2010 y versiones posteriores, la función RANK se ha sustituido por RANK.EQ y RANK.AVG. Por compatibilidad con versiones anteriores, RANK sigue funcionando en todas las versiones de Excel, pero es posible que no esté disponible en el futuro.
- Si número no se encuentra en ref cualquier función Rank de Excel devolvería el error #N/A.
Fórmula de clasificación básica de Excel (de mayor a menor)
Para obtener más información sobre la clasificación de datos en Excel, eche un vistazo a esta captura de pantalla:
Las tres fórmulas clasifican los números de la columna B en orden descendente (el pedir argumento omitido):
En todas las versiones 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)
La diferencia está en cómo procesan estas fórmulas los valores duplicados. Como ve, la misma puntuación aparece dos veces, en las celdas B5 y B6, lo que afecta a la clasificación posterior:
- Las fórmulas RANK y RANK.EQ otorgan un rango de 2 a ambas puntuaciones duplicadas. La siguiente puntuación más alta (Daniela) ocupa el 4º lugar. No se otorga un rango de 3 a nadie.
- La fórmula RANK.AVG asigna un rango diferente a cada duplicado entre bastidores (2 y 3 en este ejemplo), y devuelve la media de esos rangos (2,5). De nuevo, el 3er rango no se asigna a nadie.
Cómo utilizar RANK en Excel - ejemplos de fórmulas
Así pues, para aprender a utilizar mejor la función RANK en Excel, sola o en combinación con otras funciones, vamos a resolver algunas tareas de la vida real.
Cómo ordenar en Excel de menor a mayor
Como se muestra en el ejemplo anterior, para clasificar los números de mayor a menor, se utiliza una de las fórmulas de clasificación de Excel con el carácter pedir 0 u omitido (por defecto).
Tener número en comparación con otros números ordenados en orden ascendente ponga 1 o cualquier otro valor distinto de cero en el tercer argumento opcional.
Por ejemplo, para clasificar los tiempos de sprint de 100 metros de los alumnos, puedes utilizar cualquiera de las fórmulas siguientes:
=RANK(B2,$B$2:$B$7,1)
=RANK.EQ(B2,$B$2:$B$7,1)
Por favor, preste atención a que bloqueamos la gama en el ref utilizando referencias de celda absolutas, para que no cambie cuando copiemos la fórmula en la columna.
Como resultado, el valor más bajo (tiempo más rápido) se clasifica en primer lugar y el valor más alto (tiempo más lento) obtiene la clasificación más baja de 6. Los tiempos iguales (B2 y B7) reciben la misma clasificación.
Cómo clasificar datos en Excel de forma única
Como se ha señalado anteriormente, todas las funciones de Excel Rank devuelven el mismo rango para elementos de igual valor. Si eso no es lo que desea, utilice una de las siguientes fórmulas para resolver las situaciones de desempate y dar un rango único a cada número.
Clasificación única de mayor a menor
Para clasificar las puntuaciones de matemáticas de nuestros alumnos de forma única en orden descendente, utilice esta fórmula:
=RANK.EQ(B2,$B$2:$B$7)+COUNTIF($B$2:B2,B2)-1
Clasificación única de menor a mayor
Para clasificar los resultados de la carrera de 100 metros en orden ascendente sin duplicados, utilice esta fórmula:
=RANK.EQ(B2,$B$2:$B$7,1) + COUNTIF($B$2:B2,B2)-1
Cómo funcionan estas fórmulas
Como se habrá dado cuenta, la única diferencia entre las dos fórmulas es el pedir argumento de la función RANK.EQ: omitido para ordenar los valores de forma descendente, 1 para ordenarlos de forma ascendente.
En ambas fórmulas, es la función COUNTIF con el uso inteligente de referencias de celda relativas y absolutas la que hace el truco. En resumen, se utiliza COUNTIF para averiguar cuántas ocurrencias del número que se está clasificando hay en las celdas de arriba, incluyendo la celda del número. En la fila superior donde se introduce la fórmula, el rango consiste en una sola celda ($B$2:B2). Pero como sólo se bloquea la celdaprimera referencia ($B$2), la última referencia relativa (B2) cambia en función de la fila donde se copia la fórmula. Así, para la fila 7, el rango se expande a $B$2:B7, y el valor en B7 se compara con cada una de las celdas anteriores.
En consecuencia, para todas las 1as ocurrencias, COUNTIF devuelve 1; y se resta 1 al final de la fórmula para restaurar el rango original.
Para las segundas ocurrencias, COUNTIF devuelve 2. Al restar 1 se incrementa el rango en 1 punto, evitando así duplicados. Si por casualidad hay 3 ocurrencias del mismo valor, COUNTIF()-1 añadiría 2 a su rango, y así sucesivamente.
Solución alternativa para desempatar Excel RANK
Otra forma de clasificar números en Excel de forma única es sumando dos funciones COUNTIF:
- La primera función determina cuántos valores son mayores o menores que el número a clasificar, dependiendo de si la clasificación es descendente o ascendente, respectivamente.
- La segunda función (con el "rango de expansión" $B$2:B2 como en el ejemplo anterior) obtiene el número de valores igual al número.
Por ejemplo, para ordenar los números de forma única de mayor a menor, utilizarías esta fórmula:
=COUNTIF($B$2:$B$7,">"&$B2)+COUNTIF($B$2:B2,B2)
Como se muestra en la siguiente captura de pantalla, el desempate se resuelve con éxito y se asigna una clasificación única a cada estudiante:
Clasificación en Excel basada en múltiples criterios
El ejemplo anterior ha demostrado dos soluciones que funcionan para una situación de desempate en Excel RANK. Sin embargo, puede parecer injusto que números iguales se clasifiquen de forma diferente basándose únicamente en su posición en la lista. Para mejorar la clasificación, puede añadir un criterio más a tener en cuenta en caso de empate.
En nuestro conjunto de datos de muestra, sumemos las puntuaciones totales de la columna C y calculemos la clasificación de la siguiente manera:
- En primer lugar, clasifique con Puntuación en matemáticas (criterios principales)
- Si hay empate, rómpalo con Puntuación total (criterios secundarios)
Para ello, utilizaremos una fórmula RANK/RANK.EQ normal para encontrar el rango, y la función COUNTIFS para desempatar:
=RANK.EQ($B2,$B$2:$B$7)+COUNTIFS($B$2:$B$7,$B2,$C$2:$C$7,">"&$C2)
En comparación con el ejemplo anterior, esta fórmula de clasificación es más objetiva: Timoteo ocupa el 2º puesto porque su puntuación total es superior a la de Julia:
Cómo funciona esta fórmula
La parte RANK de la fórmula es obvia, y la función COUNTIFS hace lo siguiente:
- La primera rango_de_criterios / criterios ($B$2:$B$7,$B2) cuenta las apariciones del valor que está clasificando. Tenga en cuenta que fijamos el par gama con referencias absolutas, pero no bloquee el criterios ($B2) para que la fórmula compruebe el valor de cada fila individualmente.
- El segundo rango_de_criterios / criterios pair ($C$2:$C$7,">"&$C2) averigua cuántas puntuaciones totales son mayores que la puntuación total del valor que se está clasificando.
Como COUNTIFS funciona con la lógica AND, es decir, cuenta sólo las celdas que cumplen todas las condiciones especificadas, devuelve 0 para Timothy, ya que ningún otro estudiante con la misma puntuación en Matemáticas tiene una puntuación total más alta. Por lo tanto, el rango de Timothy devuelto por RANK.EQ no cambia. Para Julia, la función COUNTIFS devuelve 1 porque un estudiante con la misma puntuación en Matemáticas tiene un total más alto, por lo que su número de rango esse incrementaría en 1. Si otro alumno tuviera la misma puntuación en Matemáticas y una puntuación total inferior a la de Timothy y Julia, su clasificación se incrementaría en 2, y así sucesivamente.
Soluciones alternativas para clasificar números con múltiples criterios
En lugar de la función RANK o RANK.EQ, podría utilizar COUNTIF para comprobar los criterios principales, y COUNTIFS o 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
El resultado de estas fórmulas es exactamente el mismo que el mostrado anteriormente.
Cómo calcular el rango percentil en Excel
En estadística, un percentil (o centil ) es el valor por debajo del cual se sitúa un determinado porcentaje de valores en un conjunto de datos dado. Por ejemplo, si el 70% de los alumnos tienen una puntuación igual o inferior a la suya en un examen, su rango percentil es 70.
Para obtener el rango percentil en Excel, utilice la función RANK o RANK.EQ con un valor distinto de cero. pedir para ordenar los números de menor a mayor y, a continuación, dividir el rango por el número de números. Así pues, el argumento genérico Fórmula Excel de rango percentil es la siguiente:
RANK.EQ( celda_superior , gama ,1)/CUENTA( gama )Para calcular el rango percentil de nuestros alumnos, la fórmula es la siguiente:
=RANK.EQ(B2,$B$2:$B$7,1)/COUNT($B$2:$B$7)
Para que los resultados se muestren correctamente, asegúrese de configurar la opción Porcentaje formato a las celdas de la fórmula:
Cómo clasificar números en celdas no adyacentes
Si necesita clasificar celdas no contiguas, introdúzcalas directamente en el campo ref de su fórmula de Excel Rank en forma de unión de referencias, bloqueando las referencias con el signo $. Por ejemplo:
=RANK(B2,($B$2,$B$4,$B$6))
Para evitar errores en celdas no clasificadas, envuelva RANK en la función IFERROR, de la siguiente manera:
=IFERROR(RANK(B2,($B$2,$B$4,$B$6)), "")
Observe que un número duplicado también recibe un rango, aunque la celda B5 no está incluida en la fórmula:
Si necesita clasificar varias celdas no contiguas, la fórmula anterior puede resultar demasiado larga. En este caso, una solución más elegante sería definir un rango con nombre y hacer referencia a ese nombre en la fórmula:
=IFERROR(RANK(B2,rango), "")
Cómo clasificar en Excel por grupos
Cuando se trabaja con entradas organizadas en algún tipo de estructura de datos, los datos pueden pertenecer a varios grupos, y es posible que desee clasificar los números dentro de cada grupo de forma individual. La función RANK de Excel no puede resolver este reto, por lo que vamos a utilizar una fórmula SUMPRODUCT más compleja:
Clasificación por grupos en descendente orden:
=SUMPRODUCTO((A2=$A$2:$A$7)*(C2<$C$2:$C$7))+1
Clasificación por grupos en ascendente orden:
=SUMPRODUCTO((A2=$A$2:$A$7)*(C2>$C$2:$C$7))+1
Dónde:
- A2:A7 son grupos asignados a números.
- C2:C7 son números que hay que clasificar.
En este ejemplo, utilizamos la primera fórmula para ordenar los números de cada grupo de mayor a menor:
Cómo funciona esta fórmula
Esencialmente, la fórmula evalúa 2 condiciones:
- En primer lugar, se comprueba el grupo (A2=$A$2:$A$7). Esta parte devuelve una matriz de VERDADERO y FALSO en función de si un elemento del rango pertenece al mismo grupo que A2.
- En segundo lugar, se comprueba la puntuación. Para ordenar los valores de mayor a menor ( orden descendente ), utilice la condición (C2<$C$2:$C$11), que devuelve TRUE para las celdas mayores o iguales que C2, FALSE en caso contrario.
Dado que, en términos de Microsoft Excel, VERDADERO = 1 y FALSO = 0, al multiplicar las dos matrices se obtiene una matriz de 1 y 0, en la que sólo se devuelve 1 para las filas en las que se cumplen ambas condiciones.
A continuación, SUMPRODUCT suma los elementos de la matriz de 1's y 0's, por lo que devuelve 0 para el número mayor de cada grupo. Y suma 1 al resultado para empezar la clasificación por 1.
La fórmula que ordena los números dentro de los grupos de menor a mayor ( ascendente pedir ) funciona con la misma lógica. La diferencia es que SUMPRODUCT devuelve 0 para el número más pequeño de un grupo concreto, ya que ningún número de ese grupo cumple la 2ª condición (C2>$C$2:$C$7). De nuevo, se sustituye el rango cero por el 1er rango añadiendo 1 al resultado de la fórmula.
En lugar de SUMPRODUCT, puede utilizar la función SUM para sumar los elementos de la matriz. Pero esto requeriría utilizar una fórmula de matriz, completada mediante Ctrl + Mayús + Intro . Por ejemplo:
=SUM((A2=$A$2:$A$7)*(C2<$C$2:$C$7))+1
Cómo clasificar números positivos y negativos por separado
Si su lista de números contiene valores positivos y negativos, la función RANK de Excel los clasificará todos en un abrir y cerrar de ojos. Pero, ¿y si desea clasificar los números positivos y negativos por separado?
Con los números de las celdas A2 a A10, utiliza una de las siguientes fórmulas para obtener la clasificación individual de los valores positivos y negativos:
Ordena los números positivos de forma descendente:
=IF($A2>0,COUNTIF($A$2:$A$10,">"&A2)+1,"")
Ordena los números positivos de forma ascendente:
=IF($A2>0,COUNTIF($A$2:$A$10,">0")-COUNTIF($A$2:$A$10,">"&$A2),"")
Ordena los números negativos de forma descendente:
=IF($A2<0,COUNTIF($A$2:$A$10,"<0")-COUNTIF($A$2:$A$10,"<"&$A2),"")
Ordena los números negativos de forma ascendente:
=IF($A2<0,COUNTIF($A$2:$A$10,"<"&$A2)+1,"")
Los resultados serán algo parecidos a esto:
Cómo funcionan estas fórmulas
Para empezar, desglosemos la fórmula que clasifica los números positivos en descendente orden:
- En la prueba lógica de la función IF, se comprueba si el número es mayor que cero.
- Si el número es mayor que 0, la función COUNTIF devuelve el recuento de valores mayores que el número clasificado.
En este ejemplo, A2 contiene el 2º número positivo más alto, para el que COUNTIF devuelve 1, lo que significa que sólo hay un número mayor que él. Para empezar nuestra clasificación con 1, no con 0, añadimos 1 al resultado de la fórmula, de modo que devuelve un rango de 2 para A2.
- Si el número es mayor que 0, la fórmula devuelve una cadena vacía ("").
La fórmula que ordena los números positivos en ascendente funciona de forma un poco diferente:
Si el número es mayor que 0, el primer COUNTIF obtiene el recuento total de números positivos en el conjunto de datos, y el segundo COUNTIF averigua cuántos valores son mayores que ese número. A continuación, se resta el último del primero y se obtiene el rango deseado. En este ejemplo, hay 5 valores positivos, 1 de los cuales es mayor que A2. Por lo tanto, se resta 1 de 5, obteniendo así un rango de 4 para A2.
Las fórmulas para clasificar números negativos se basan en una lógica similar.
Nota. Todas las fórmulas anteriores ignorar los valores cero porque el 0 no pertenece ni al conjunto de los números positivos ni al de los negativos. Para incluir ceros en su clasificación, sustituya>0 y =0 y <=0, respectivamente, donde lo exija la lógica de la fórmula.
Por ejemplo, para ordenar los números positivos y los ceros de mayor a menor, utilice esta fórmula: =IF($A2>=0,COUNTIF($A$2:$A$10,">"&A2)+1,"")
Cómo clasificar datos en Excel ignorando los valores cero
Como ya sabes, una fórmula RANK es Excel maneja todos los números: positivos, negativos y ceros. Pero en algunos casos, sólo queremos clasificar celdas con datos ignorando los valores 0. En la web, puedes encontrar algunas soluciones posibles para esta tarea, pero la fórmula RANK IF de Excel, me parece, es la más universal:
Ordena los números de forma descendente ignorando el 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))
Ordena los números de forma ascendente ignorando el 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))
Donde B2:B10 es el rango de números a clasificar.
Lo mejor de esta fórmula es que funciona de maravilla tanto para números positivos como negativos, dejando los valores cero fuera de la clasificación:
Cómo funciona esta fórmula
A primera vista, la fórmula puede parecer un poco complicada. Si se mira más de cerca, la lógica es muy sencilla.
Así es como la fórmula RANK IF de Excel ordena los números de mayor a menor ignorando los ceros:
- El primer IF comprueba si el número es 0, y si lo es, devuelve una cadena vacía:
IF($B2=0,"", ...)
- Si el número no es cero, el segundo IF comprueba si es mayor que 0, y si lo es, una función normal RANK / RANK.EQ calcula su rango:
IF($B2>0,RANK($B2,$B$2:$B$10),...)
- Si el número es menor que 0, se ajusta la clasificación por el número de ceros. En este ejemplo, hay 4 números positivos y 2 ceros. Por tanto, para el mayor número negativo de B10, una fórmula RANK de Excel devolvería 7. Pero nos saltamos los ceros y, por tanto, necesitamos ajustar la clasificación en 2 puntos. Para ello, restamos el número de ceros de la clasificación:
RANK($B2,$B$2:$B$10)-COUNTIF($B$2:$B$10,0))
La fórmula para ordenar los números de menor a mayor ignorando los ceros funciona de forma similar, y podría ser un buen ejercicio mental deducir su lógica :)
Cómo calcular el rango en Excel por valor absoluto
Cuando se trata de una lista de valores positivos y negativos, puede ser necesario ordenar los números por sus valores absolutos ignorando el signo.
La tarea puede realizarse con una de las fórmulas siguientes, en cuyo corazón se encuentra la función ABS que devuelve el valor absoluto de un número:
Clasificación 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
Clasificación 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, los números negativos se clasifican como si fueran positivos:
Cómo obtener N valores mayores o menores
Si desea obtener un número N real de los valores más grandes o más pequeños en lugar de su clasificación, utilice la función GRANDE o PEQUEÑO, respectivamente.
Por ejemplo, podemos obtener las 3 mejores puntuaciones de nuestros alumnos con esta fórmula:
=LARGE($B$2:$B$7, $D3)
Donde B2:B7 es la lista de puntuaciones y D3 es la clasificación deseada.
Además, puede recuperar los nombres de los alumnos utilizando la fórmula INDEX MATCH (siempre que no haya puntuaciones duplicadas en los 3 primeros puestos):
=INDEX($A$2:$A$7,MATCH(E3,$B$2:$B$7,0))
Del mismo modo, puede utilizar la función PEQUEÑO para extraer los 3 valores inferiores:
=SMALL($B$2:$B$7, $D3)
Así es como se hace la clasificación en Excel. Para entender mejor y probablemente hacer ingeniería inversa de las fórmulas discutidas en este tutorial, le invitamos a descargar nuestro libro de Excel de Ejemplo de Clasificación.
Le agradezco su lectura y espero verle en nuestro blog la semana que viene.