Fórmula para obtener valores de una matriz Excel

Hola tengo un problema relacionado con obtener un valor de una matriz me he acerdao bastante con las funciones INDICE, DESREF y COINCIDR pero no he logrado armar bien la fórmula.
Ejemplo; de la tabla de abajo conociendo de la columna "Jun" y el dato "6.81" necesito obtener el contenido de la columna VALOR que para este caso seria "CI". Alguien me puede ayudar a conseguir la fórmula. Gracias
VALOR   Ene     Feb     Mar      Abr      May    Jun      Jul       Ago   Sep     Oct      Nov    Dic  
HI         15.42  15.38  15.37  15.22  15.21  15.32  15.38  15.6   15.76  15.89  16.49 16.42
JU         13.53  13.59  13.61  13.59  13.61  13.94  13.4    13.27 13.18  13.14  13.09 13.09
LI 14.76 14.99 15.4 15.3 15.9 15.02 15.66 15.95 15.91 15.93 14.48 14.39
RE 7.14 7.31 7.23 7.18 7.17 7.45 7.56 7.63 7.65 7.68 7.62 7.54
GU 15.95 16.05 16.08 15.98 16.05 16.26 16.09 16.13 16.16 16.2 16.14 16.09
AL 14.55 14.79 14.48 14.76 14.64 14.94 15.36 15.64 15.49 15.47 15.41 15.29
CI 7.3 7.53 7.36 7.33 7.0 6.81 6.77 6.68 6.6 7.16 7.03 7.06
ZA       7.79      8.07    7.78    7.76    7.74   8.21     8.49    8.33   8.39     8.52   8.27    8.17
CO 11.05 11.07 11.09 10.91 10.74 11.16 11.61 11.75 11.71 11.21 10.95 10.33
{"lat":19.3111433550646,"lng":-101.25}

1 Respuesta

Respuesta
1
En primer lugar te recomendaría que asignaras nombre a cada columna de la base de datos
http://excelforo.blogspot.com/search/label/Asignar%20nombres%20a%20rangos
Le daríamos los nombres que ya tienen, para cada columna Ene, Feb, ..., Dic.
Una vez realizado este paso, construiríamos nuestra fórmula.
Lo vinculamos a dos celdas variables. Por ejemplo en F13 buscamos sobre el mes y en G13 sobre el valor numérico. Supongamos que tenemos los valores de búsqueda que comentas. En F13 'Jun' y en G13 '6,81' (NOTA: es importante que no se repitan los valores numéricos por columnas, esto es, que cada columna tenga valores únicos!).
Terminamos, en H13, por ejemplo, escribimos
=INDICE($A$1:$M$10;COINCIDIR(G13;INDIRECTO(F13);0)+1;1)
Es decir, devuélveme el valor de la columna 1 y de la fila 'COINCIDIR(G13;INDIRECTO(F13);0)+1' de la matriz de datos.
Slds
P.D.: Por favor, si te ha sido de utilidad cierra y valora la pregunta.
www.excelforo.blogspot.com
Hola Excelforo, antes que nada agradezco la solución propuesta pues ya probé la fórmula y esta casi perfecta, pero hay dos dificultades:
1.- Muy probablemente se repetirán valores por lo que se complica la fórmula.
2.- En esa misma hoja tengo otras 10 tablas con columnas de mes, y columna VALOR1, VALOR2. Pero con diferentes resultados. Por lo que no puedo asignar nombres de rangos iguales para la columna mes en las 10 tablas.
Habrá alguna forma de saltar estos obstáculos.
Al problema 2, seguro, bastará con asignarles nombres diferentes a cada una de las 10 tablas...
¿El problema será el 1. Como le dices a una máquina que de una columna busque un valor cuando se está repitiendo en varias ocasiones?. Cuando definimos una fórmula estamos replicando un criterio de búsqueda (en este caso), que haría lo mismo que nosotros ' a mano'... por lo que habría que definir alguna condición más a nuestra fórmula para que cuando encuentre dos o más (¿cuántos más?!) Valores iguales sepa con cual quedarse...
Si eres capaz de identificarlo y parametrizarlo en papel, lo podremos conseguir con Excel...
Slds
www.excelforo.blogspot.com
Hola muchas gracias por la oportunidad en la respuesta.
En cuanto a los comentarios al punto 1 te comento a manera de ejemplo tengo 10 tablas con los nombres de vendedores o sucursales de la columna valor, pero cada tabla corresponde a un producto diferente; una tabla para tornillos, otra para flejes, filtros etc... por lo que cabe la posibilidad de que cada tabla y en un mes POR los diferentes vendedores pueden vender la misma cantidad. Pero bueno así voy a dejar la fórmula al fin de cuentas me toma el primer valor que se encuentre en la tabla, ya le hice pruebas.
En el punto 2, te refieres a darle un nombre a cada tabla o debería tener N nombres para cada columna por ejemplo ene1 ene2 ene3... ¿eneN? ; Esto ultimo me complicaría ya que en una sola celda indico el mes que se trata para las 10 tablas.
Espero tus comentarios. Saludos
Si sólo hablamos de 10 tablas, podrías optar por la siguiente solución al punto 2 (dar nombre a las distintas columnas de meses). Efectivamente le daríamos nombre a Ene_1... Ene_10, Feb_1... Feb_10, etc (sería importante nombrarlos con el guión bajo!); Ahora bien, nuestras fórmulas de búsqueda serían en cada hoja:
=INDICE($A$1:$M$10;COINCIDIR(P8;INDIRECTO(O8&"_"&1);0)+1;1)
Donde el INDIRECTO(O8&"_"&1) nos dará para cada hoja de datos (de las 10 existentes) según cambies el valor 1 (en negrita y subrayado- también puedes vincularlo a alguna celda por comodidad).
Recuerda que sólo hablamos de nombrar los rangos, no de cambiar las cabeceras de las tablas.
Para el punto 1, efectivamente nos mostrará la primera coincidencia, repito que necesitaríamos algún criterio para parametrizarlo.
Slds
P.D.:

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas