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.
BUSCARV()Supongamos que tenemos una tabla de clientes en Excel como la que se muestra en la siguiente captura de pantalla.
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.
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.
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.
A continuación, se muestra el archivo Excel con los ejemplos vistos en la publicación.
Imagen de Quang NGUYEN DANG en Pixabay
En un entrada previa explicamos qué son el WOE y el IV y por qué…
Seguimos evolucionando el laboratorio de Analytics Lane y hoy lanzamos la versión 1.1, disponible en:…
“El interés compuesto es la octava maravilla del mundo. El que lo entiende lo gana…
Tienes los datos de ventas de tres productos en dos años distintos y quieres saber…
Imagina la situación. Tu equipo lleva tres años con un modelo en producción. No es…
Cuando un banco evalúa una solicitud de crédito necesita responder a una pregunta aparentemente simple:…
This website uses cookies.