
Fórmula genérica
=INDEX(CHOOSE(number,array1,array2),MATCH(value,range,0))
Resumen
Para configurar una fórmula de ÍNDICE y COINCIDIR donde la matriz proporcionada a ÍNDICE es variable, puede usar la función ELEGIR. En el ejemplo que se muestra, la fórmula en I5, copiada, es:
=INDEX(CHOOSE(H5,Table1,Table2),MATCH(G5,Table1(Model),0),2)
Con Table1 y Table2 como se indica en la captura de pantalla.
Explicación
En esencia, esta es una función normal de INDICE y COINCIDIR:
=INDEX(array,MATCH(value,range,0))
Donde la función COINCIDIR se usa para encontrar la fila correcta para regresar de la matriz, y la función INDICE devuelve el valor en esa matriz.
Sin embargo, en este caso queremos hacer que la matriz sea variable, de modo que el rango dado a INDEX pueda cambiarse sobre la marcha. Hacemos esto con la función ELEGIR:
CHOOSE(H5,Table1,Table2)
La función ELEGIR devuelve un valor de una lista utilizando una posición o índice determinados. El valor puede ser una constante, una referencia de celda, una matriz o un rango. En el ejemplo, el índice numérico se proporciona en la columna H. Cuando el número de índice es 1, usamos Tabla1. Cuando el índice es 2, alimentamos Table2 a INDEX:
CHOOSE(1,Table1,Table2) // returns Table1 CHOOSE(2,Table1,Table2) // returns Table2
Nota: los rangos proporcionados para ELEGIR no necesitan ser tablas o rangos con nombre.
En I5, el número en la columna H es 1, por lo que ELEGIR devuelve Tabla1, y la fórmula se resuelve como:
=INDEX(Table1,MATCH("A",Table1(Model),0),2)
La función COINCIDIR devuelve la posición de "A" en Tabla1, que es 1, e INDICE devuelve el valor en la fila 1, columna 2 de Tabla1, que es $ 20,00
=INDEX(Table1,1,2) // returns $20.00