Cómo usar Índice/Coincidencia u otra función para que los datos de la celda queden fuera del valor de búsqueda

Cómo usar Índice/Coincidencia u otra función para que los datos de la celda queden fuera del valor de búsqueda

Estoy intentando utilizar una combinación de INDEXy MATCHhacer que funcione lo siguiente.

ingrese la descripción de la imagen aquí

Verá en la parte inferior de la imagen que hay un valor "Alto". Lo que intento hacer es buscar en la tabla de la izquierda para encontrar ese valor. Entonces, quiero que el resultado sea el nombre de "Plano". Básicamente, quiero que "D" aparezca en J14.

Lo intenté originalmente, VLOOKUPpero descubrí que la primera columna debía ser el valor de búsqueda, así que estoy probando la ruta de índice/coincidencia. Aunque no puedo hacerlo funcionar. Cualquier comentario sería apreciado.

Fórmula utilizada:

=INDEX($A$9:$D$15,MATCH($I$14,A9:D15,4),1)

Respuesta1

Como gns100se comentó, MATCH()falló porque el rango a coincidir no era una sola columna (o fila). Y el uso XLOOKUP()funciona muy bien aquí y los detalles lo hacen inadecuado, como suele suceder. Sigue el mismo enfoque básico que INDEX/MATCHen el caso de que se le proporcionen los mismos conceptos básicos: valor de búsqueda, dónde buscar ese valor, adónde ir para encontrar qué devolver.

VLOOKUP()PUEDE funcionar, si por alguna razón lo prefieres. Creo que INDEX/MATCHfunciona en cualquier versión de Excel que tenga , por lo que con el pequeño ajuste mostrado, siempre puedes usarlo cuando se necesita compatibilidad con versiones anteriores.VLOOKUP()gns100

VLOOKUP()lo hace usando INDEX()para crear una tabla virtual para su segundo parámetro, una que contiene solo la columna de búsqueda y la columna de resultados, y en ese orden. Por ejemplo:

=VLOOKUP($I$14,  INDEX(A9:D15, ROW(INDIRECT("1:"&ROWS(A9:D15)) ),{4,1}),  2,  FALSE)

La {4,1}("constante de matriz") indica INDEX()que se devuelva primero la cuarta columna y la primera columna en segundo lugar, lo que le proporciona una tabla de búsqueda (virtual) de dos columnas en la que VLOOKUP()puede "mirar hacia la derecha" para encontrar el resultado. Así que todavía "parece correcto", pero el efecto es que "parece izquierdo".

Esa parte en el medio ROW(INDIRECT("1:"&ROWS(A9:D15))es simplemente la forma de la vieja escuela de obtener una serie desde "1" hasta lo que sea, de modo que especifique devolver todas las filas. Hoy en día, una simple SEQUENCE( ROWS(A1:D15) )sería suficiente, pero eso no se remonta al pasado XLOOKUP()... La razón por la que debe estar ahí es que cuando especificas filas o columnas (o "áreas" en algunos otros usos) usando una constante de matriz directamente, o cualquier cosa que genere una constante de matriz durante su cálculo, entonces Excel requiere que el otro parámetro esté completamente especificado en lugar de usar simplemente, digamos, ,,(nada para el parámetro de fila) o ,0,("0" para el parámetro de fila), cualquiera de los cuales especifica " TODAS" filas a Excel.

Sí, la vieja escuela era desagradable. ¡Tengo que amar XLOOKUP()y FILTER()!

Puede utilizar una técnica similar con las filas, aunque compuestas de forma ligeramente diferente, para crear INDEX()una tabla virtual que sea de abajo hacia arriba, de arriba hacia abajo... la última fila ahora es la primera, la primera fila ahora es la última. Esto puede permitirle encontrar "la fecha más reciente" y tipos similares de cosas en las que desea buscar de abajo hacia arriba.

Todos son solo por compatibilidad con versiones anteriores, ya que XLOOKUP()solo no hacen lo que se necesita en circunstancias poco comunes. Y los enfoques similares que hacen lo que FILTER()hacen ahora también son, por supuesto, solo necesarios para la compatibilidad de versiones anteriores.

Una cosa interesante que INDEX()puede hacer y que aún no está obsoleta, al menos no del todo (creo que las nuevas funciones de manejo de matrices también podrían hacer que esto quede obsoleto), es que puede transponer un rango en las cuatro variaciones, no solo de izquierda a derecha. -abajo y viceversa como con TRANSPOSE(). Pero el hecho de que nunca hayas oído hablar de hacerlo en los millones de sitios de ayuda de Excel probablemente significa que nunca es necesario en el mundo real.

información relacionada