Saltar al contenido

Búsqueda usando ÍNDICE y COINCIDIR con dos criterios

Posterior a consultar especialistas en el tema, programadores de deferentes áreas y profesores dimos con la respuesta a la cuestión y la dejamos plasmada en este post.

Solución:

Puedes usar un “array fórmula” así

=INDEX('Sheet2'!B:B,MATCH(1,(A1='Sheet2'!A:A)*(C1='Sheet2'!C:C),0))

CONTROL+CAMBIO+INGRESAR

….o puede agregar otra función ÍNDICE para que no sea necesario “array introducido”, es decir

=INDEX('Sheet2'!B:B,MATCH(1,INDEX((A1='Sheet2'!A:A)*(C1='Sheet2'!C:C),0),0))

u otra forma es usar BUSCAR así

=LOOKUP(2,1/(A1='Sheet2'!A:A)/(C1='Sheet2'!C:C),'Sheet2'!B:B)

Este último método le daría la ultimo partido si hay más de uno……

Sugiero que la solución convencional a problemas de este tipo es concatenar el par de términos de búsqueda (es decir, una columna auxiliar) y agregar los pares concatenados a la búsqueda array.

SO18767439 ejemplo

En el ejemplo anterior, la concatenación de qué buscar (en lugar de dónde buscar) se realiza “sobre la marcha”.

Aquí está la solución sin usar un array y sin usar una columna de ayuda:

=INDEX(Table[returnColumnName], 
MATCH(1, INDEX((Table[lookupColumn1] = "arraysAreSlow") * 
(Table[lookupColumn2] = "avoidWherePossible"), 0, 1), 0))

Aquí hay una solución más avanzada que realiza una búsqueda de cuadrícula:

=INDEX(Table,
MATCH(1, INDEX((Table[lookupColumn1] = "arraysAreSlow") * 
(Table[lookupColumn2] = "avoidWherePossible"), 0, 1), 0),
MATCH("returnColumnName", Table[#Headers],0))

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *