Usando la tabla de ejemplo a continuación, puedo usar la fórmula =VLOOKUP("ABC123456",Table1,3,FALSE)para buscar el Demandvalor, pero quiero poder realizar la búsqueda usando el Cust Partcampo sin tener que hacer que el Cust Partcampo sea la primera columna de la tabla. Hacer Cust Partla primera columna no es una solución aceptable, porque también necesito realizar búsquedas usando el Partcampo, y no quiero usar rangos codificados (por ejemplo $B$2:$C$4) principalmente como una cuestión de preferencia, sino también porque uso la tabla y el campo nombres hace que la fórmula sea más fácil de leer. ¿Hay alguna forma de hacer esto?

fuente

Puede combinar
INDEXyMATCHobtener el mismo resultadoVLOOKUPsin restringir la comparación a la primera columna. Aunque es un poco más complejo.Básicamente, está utilizando
MATCHpara encontrar el número de fila yINDEXpara obtener el valor.Nota: a diferencia
VLOOKUP, si el resultado es una celda en blanco,INDEXvolverá en0lugar de una cadena en blanco.fuente
VLOOKUP"? Se comporta exactamente de la misma manera con respecto a las celdas en blanco que se traducen a ceros.INDEX MATCHuso de una tabla. Esto mejora enormemente la legibilidad de la fórmula. Estaba tratando de evitarloOFFSETporque es una función volátil de Excel y puede dar lugar a un procesamiento adicional de gastos generales.¿Qué tal algo como:
Prefiero esto para que pueda ver lo que está haciendo, incluso en tablas más complejas, además, si la estructura de la tabla cambia, la fórmula seguirá funcionando, siempre y cuando la columna Parte de Cust esté frente a la columna Demanda.
fuente