Periódicamente, puede que desee clasificar una serie de elementos dentro de una hoja de cálculo de Excel. Muchos usuarios suelen confiar en clasificar los datos en orden ascendente o descendente. Describiré una alternativa que utiliza las funciones GRANDE y PEQUEÑA para crear una lista ordenada de lo que quieras clasificar.
Probablemente ya esté familiarizado con las funciones de MIN y MAX en Excel, que devuelven el valor más pequeño o más grande de una lista, respectivamente. Como se muestra en la figura 1, MIN indica que el valor más pequeño es 191, y el valor más grande es 958. El MÍN y el MÁX se limitan a los valores más pequeños o más grandes respectivamente, pero el GRANDE y el PEQUEÑO permiten devolver el segundo valor más grande o el tercer valor más pequeño si así lo desea. Explicaré estas funciones en un momento, pero primero exploremos el MÍN y el MÁX.
Figura 1: El MIN y el MAX devuelven los valores más grandes y más pequeños de una lista, respectivamente.
Como se muestra en la figura 1, las funciones MIN y MAX son de naturaleza similar a la venerable función SUM, excepto que devuelven el valor más pequeño o más grande, respectivamente, en lugar de sumar valores. Las funciones PEQUEÑO y GRANDE funcionan de manera similar, pero con un argumento adicional:
=SMALL(array,k)
=LARGE(array,k)
En estas funciones, la matriz es un rango de células, y k es el valor n-ésimo que desea devolver. Como se muestra en la Figura 2, =LARGE(B2:B11,2) devolvería 872 como el segundo valor más grande, mientras que =SMALL(B2:B11,3) devolvería 266 como el tercer valor más pequeño. A modo de comparación, las siguientes fórmulas devolverían 958 y 191 para los valores más grande y más pequeño, respectivamente:
=MIN(B2:B7)
=SMALL(B2:B7,1)
=MAX(B2:B7)
= GRANDE(B2:B7,1)
Figura 2: LARGE y SMALL devuelven los valores nth de una lista dada.
Si estás creando una lista de los 10 valores superiores o inferiores, puede ser tedioso editar manualmente cada función GRANDE o PEQUEÑA con el valor adecuado para el argumento k. Para ahorrar tiempo, utilizo la función ROW, ya sea dentro de la función GRANDE o PEQUEÑA o en una columna separada. La función ROW devuelve el número de fila de una celda determinada. Si introduces esto en la celda D2, Excel devolverá 2:
=ROW()
En la figura 3 puedes ver que introduje esta fórmula en la celda D2:
=ROW()-1
En este caso, ROW() devolvería 2 porque está introducido en la segunda fila, así que restando 1 cambia el resultado a 1. Alternativamente, podría proporcionar la dirección de una celda en la fila 1 de la hoja de cálculo:
=ROW(D1)
Figura 3: Estas fórmulas son la base para crear una lista clasificada sin reordenar los datos de origen
En la celda F2, introduje esta fórmula:
= GRANDE(B$2: B$11,D2)
Dependiendo de mis necesidades, podría haber usado esta fórmula en su lugar:
= GRANDE(B$2: B$11,ROW()-1)
El signo de dólar en la fórmula le indica a Excel que no cambie los números de fila cuando copie la fórmula. La última información que probablemente querrá es asociar un nombre con los valores que ha aislado. Para ello, puedes usar las funciones MATCH e INDEX juntas en la celda E2:
=INDEX(A$2:A$11,MATCH(F2,B$2:B$11,0))
Explicaré MATCH e INDEX con más detalle en un próximo artículo, pero por ahora la respuesta corta es que en este caso MATCH está determinando en qué fila está el importe de una cifra de ventas, y luego INDEX devuelve el texto correspondiente de la columna A.
Hay una salvedad en este enfoque de la que deberías ser consciente. Si el mismo valor está en su lista dos veces, entonces MATCH/INDEX devolverá el nombre correspondiente dos veces. La próxima semana describiré cómo pueden usar la función COUNTIF para crear un desempate que les dará un valor único para emparejar cada elemento de la lista.
En cualquier caso, una vez que tengo las fórmulas de las celdas D2 a F2 en su lugar, puedo copiar las fórmulas hacia abajo tantas filas como sea necesario sin ninguna modificación adicional, como se muestra en la Figura 4. Tenga en cuenta que si arrastra demasiado lejos, GRANDE o PEQUEÑO regresará #NUM!.
Figura 4: Si arrastras las fórmulas de las celdas D2:F2 demasiado lejos, LARGE devolverá #NUM!.