buscar ub numero en una matriz

30/09/2009 - 16:41 por paul | Informe spam
Hola, es si es urgente por favor.
tengo una matriz de varios numeros (varias filas y varias columnas),
en una celda aparte tengo un nuemero a buscar, lo que pretendo es
buscar ese numero en la matriz. probe con coincidir , pero trabaja
solo con vectores, una sola columna (eso creo). y dependiendo en
donde encuentre el numero tengo que traer el dato que esta en otra
columna de la fila de la posicion del numero encontrado dentro de la
matriz. hay que buscar el numero mas aproximado dentro de la matriz

Muchas Gracias por su valioso tiempo

att. Paúl

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
01/10/2009 - 04:13 | Informe spam
hola, paul !

y... como podriamos REconstruir un modelo y entorno de trabajo (exactamente) "igual al tuyo" ???

- que tienes (y donde, tipo de datos, rangos, etc.)
- que necesitas (y donde, celda, hoja, etc.)
- como lo estas resolviendo actualmente (formulas intentadas, etc.) ?
- etc. etc. etc.

saludos,
hector.

__ OP __
tengo una matriz de varios numeros (varias filas y varias columnas)
en una celda aparte tengo un nuemero a buscar, lo que pretendo es buscar ese numero en la matriz.
probe con coincidir, pero trabaja solo con vectores, una sola columna (eso creo).
y dependiendo en donde encuentre el numero tengo que traer el dato
que esta en otra columna de la fila de la posicion del numero encontrado dentro de la matriz.
hay que buscar el numero mas aproximado dentro de la matriz ...
Respuesta Responder a este mensaje
#2 paul
01/10/2009 - 14:54 | Informe spam
On 30 sep, 21:13, "Héctor Miguel"
wrote:
hola, paul !

y... como podriamos REconstruir un modelo y entorno de trabajo (exactamente) "igual al tuyo" ???

- que tienes (y donde, tipo de datos, rangos, etc.)
- que necesitas (y donde, celda, hoja, etc.)
- como lo estas resolviendo actualmente (formulas intentadas, etc.) ?
- etc. etc. etc.

saludos,
hector.

__ OP __

> tengo una matriz de varios numeros (varias filas y varias columnas)
> en una celda aparte tengo un nuemero a buscar, lo que pretendo es buscar ese numero en la matriz.
> probe con coincidir, pero trabaja solo con vectores, una sola columna (eso creo).
> y dependiendo en donde encuentre el numero tengo que traer el dato
> que esta en otra columna de la fila de la posicion del numero encontrado dentro de la matriz.
> hay que buscar el numero mas aproximado dentro de la matriz ...



Gracias Hector ...
suponemos una tabla rango c2:j20, el cual este compuesto por celdas
con numeros decimales 0,465 - 0,486- 0,567 etc en cada celda hay un
valor... en otra celda A1 ingreso un numero por ejemplo 0,464, y lo
que se necesita es buscar la posicion (en que fila del rango esta) de
ese valor dentro de la tabla (dato mas aproximado) para que con la
funcion INDICE O DESREF o cualquiera de ellas sabiendio en que fila
esta ubicado el valor igual o mas proximo, traer el valor de una
columna asociada a la tabla que esta a la derecha de la misma.

Agradeciendo Hector de antemano tu valiosa y oportuna respuesta.

Saludos

Paul
Respuesta Responder a este mensaje
#3 Xavier Budet Graco
01/10/2009 - 17:41 | Informe spam
Hola Paul, hay algo que no me queda claro, dices:
que se necesita es buscar la posicion (en que fila del rango esta) de <



¿La celda o la fila?, si es la fila puedes utilizar esta fórmula:
=SUMAPRODUCTO(MAX(FILA(C2:J20)*(C2:J20¡)))

Si es para la celda el tema se complica, ante la posibilidad de que el número buscado esté repetido en la matriz se necesitan dos celdas, una para buscar la columna:
=SUSTITUIR(DIRECCION(1;MIN(SI(C2:J20¡;COLUMNA(C2:J20)));4);1;"")

