Inicio > Microsoft Excel > jrgces > Función coincidir para encontrar segundo valor

Función coincidir para encontrar segundo valor

Experto:
Usuario: Anónimo Fecha: 07/10/2009
Valoración: (5,00 sobre 5) Categoría: Microsoft Excel
07/10/2009
Usuario
Buenas,
Tengo un listado de oficinas con la producción que hace cada una de ellas, de la siguiente forma:
Oficina            Producción
Madrid            20
Madrid 2         25
Barcelona       12
Barcelona 2    20
Sevilla            12
Cuenca           10
Zaragoza         22
Este es solo un ejemplo, en el caso real hay unas 4000 oficinas y la produción va de 0 a 200 con decimales incluidos.
El caso es que quiero hacer una tabla "ranking" de las 20 oficinas que más producen, lo he conseguido haciendo la tabla y poniendo una función coincidir combinada con K.esimo, de manera que cuando actualizo la producción de las oficinas el ranking también se actualiza.
El problema es que al tratarse de una función coincidir, cuando hay dos oficinas con la misma producción me repite el resultado, para el caso anterior haría esto:
RANKING:
Oficina            Producción
Madrid 2         25
Zaragoza         22
Madrid            20
Madrid            20
Barcelona       12
Barcelona       12
Cuenca           10
Se carga Barcelona 2 por Madrid, y Sevilla por Barcelona.
Necesitaría modificar la fórmula para que esto no ocurra y si apareciesen Barcelona 2 y Sevilla en su sitio.
No puedo ordenar la lista de manera que le sume 1 al coincidir y coja la siguiente, y se podrían llegar a dar entre 5 y 10 coincidencias en la producción ya que hay más de 4000 oficinas.
A ver si alguien sabe como solventarlo...
Muchas gracias por adelantado.
07/10/2009
herve83, experto respondiendo en Microsoft Excel
Experto
La forma más sencilla de conseguirlo supongo que será jerarquizar los datos, para lo cual tendrías que usar una columna auxiliar, pongamos que la C, poner la siguiente fórmula en C2:
 
=JERARQUIA(B2;B$2:B$8)+CONTAR.SI(B$2:B2;B2)-1
 
y copiarla y pegarla hasta C8
 
 
Para obtener el ránking bastaría con poner la siguiente fórmula en la fila 2 de cualquier columna vacía:
 
=INDICE(A$2:A$8;COINCIDIR(FILA()-1;C$2:C$8;0))
 
y copiarla y pegarla hasta la fila 8 de esa columna. Para obtener la producción de las sucursales, la fórmula sería muy parecida:
 
=INDICE(B$2:B$8;COINCIDIR(FILA()-1;C$2:C$8;0))
 
 
Si lo ves muy complicado dímelo y subo un ejemplo.
 
 
Saludos.
07/10/2009
Usuario
1/ No conocía la función Jerarquizar, me parece muy últil para esto.
2/ Muy bien montado el + contar.si - 1 hasta la fila en que se encuentra el dato.
Funciona correctamente, eres un crack.
¡MIL GRACIAS!
Enlaces patrocinados