Busqueda de un dato en una matriz!

06/12/2007 - 19:44 por Luis Purata | Informe spam
Saludos a todos!

Espero que alguien me pueda ayudar con lo siguiente:

Tengo 5 tablas o matrices en una hoja de excel y, mediante 3 datos deseo
conocer una forma de seleccionar la tabla adecuada al dato 1, y
posteriormente encontrar el numero correspondiente a la interección de los 2
datos restantes en la tabla seleccionada!

Como puedo hacer eso?

Gracias!

Luis

Preguntas similare

Leer las respuestas

#1 David
06/12/2007 - 20:51 | Informe spam
Hola, Luis.

Antes que nada, bienvenido al Foro. Veo que es la primera vez que
participas, así que lo primero que te pido, es que no tomes mal mi
comentario. Sólo me anima el que puedas obtener respuestas más certeras en
próximas oportunidades.

Y es que has expuesto muy pocos datos. Esto hace que quien quiera responder
tenga que "imaginarse" tu problema, y no siempre la idea será la correcta.
Así que, para evitar duplicidad de esfuerzos, tanto en quien quiere contestar
como para quien pregunta, te aconsejaría ampliar más tus consultas. Tal vez
si pusieras un ejemplo, o si mencionaras cómo están tus datos, cómo deseas
obtener el resultado y a partir de qué datos, etc.

Para que no te vayas con las manos vacías, veamos una propuesta genérica que
podría ayudarte a resolver el problema:

Primero, supongamos que tus matrices están en los rangos H37:L41 (5 filas x
5 columnas), otra en E17:G29 (13 filas x 3 columnas) y una tercera en J17:L33
(17 filas x 3 columnas). Introduce valores aleatorios en esos tres rangos.

Escribe lo siguiente en el rango F1:I3

1 H37 5 5
2 E17 13 3
3 J17 17 3

Observa que lo que estoy proponiendo es que pongas el número de la matriz,
la celda de la esquina superior izquierda de la misma, el número de filas y
el número de columnas.

En el rango A1:B3, escribe

Matriz: 2
Fila: 8
Columna: 2

Observa que estoy suponiendo que se está buscando en la matriz 2, el dato
que está en la 8a fila y 2a columna.

Ubícate en C2, e ingresa la siguiente fórmula:

=SI(B2>BUSCARV(B1,F1:I3,3,0),"Error","")

El propósito de esta fórmula será avisarle al usuario cuando haya ingresado
un número de fila incorrecto para la matriz especificada.

En C3, ingresa la siguiente fórmula:

=SI(B3>BUSCARV(B1,F1:I3,4,0),"Error","")

Esto será para informar de un número de columna incorrecto.

Ahora acerquémonos a la solución. La solución de tu problema será posible
siempre que la fila y la columna sean correctas para una matriz dada. Esto
significa que las condiciones de las dos fórmulas anteriores deben cumplirse
simultáneamente. Podríamos pensar entonces inicialmente en una fórmula como
la siguiente:

=SI(Y(B2<=BUSCARV(B1,F1:I3,3,0),B3<=BUSCARV(B1,F1:I3,4,0)),
[BUSCAR_EL_VALOR] ,"Fuera de rango")

Finalmente, para localizar el valor, deberías ubicarte en la celda inicial
de la matriz, y desplazarte el número de (filas - 1) especificado hacia
abajo, y otras tantas (columnas - 1) hacia la derecha:

DESREF(INDIRECTO(BUSCARV(B1,F1:G3,2,0)),B2-1,B3-1,1,1)

Introduciendo esta fórmula dentro de la anterior, te generaría la siguiente
expresión:

=SI(Y(B2<=BUSCARV(B1,F1:I3,3,0),B3<=BUSCARV(B1,F1:I3,4,0)),DESREF(INDIRECTO(BUSCARV(B1,F1:G3,2,0)),B2-1,B3-1,1,1),"Fuera de rango")

Prueba hacer lo que te indico, y comentas los resultados.

PD: Observa que mi separador de listas es la coma. Si no te funciona,
prueba cambiar todas las comas por punto y comas.

Saludos.



"Luis Purata" escribió:

Saludos a todos!

Espero que alguien me pueda ayudar con lo siguiente:

Tengo 5 tablas o matrices en una hoja de excel y, mediante 3 datos deseo
conocer una forma de seleccionar la tabla adecuada al dato 1, y
posteriormente encontrar el numero correspondiente a la interección de los 2
datos restantes en la tabla seleccionada!

Como puedo hacer eso?

Gracias!

Luis



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida