K.ESIMO valor

12/05/2008 - 16:12 por Juan | Informe spam
Buenas tardes a todos.
Estoy intentando extraer datos de un listado, a base de utilizar el
valor K.ESIMO de una lista y las funciones INDICE y COINCIDIR, para
elegir el 4º máximo valor y que me diga a que valor de la fila
contigua corresponde.
El problema me viene cuando ese valor K.ESIMO no es único. Identifica
el valor, pero es incapaz de sacarme a quien corresponde, se queda en
el primer valor de la fila y lo presenta dos veces.
Por poneros un ejemplo

A B
Pedro 0.1
Pepe 0.2
Juan 0.2
Marcial 0.3
Fernando 0.2

Si yo pongo la función
=INDICE(A2:A6;COINCIDIR(K.ESIMO.MAYOR(B2:B6;2);B2:B6;0))
el resultado sería en teoría Pepe, Juan, Fernando, pero sólo me pone
uno de los tres (creo que el primero en orden de la fila, en este
caso, Pepe).
¿Hay alguna manera de ponerle un condicionado para que busque el
siguiente? ¿Prueba lógica? ¿Alguna pista?

Muchas gracias por vuestra ayuda.
Juan
 

Leer las respuestas

#1 jsilva69
12/05/2008 - 17:56 | Informe spam
Hola!

Intenta con esto:

Suponiendo que la fila 1 contiene los rótulos "A" y "B" (jeje...
necesito un valor inicial 0 en C1!). Entre paréntesis, los resultados
en cada celda.

[C2] =COINCIDIR(K.ESIMO.MAYOR($B$2:$B$6;2);DESREF($B$2:$B$6;C1;0;6;1);
0)+C1 (=2)

A ver si desculamos un poco las formulas...

Necesito un 0 en C1 porque me indica en que posicion de la "matriz de
busqueda" encontre el K.ESIMO.MAYOR($B$2:$B$6;2) anterior.
La "matriz de busqueda" esta dada por DESREF($B$2:$B$6;C1;0;6;1); es
por eso que, cuando C1 (=0), la matriz de busqueda es toda la matriz
original.

Veamos la formula consecutiva:

[C3] =COINCIDIR(K.ESIMO.MAYOR($B$2:$B$6;2);DESREF($B$2:$B$6;C2;0;6;1);
0)+C2 (=3)

C2 (=2) me indica en que posicion de la "matriz de busqueda" encontre
el K.ESIMO.MAYOR($B$2:$B$6;2) anterior.
La "matriz de busqueda" esta dada por DESREF($B$2:$B$6;C2;0;6;1); es
por eso que, cuando C2 (=2), la matriz de busqueda es [$B$4:$B$6].
Por lo tanto, COINCIDIR(K.ESIMO.MAYOR($B$2:$B$6;2);DESREF($B$2:$B
$6;C2;0;6;1);0) (=1) me indica en que posicion de la "matriz de
busqueda" ([$B$4:$B$6]) encontre el K.ESIMO.MAYOR($B$2:$B$6;2) actual.

Y así, consecutivamente.

[D2] =INDICE($A$2:$A$6;C2;1) (='Pepe)

Espero haber sido claro.

Un saludo

Julio.


On 12 mayo, 11:12, Juan wrote:
Buenas tardes a todos.
Estoy intentando extraer datos de un listado, a base de utilizar el
valor K.ESIMO de una lista y las funciones INDICE y COINCIDIR, para
elegir el 4º máximo valor y que me diga a que valor de la fila
contigua corresponde.
El problema me viene cuando ese valor K.ESIMO no es único. Identifica
el valor, pero es incapaz de sacarme a quien corresponde, se queda en
el primer valor de la fila y lo presenta dos veces.
Por poneros un ejemplo

A B
Pedro 0.1
Pepe 0.2
Juan 0.2
Marcial 0.3
Fernando 0.2

Si yo pongo la función
=INDICE(A2:A6;COINCIDIR(K.ESIMO.MAYOR(B2:B6;2);B2:B6;0))
el resultado sería en teoría Pepe, Juan, Fernando, pero sólo me pone
uno de los tres (creo que el primero en orden de la fila, en este
caso, Pepe).
¿Hay alguna manera de ponerle un condicionado para que busque el
siguiente? ¿Prueba lógica? ¿Alguna pista?

Muchas gracias por vuestra ayuda.
Juan

Preguntas similares