Atención esta fórmula es MATRICIAL, o sea has de introducirla con CONTROL+SHIFT+ENTER y aparecerán las llaves de entrada y cierre.
Yo utilizo el ";" como separador, comprueba que sea el tuyo.

Y otra para buscar la celda a partir de la columna.
Vamos a suponer que la fórmula anterior está en A2, el resultado será la columna. Pon en A3 (por ejemplo) la fórmula siguiente para obtener la celda:
=DIRECCION(MIN(SI(INDIRECTO(A2&2):INDIRECTO(A2&20)¡;FILA(C2:J20)));MIN(SI(C2:J20¡;COLUMNA(C2:J20)));4)

También esta fórmula es MATRICIAL

Saludos,

Xavier

Quitar MAC para contestar. Gracias.




"paul" escribió en el mensaje news:
On 30 sep, 21:13, "Héctor Miguel"
wrote:
hola, paul !

y... como podriamos REconstruir un modelo y entorno de trabajo (exactamente) "igual al tuyo" ???

- que tienes (y donde, tipo de datos, rangos, etc.)
- que necesitas (y donde, celda, hoja, etc.)
- como lo estas resolviendo actualmente (formulas intentadas, etc.) ?
- etc. etc. etc.

saludos,
hector.

__ OP __

> tengo una matriz de varios numeros (varias filas y varias columnas)
> en una celda aparte tengo un nuemero a buscar, lo que pretendo es buscar ese numero en la matriz.
> probe con coincidir, pero trabaja solo con vectores, una sola columna (eso creo).
> y dependiendo en donde encuentre el numero tengo que traer el dato
> que esta en otra columna de la fila de la posicion del numero encontrado dentro de la matriz.
> hay que buscar el numero mas aproximado dentro de la matriz ...



Gracias Hector ...
suponemos una tabla rango c2:j20, el cual este compuesto por celdas
con numeros decimales 0,465 - 0,486- 0,567 etc en cada celda hay un
valor... en otra celda A1 ingreso un numero por ejemplo 0,464, y lo
que se necesita es buscar la posicion (en que fila del rango esta) de
ese valor dentro de la tabla (dato mas aproximado) para que con la
funcion INDICE O DESREF o cualquiera de ellas sabiendio en que fila
esta ubicado el valor igual o mas proximo, traer el valor de una
columna asociada a la tabla que esta a la derecha de la misma.

Agradeciendo Hector de antemano tu valiosa y oportuna respuesta.

Saludos

Paul
Respuesta Responder a este mensaje
#4 paul
02/10/2009 - 15:35 | Informe spam
On 1 oct, 10:41, "Xavier Budet Graco" wrote:
Hola Paul, hay algo que no me queda claro, dices:

> que se necesita es buscar la posicion (en que fila del rango esta) de <

¿La celda o la fila?, si es la fila puedes utilizar esta fórmula:
=SUMAPRODUCTO(MAX(FILA(C2:J20)*(C2:J20¡)))

Si es para la celda el tema se complica, ante la posibilidad de que el número buscado esté repetido en la matriz se necesitan dos celdas, una para buscar la columna:
=SUSTITUIR(DIRECCION(1;MIN(SI(C2:J20¡;COLUMNA(C2:J20)));4);1;"")

Atención esta fórmula es MATRICIAL, o sea has de introducirla con CONTROL+SHIFT+ENTER y aparecerán las llaves de entrada y cierre.
Yo utilizo el ";" como separador, comprueba que sea el tuyo.

Y otra para buscar la celda a partir de la columna.
Vamos a suponer que la fórmula anterior está en A2, el resultado será la columna. Pon en A3 (por ejemplo) la fórmula siguiente para obtener la celda:
=DIRECCION(MIN(SI(INDIRECTO(A2&2):INDIRECTO(A2&20)¡;FILA(C2:J20)));MIN(SI(C2:J20¡;COLUMNA(C2:J20)));4)

También esta fórmula es MATRICIAL

Saludos,

Xavier

Quitar MAC para contestar. Gracias.

