[RESUELTO] Buscar valor en una matriz.

Discute sobre la aplicación de hojas de cálculo
Responder
javier.ers
Mensajes: 6
Registrado: Vie Nov 04, 2011 12:01 am

[RESUELTO] Buscar valor en una matriz.

Mensaje 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.
Última edición por javier.ers el Vie Nov 04, 2011 8:03 am, editado 1 vez en total.
LibreOffice en LinuxMint
mriosv
Mensajes: 2335
Registrado: Sab Dic 27, 2008 1:12 am
Ubicación: Galiza (España)

Re: Buscar valor en una matriz.

Mensaje por mriosv »

Te pongo una posible solución.
Captura.PNG
Captura.PNG (11.32 KiB) Visto 3769 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.
Puedes usar "Subir adjunto" en Respuesta rápida - Editor Completo - Pestaña Subir adjunto
Apache OpenOffice 4, LibreOffice (Win10x64)
javier.ers
Mensajes: 6
Registrado: Vie Nov 04, 2011 12:01 am

Re: Buscar valor en una matriz.

Mensaje 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.
LibreOffice en LinuxMint
mriosv
Mensajes: 2335
Registrado: Sab Dic 27, 2008 1:12 am
Ubicación: Galiza (España)

Re: [RESUELTO] Buscar valor en una matriz.

Mensaje 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?
Puedes usar "Subir adjunto" en Respuesta rápida - Editor Completo - Pestaña Subir adjunto
Apache OpenOffice 4, LibreOffice (Win10x64)
javier.ers
Mensajes: 6
Registrado: Vie Nov 04, 2011 12:01 am

Re: [RESUELTO] Buscar valor en una matriz.

Mensaje 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.
LibreOffice en LinuxMint
Responder