Buscar en Excel con dos o más criterios

Publicado el 07 septiembre 2022 por Daniel Rodríguez @analyticslane

Posiblemente una de las primeras opciones que se nos viene a la cabeza cuando necesitamos localizar los valores asociados a un registro en Excel es la función BUSCARV() ( VLOOKUP() en Inglés). Mediante la cual se puede buscar en base a un criterio. Algo que puede no ser suficiente en algunas situaciones, cuando hay que usar dos o más criterios para identificar un registro. Por ejemplo, cuando es necesario encontrar un cliente en una lista en base a la combinación del nombre y apellido. Siendo en este caso necesario buscar en Excel con dos o más criterios.

Emplear dos o más criterios en BUSCARV()

Supongamos que tenemos una tabla de clientes en Excel como la que se muestra en la siguiente captura de pantalla.

Buscar en Excel un cliente en base la combinación del nombre y apellido

Donde los nombres se han generado de forma aleatoria con la aplicación Behind the Name y el valor de la factura con Excel. Ahora sí queremos buscar en base al nombre y apellido, tal como se muestra en la captura, no se puede usar directamente la función BUSCARV(). En la tabla hay dos usuarios con nombre Paulo y dos con apellido Xoel. Lo que nos obliga a combinar ambas opciones.

Una solución para este problema es crear una columna auxiliar con la concatenación del nombre y el apellido y buscar en base a esta. Lo que se puede hacer insertando una columna antes de la C en la que se escribe la expresión =A2&B2. Una vez creada esta columna se puede escribir la siguiente función en la celda G5.

=BUSCARV(G2&G3;C2:D11;2)

Función que busca la concatenación de la entrada del nombre y apellido introducido en las celdas G3 y G4 en la columna auxiliar. Mostrado como resultado el valor que se encuentra en la columna D. Lo que se puede ver en la siguiente captura de pantalla.

Buscar en Excel un cliente con BUSCARV usando el nombre y apellido

Buscar en Excel con dos o más criterios mediante INDICE() y COINCIDIR()

El método visto en la sección anterior es un poco complicado. En primer lugar, requiere la creación de un campo adicional para buscar los valores. Una columna que puede ser molesta en el caso de que se necesite mostrar la hoja de cálculo. Además, dependiendo de los datos, la concatenación puede producir accidentalmente el mismo valor para dos registros. Algo que puede dar lugar a resultados no deseados.

Para obtener el mismo resultado sin la necesidad de crear al campo adicional se puede combinar las funciones INDICE() ( INDEX() en Inglés) junto a COINCIDIR() ( MATCH() en Inglés). Lo que permite tener una hoja de cálculo más limpia y sencilla. Para lo que simplemente se crea elimina la columna C creada en la sección anterior y se inserta la siguiente función en la casilla F5.

=INDICE(C2:C11;COINCIDIR(1;(A2:A11=F2)*(B2:B11=F3);0))

Lo que hace esta función es crear una lista con los casos en los que el nombre (A2:A11=F2) y los apellidos del cliente (B2:B11=F3) coinciden con el buscado. Únicamente cuando ambas condiciones sean ciertas el valor de la multiplicación será 1, devolviendo la función COINCIDIR() la posición de este. Una vez obtenida la posición de la coincidencia, simplemente la función INDICE() devuelve el valor correspondiente.

Conclusiones

En esta entrada se han visto dos posibles opciones para buscar en Excel con dos o más criterios. Una situación que puede ser bastante habitual, pero que no se resuelve de forma sencilla con algunas de las funciones nativas de Excel. Aunque sí se puede solucionar fácilmente con los trucos propuestos.

Archivo Excel con los ejemplos

A continuación, se muestra el archivo Excel con los ejemplos vistos en la publicación.

Imagen de Quang NGUYEN DANG en Pixabay