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

Preguntas similare

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
Respuesta Responder a este mensaje
#2 Héctor Miguel
13/05/2008 - 05:09 | Informe spam
hola, chicos !

si ya vas a usar una columna auxiliar... es probable que resulte mas rapido un (re)calculo con la siguiente alternativa:

1) determinar una sola vez el k.esimo.mayor
[A1] =k.esimo.mayor(b2:b6,2)

2) enumerar donde existen coincidencias con el k.esimo.mayor
[C2] =(b2=a$1)*(1+max(c$1:c1))
=> esta formula la copias/arrrastras a las filas del rango [C2:C6 ?]

3) obtener el listado de los n_coincidentes con A1 (el k.esimo.mayor)
[D2] =buscar(fila(d1),c$2:c$6,a$2:a$6)
=> esta formula al copias/arrastras SOLO las n_coincidencias que existan

saludos,
hector.

jsilva69 escribio en el mensaje ...
Intenta con esto:
Suponiendo que la fila 1 contiene los rótulos "A" y "B" (jeje...
necesito un valor inicial 0 en C1!). Entre par2ntesis, 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 asi, consecutivamente.

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

Espero haber sido claro.



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 funcion =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?
Respuesta Responder a este mensaje
#3 jsilva69
13/05/2008 - 15:25 | Informe spam
Hola, H.M!

Jejeje, siempre es bueno abrir la cabeza y ver alternativas...
A pesar de que no es obvio, yo tendria que haber separado
K.ESIMO.MAYOR($B$2:$B$6;2) de las formulas... eso me pasa por apurado!

Y es cierto... el metodo que describis recalcula mas rapido... pero el
que digo yo no exceptua celdas! (jajaja)

Igual, creo que nuestro amigo Juan ya tiene una idea para empezar a
jugar.

Saludos.

Julio.

On 13 mayo, 00:09, "Héctor Miguel"
wrote:
hola, chicos !

si ya vas a usar una columna auxiliar... es probable que resulte mas rapido un (re)calculo con la siguiente alternativa:

1) determinar una sola vez el k.esimo.mayor
    [A1] =k.esimo.mayor(b2:b6,2)

2) enumerar donde existen coincidencias con el k.esimo.mayor
    [C2] =(b2=a$1)*(1+max(c$1:c1))
    => esta formula la copias/arrrastras a las filas del rango [C2:C6 ?]

3) obtener el listado de los n_coincidentes con A1 (el k.esimo.mayor)
    [D2] =buscar(fila(d1),c$2:c$6,a$2:a$6)
    => esta formula al copias/arrastras SOLO las n_coincidencias que existan

saludos,
hector.



>> jsilva69 escribio en el mensaje ...
>> Intenta con esto:
>> Suponiendo que la fila 1 contiene los rótulos "A" y "B" (jeje...
>> necesito un valor inicial 0 en C1!). Entre par2ntesis, 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 asi, consecutivamente.

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

>> Espero haber sido claro.
> 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 funcion =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?- Ocultar texto de la cita -

- Mostrar texto de la cita -
Respuesta Responder a este mensaje
#4 Héctor Miguel
14/05/2008 - 15:37 | Informe spam
hola, Julio !

Y es cierto... el metodo que describis recalcula mas rapido...
pero el digo yo no exceptua celdas! ...



no entendi a que te refieres con "exceptuar" celdas -???-

1) la formula que propones para la columna C, no la puedes "extender mas alla" de n_coincidencias
a partir de "la siguiente" (que no exista) obtendras valores de error
igual para la columna D (cuando trates de "rescatar" los nombres) :-(

2) la formula que propongo para la columna C, NO "exeptua" celdas (simplemente) solo pone numero donde hay coincidencia
en la columna D, a partir de "la siguiente" coincidencia (que ya no existe) veras repetido "el ultimo" encontrado
(por eso comentaba que: "esta formula al copias/arrastras SOLO las n_coincidencias que existan")
CERO probabilidad de obtener "valores de error" ;)