"paul" escribió en el mensajenews:
On 30 sep, 21:13, "Héctor Miguel"
wrote:



> hola, paul !

> y... como podriamos REconstruir un modelo y entorno de trabajo (exactamente) "igual al tuyo" ???

> - que tienes (y donde, tipo de datos, rangos, etc.)
> - que necesitas (y donde, celda, hoja, etc.)
> - como lo estas resolviendo actualmente (formulas intentadas, etc.) ?
> - etc. etc. etc.

> saludos,
> hector.

> __ OP __

> > tengo una matriz de varios numeros (varias filas y varias columnas)
> > en una celda aparte tengo un nuemero a buscar, lo que pretendo es buscar ese numero en la matriz.
> > probe con coincidir, pero trabaja solo con vectores, una sola columna (eso creo).
> > y dependiendo en donde encuentre el numero tengo que traer el dato
> > que esta en otra columna de la fila de la posicion del numero encontrado dentro de la matriz.
> > hay que buscar el numero mas aproximado dentro de la matriz ...

Gracias Hector ...
suponemos una tabla rango c2:j20, el cual este compuesto por celdas
con numeros decimales 0,465 - 0,486- 0,567 etc en cada celda hay un
valor... en otra celda A1 ingreso un numero por ejemplo 0,464, y lo
que se necesita es buscar la posicion (en que fila del rango esta) de
ese valor dentro de la tabla (dato mas aproximado) para que con la
funcion INDICE O DESREF o cualquiera de ellas sabiendio en que fila
esta ubicado el valor igual o mas proximo, traer el valor de una
columna asociada a la tabla que esta a la derecha de la misma.

Agradeciendo Hector de antemano tu valiosa y oportuna respuesta.

Saludos

Paul



XAVIER.
muchas gracias por responder, la primera funcion =SUMAPRODUCTO(MAX
(FILA(C2:J20)*(C2:J20¡))) es muy util ya que lo que busco es
exactamente la fila, lo UNICO que me falta es en lugar de max que
poner para que sea una aproximacion es decir su busco 0,593 y en la
base no existe ese numero, me de la fila del valor que mas se
aproxime...

Espero me puedas ayudar...y de nuevo muchas gracias por tu tiempo.

Saludos
Paul
Respuesta Responder a este mensaje
#5 Xavier Budet Graco
02/10/2009 - 21:45 | Informe spam
Hola Paul, la fórmula que te paso hace lo que pides pero con limitaciones, te explico:
Si el número que buscas está en la matriz ningún problema, si no está buscará la mejor aproximación MENOR que el número que buscas, o sea para que quede claro: si buscas 0,675 y en la matriz tienes 0,676 y 0,673 como números más próximos el resultado será la fila que esté el 0,673.

Continuamos con tus datos anteriores, en A3 situas la fórmula:
=MAX(FILA(C2:J20)*(C2:J20=MAX(SI(C2:J20<¡;C2:J20))))

Es una fórmula MATRICIAL, recuerda se ha de introducir con las teclas CONTROL+SHIFT+ENTER y aparecerá una llave de inicio {, y una final }
Yo utilizo el ";" como separador.

Si quieres conocer que valor es el escogido utiliza esta fórmula:
=INDICE(INDIRECTO("C"&A3&":"&"J"&A3);COINCIDIR(MIN(ABS(INDIRECTO("C"&A3&":"&"J"&A3)-A1));ABS(INDIRECTO("C"&A3&":"&"J"&A3)-A1);0))

También es matricial.

Saludos,

Xavier

Quitar MAC para contestar. Gracias.


XAVIER.
muchas gracias por responder, la primera funcion =SUMAPRODUCTO(MAX
(FILA(C2:J20)*(C2:J20¡))) es muy util ya que lo que busco es
exactamente la fila, lo UNICO que me falta es en lugar de max que
poner para que sea una aproximacion es decir su busco 0,593 y en la
base no existe ese numero, me de la fila del valor que mas se
aproxime...

Espero me puedas ayudar...y de nuevo muchas gracias por tu tiempo.

Saludos
Paul
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida