Queremos crear una fórmula que nos permita hacer una búsqueda o por nombre o por número de identidad. Esta situación refleja varias de las consultas que he recibido últimamente.
Podemos pensar en una solución usando BUSCARV, pero en esta nota veremos como hacerlo usando INDICE, COINCIDIR y validación de datos.
Empezamos por crear dos nombres, que usaremos en validación de datos:
Identidad = Hoja1!$B$2:$B$8
nombre = Hoja1!$A$2:$A$8
En otro lugar de la hoja creamos una tabla donde mostraremos los datos extraídos
En la celda A12 creamos una lista desplegable con Validación de datos
En la celda B12 también creamos una lista desplegable. Aquí usamos la función INDIRECTO para que en la lista aparezcan los valores del rango del nombre que ha sido elegido en la celda A12
En las celdas C12 y D12, donde queremos que aparezcan los datos buscados, ponemos esta fórmula, basada en INDICE y COINCIDIR:
Para el campo Edad: =INDICE(C2:C8,COINCIDIR(B12,INDIRECTO(A12),0))
Para el campo Profesión: =INDICE(D2:D8,COINCIDIR(B12,INDIRECTO(A12),0))
Hay que prestar atención al uso de la función INDIRECTO para interpretar el valor de la celda A12 como rango nominado.
Un detalle a agregar es dar formato condicional a las celdas C12 y D12, para evitar ver el valor #N/A cuando cambiamos el valor de la celda A12
Usamos la función ESERROR y el color de la fuente, en caso de ser VERDADERO, blanco. De esta manera, en caso de error, el contenido de la celda se vuelve "invisible".
El archivo del ejemplo se puede descargar aquí
Technorati Tags: MS Excel