saludos,
hector.

__ historial de la consulta __
si ya vas a usar una columna auxiliar... es probable que resulte mas rapido un (re)calculo con la siguiente alternativa:

1) determinar una sola vez el k.esimo.mayor
[A1] =k.esimo.mayor(b2:b6,2)

2) enumerar donde existen coincidencias con el k.esimo.mayor
[C2] =(b2=a$1)*(1+max(c$1:c1))
=> esta formula la copias/arrrastras a las filas del rango [C2:C6 ?]

3) obtener el listado de los n_coincidentes con A1 (el k.esimo.mayor)
[D2] =buscar(fila(d1),c$2:c$6,a$2:a$6)
=> esta formula al copias/arrastras SOLO las n_coincidencias que existan

Intenta con esto:
Suponiendo que la fila 1 contiene los rótulos "A" y "B" (jeje...
necesito un valor inicial 0 en C1!). Entre par2ntesis, 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 asi, consecutivamente.





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





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º maximo 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 funcion =INDICE(A2:A6;COINCIDIR(K.ESIMO.MAYOR(B2:B6;2);B2:B6;0))
el resultado sería en teoria Pepe, Juan, Fernando, pero solo 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 logica? Alguna pista?
Respuesta Responder a este mensaje
#5 jsilva69
15/05/2008 - 14:15 | Informe spam
Exacto; si no hay mas coincidencias, da un valor de error!
Yo interprete mal tu solucion; me confundio el "copiar"/arrastrar SOLO
las n_coincidencias que existan
En un momento me imagine que quedaban celdas vacias en el medio.
Mal por mi!

Un saludo.


On 14 mayo, 10:37, "Héctor Miguel"
wrote:
hola, Julio !

> Y es cierto... el metodo que describis recalcula mas rapido...
> pero el digo yo no exceptua celdas! ...

no entendi a que te refieres con "exceptuar" celdas    -???-

1) la formula que propones para la columna C, no la puedes "extender mas alla" de n_coincidencias
    a partir de "la siguiente" (que no exista) obtendras valores de error
    igual para la columna D (cuando trates de "rescatar" los nombres)    :-(

2) la formula que propongo para la columna C, NO "exeptua" celdas (simplemente) solo pone numero donde hay coincidencia
    en la columna D, a partir de "la siguiente" coincidencia (que ya no existe) veras repetido "el ultimo" encontrado
    (por eso comentaba que: "esta formula al copias/arrastras SOLO las n_coincidencias que existan")
    CERO probabilidad de obtener "valores de error"    ;)

saludos,
hector.

__ historial de la consulta __



> si ya vas a usar una columna auxiliar... es probable que resulte mas rapido un (re)calculo con la siguiente alternativa:

> 1) determinar una sola vez el k.esimo.mayor
> [A1] =k.esimo.mayor(b2:b6,2)

> 2) enumerar donde existen coincidencias con el k.esimo.mayor
> [C2] =(b2=a$1)*(1+max(c$1:c1))
> => esta formula la copias/arrrastras a las filas del rango [C2:C6 ?]

> 3) obtener el listado de los n_coincidentes con A1 (el k.esimo.mayor)
> [D2] =buscar(fila(d1),c$2:c$6,a$2:a$6)
> => esta formula al copias/arrastras SOLO las n_coincidencias que existan

>>> Intenta con esto:
>>> Suponiendo que la fila 1 contiene los rótulos "A" y "B" (jeje...
>>> necesito un valor inicial 0 en C1!). Entre par2ntesis, 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 asi, consecutivamente.

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

>> 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º maximo 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 funcion =INDICE(A2:A6;COINCIDIR(K.ESIMO.MAYOR(B2:B6;2);B2:B6;0))
>> el resultado sería en teoria Pepe, Juan, Fernando, pero solo 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 logica? Alguna pista?- Ocultar texto de la cita -

- Mostrar texto de la cita -
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida