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:

20 comentarios:

  1. De antemano un cordial saludo.
    Buena información me sirvió de mucha ayúa.
    Gracias por todo.
    Excelente Blog.

    ResponderEliminar
  2. Eres un genio. Hacía ya unos cuantos años que intentaba crear un ranking de puntos y esto me ha servido mucho. Muchas gracias :)

    ResponderEliminar
    Respuestas
    1. Muchas gracias Daniel. Me alegro que te haya resultado útil. Un saludo

      Eliminar
  3. Muchisimas Gracias!!!
    Me sacaste del atochamiento en que me encontraba tratando de realizar una tabla para determinar los 4 mejores Terceros de 6 Grupos de un Mundial Sub-20.
    Eres extraordinario. Te felicito.

    ResponderEliminar
  4. Kiko

    Buena Noche.
    En primer permíteme felicitarte por tu blog, de verdad que es de muchísima ayuda y permite explorar opciones que prácticamente son desconocidas para el usuario cotidiano de Excel.

    Mi inquietud esta relacionada con un problema que se me esta presentando con alguna frecuencia en Excel y consiste en que algunas veces en lugar de mostrar en la celda el resultado de un cálculo o de la aplicación de una función, muestra ésta, sin tener activada al opción de mostrar fórmulas.
    Generalmente lo soluciono dando sobre esta celda la opción Datos/texto en columna/finalizar pero en algunas ocasiones ni siquiera esto sirve.
    Otras veces debo limpiar la celda con "Borrar contenido", reescribir la fórmula y en ocasiones aparece el resultado.

    Mi pregunta es: Te ha ocurrido esto alguna vez y conoces alguna forma de solucionarlo de manera definita ?.

    Gracias.

    Eduardo Millán Fletcher
    edomillan@gmail.com

    ResponderEliminar
    Respuestas
    1. Hola Eduardo. Te ocurre ésto con ficheros que te envían o con archivos que tienes guardados y que al abrirlos te presentan este problema?

      Eliminar
  5. Hola Kiko.
    Mi pregunta es la siguiente. ¿Cómo solucionar la repetición de los datos con otra variable?
    En el ejemplo que nos has mostrado supongamos que me interesa ordenar los casos repetidos teniendo en cuenta el número de empleados de cada zona. Es decir, que quede por delante en caso de iguales ventas la zona que menos empleados tenga.
    Gracias.

    ResponderEliminar
  6. Muchísimas gracias por este magnífico tutorial. Ya estaba apunto de postear en el primero que hiciste, cuando he visto que habías sacado la solución a mis problemas de duplicación de registros.
    Muchas gracias otra vez.
    Saludos.

    ResponderEliminar
  7. Excelentes tus aportes!, los voy a poner en práctica... y cualquier inconveniente te consulto... Gracias!

    ResponderEliminar
  8. Queria consultar si existe la posibilidad de ordenar varias columnas automaticamente

    ResponderEliminar
    Respuestas
    1. En principio sí, si se puede establecer alguna norma para el resto de columnas. Si me mandas tu caso concreto lo estudio.
      Un saludo

      Eliminar
  9. Gracias!!!,

    Me ayudó mucho.

    Saludos

    ResponderEliminar
  10. Muchas gracias, tu página me ha sido de gran ayuda.

    ResponderEliminar
  11. Buenos días. tengo este problema. es una quiniela de fútbol que calcula automáticamente, según el resultado del partido, los puntos por cada condición establecida (ganador, empate y resultado). sin embargo cuando tengo dos nombres diferentes con igual resultado no consigo la manera de que esos dos o tres nombres se me reflejen así tengan el mismo numero sino que se repite un solo nombre tanta veces ese resultado se obtenga. intente con la funcion CONTAR.SI o JERARQUIA pero nada. aqui le deje el documento y vea las formulas utilizada en la tabla ranking para que me ayude: https://drive.google.com/file/d/0BxNk0PjrE5JacTFkdXcyallQaUU/edit?usp=sharing

    ResponderEliminar
  12. Y si se repiten las zonas?? como hago!! por favor. :)

    ResponderEliminar
    Respuestas
    1. Por favor, mándame un ejemplo de los datos que tienes y lo que quieres conseguir exactamente. Gracias

      Eliminar
  13. Hola Kiko, me interesa la solución a una pregunta que te hizo un compañero, que no se si estará respondida en otra parte del tutorial

    " Hola Kiko.
    Mi pregunta es la siguiente. ¿Cómo solucionar la repetición de los datos con otra variable?
    En el ejemplo que nos has mostrado supongamos que me interesa ordenar los casos repetidos teniendo en cuenta el número de empleados de cada zona. Es decir, que quede por delante en caso de iguales ventas la zona que menos empleados tenga.
    Gracias."

    Gracias de antemano

    ResponderEliminar
    Respuestas
    1. Te acabo de contestar en mi post de hoy. Muchas gracias!

      Eliminar