domingo, 20 de enero de 2013

Ordenar Automáticamente una Lista con Valores Repetidos

"Tengo una tabla con cifras de ventas de distintas zonas y me gustaría generar otra tabla idéntica que me ordenara automáticamente de mayor a menor dichas zonas en función de las ventas logradas".

Este problema lo resolvimos en el post Ordenar Automáticamente una Lista . Pero surgió una nueva cuestión:
¿Cómo resolvemos el orden cuando hay cifras de ventas repetidas? 

La solución es utilizar la función JERARQUIA para establecer un orden dentro de los valores repetidos, como sugiere Jorge Dunkelman en su artículo Función JERARQUIA en Excel. A saber:
 Lo primero es crear el nombre Zona para el rango B3:B14 y el nombre Ventas para el rango C3:C14. En la celda E3 escribimos la fórmula: =JERARQUIA(C3;ventas)  y copiamos hasta E14. De esta manera estamos estableciendo el orden que ocupa cada cifra de ventas. El problema es que hay cifras que se repiten y que debemos "reordenar":

Para ello nos situamos en la celda F3 y escribimos la siguiente fórmula:
=JERARQUIA(C3;Ventas)+CONTAR.SI($C$3:C3;C3)-1

El resultado de dicha es fórmula es el siguiente:

Utilizando la columna F (Jerarquia2) ya podemos aplicar nuestra solución del caso original y resolver el problema. Preparamos el siguiente cuadro (tal y como hicimos en el caso original):

Nos ponemos en la celda I3 y escribimos la siguiente fórmula:
=INDICE(Zona;COINCIDIR($H3;$F$3:$F$14;0))
Nos ponemos en la celda J3 y escribimos la siguiente fórmula:
=INDICE(Ventas;COINCIDIR($H3;$F$3:$F$14;0))

Finalmente seleccionamos el rango I3:J3 y copiamos hacia abajo hasta I14:J14 , y trabajo terminado: