Página 1 de 1

[RESUELTO] Buscar valor en una matriz.

Publicado: Vie Nov 04, 2011 12:43 am
por javier.ers
Hola,

después de dar vueltas y vueltas y buscar en todo el foro no he podido dar con una forma de hacer lo que necesito:

- Tengo una matriz donde en la primera fila corresponde a los meses del año y la primera columna corresponde a los días y en cada intersección un valor de área (m2), algo así:

_____ENE__FEB___MAR____...____DIC
1____65____55____05_____...____04
2____03____12____77_____...____25
3____22____12____05_____...____55
...
31___10____25 ____05_____...____50

- Esta matriz se repite n veces en la hoja dependiendo del número de años de registro (para el caso 83 años).
- Necesitaba encontrar los máximos de cada año y escribirlos en una columna. Lo logré utilizando la función MÁX() y la función INDIRECTO para que buscara en la matriz correspondiente a cada año, es decir, obtuve una columna con 83 filas (un máximo por año).

- Lo que necesito ahora es encontrar el mes y el día en el cual se obtiene ese máximo, y eso no lo he podido lograr. Lo más cerca que he encontrado es un ejemplo en el cual se busca un valor en una matriz como la indicada pero indicando el mes y el año, pero lo que necesito es justamente lo inverso.

Bueno, les dejo la inquietud y agradeceré cualquier orientación.

Saludos.

Javier.

Re: Buscar valor en una matriz.

Publicado: Vie Nov 04, 2011 3:15 am
por mriosv
Te pongo una posible solución.
Captura.PNG
Captura.PNG (11.32 KiB) Visto 3770 veces
Tiene que mantener en las formulas los multiplicandos por cero, pues si los eliminas da error, supongo que por un problema con las iteraciones en la resolución de la formula, pues SUMA.PRODUCTO() es una formula de matriz aunque se introduzca normalmente.

Re: Buscar valor en una matriz.

Publicado: Vie Nov 04, 2011 7:59 am
por javier.ers
Muchísimas gracias MRIOSV!!!, me sirve para lo que necesito.
Básicamente tomé el código que me diste (el que sirve para encontrar el número de la columna, en realidad el día es secundario y por el momento no lo requiero) y lo asocié con el mes respectivo. Modifiqué los rangos de las distintas matrices con INDIRECTO() y listo, ahora ya sé en qué mes se produjo el máximo para cada año. GENIAL.
Sin embargo, con esta solución tengo problemas cuando existen 2 o más valores máximos en la matriz, pero, para el caso, como los mayores valores se producen normalmente en los meses de invierno (Junio a Septiembre) sólo tengo que revisar los valores que me dan en un rango mayor a los 12 meses (en rigor cuando tengo un valor 11 ya es necesario revisar) pero el trabajo se redujo considerablemente (sólo tuve que revisar 5 casos de 83).

Te agradezco nuevamente por la pronta respuesta y por la solución a mi "rompedero de cabeza".

Saludos a todos.

Javier.

Re: [RESUELTO] Buscar valor en una matriz.

Publicado: Vie Nov 04, 2011 7:28 pm
por mriosv
Como ya sabes el máximo, con el buscador Ctrl+F puedes encontrar rápidamente donde están.
¿por cierto cuando dos máximos son iguales, como seleccionas cuál es el que corresponde?

Re: [RESUELTO] Buscar valor en una matriz.

Publicado: Vie Nov 04, 2011 8:23 pm
por javier.ers
Hola de nuevo.
Con respecto a los máximos, me conformo con saber cuándo se produce el primer máximo en el caso de existir 2 o más, pero como el análisis se hace en forma visual, se pueden detectar todos los máximos sin problema con el uso de Ctrl+F como lo mencionas.

Saludos.