Aprende a crear un buscador en lista desplegable de Excel sin utilizar macros. Si utilizas listas desplegables con muchos elementos, insertar un buscador dentro de la lista te ayudará a encontrar rápidamente el elemento que estás buscando.

¿Qué necesitas?

Para insertar el buscador en una lista desplegable necesitas tener una tabla con la lista que quieres mostrar en el desplegable y un campo para el desplegable. En el ejemplo vamos a crear una lista desplegable con buscador de productos y mostraremos automáticamente el precio del producto seleccionado.

Antes de comenzar a armar la función para el buscador debes convertir tu lista en una tabla oficial de Excel, de esta forma, cuando añadas nuevos datos a la lista también se incorporarán a la lista desplegable. Coloca el ratón en cualquiera de las celdas y presiona CTRL + T. Puedes cambiar el nombre de la tabla y personalizarlo, en el ejemplo llamamos a nuestra tabla Productos.

Fórmula para armar el buscador

Junto a la tabla de productos vamos a armar una función que nos arroje los datos según el texto escrito en la celda G5.

Vamos a comenzar utilizando la función HALLAR, sirve para devolver la posición dentro de una cadena de texto donde encuentra un carácter especificado.

Escribe =HALLAR donde:

  • Texto buscado será el texto que aparece en la celda, en el ejemplo G5.
  • Dentro de texto corresponde a todos los textos de la tabla, en el ejemplo la columna Productos de nuestra tabla.
  • Num_inicial es un argumento opcional que dejamos en blanco.
buscador en lista desplegable

Lo que hace la función es buscar el texto escrito en la celda G5 en cada uno de los textos que hemos seleccionado de la tabla y muestra el valor numérico de la posición donde se encuentra ese texto, si no encuentra el texto muestra el error #¡VALOR!.

Transformar valores numéricos en verdaderos y falsos

Para transformar esos valores numéricos en verdaderos y falsos utilizaremos la función ESNUMERO que comprueba si el valor de la celda es un número, devolviendo verdadero si es un número y falso si no lo es.

Quedando la función de la siguiente forma:

=ESNUMERO(HALLAR(G5;Productos[Productos]))

Función FILTRAR dentro de la fórmula

La función FILTRAR es la que nos va a permitir filtrar en función de los verdaderos y falsos que hemos tenido los nombres del listado y mostrar solo los que contienen el texto escrito.

Donde los argumentos de la función filtrar serán:

  • Array serán todos los nombres del listado, en el ejemplo la columna Productos.
  • Include es el criterio que ya lo tenemos definido con las funciones ESNUMERO y HALLAR.
  • If_empty es el valor que queremos mostrar en caso de que no encuentre ninguna coincidencia, escribiremos el texto “No encontrado” entre comillas.

Quedando la función de la siguiente forma:

=FILTRAR(Productos[Productos];ESNUMERO(HALLAR(A6;Productos[Productos])); “No encontrado”)

Cambiar referencia del texto buscado

Una vez que tienes armada la fórmula solo tienes que cambiar la referencia del texto buscado y sustituirlo por la celda donde vas a insertar la lista desplegable.

Dentro de la función cambia la referencia del argumento texto_buscado dentro de la función HALLAR.

Ordenar los elementos buscados

Si además quieres mostrar los elementos buscados en orden alfabético solo tienes que incluir la función ORDENAR justo antes de la función FILTRAR quedando de la siguiente forma:

=ORDENAR(FILTRAR(Productos[Productos];ESNUMERO(HALLAR(A6;Productos[Productos]));»no encontrado»))

Insertar la lista desplegable

Selecciona la celda y ve a Datos – Validación de datos. Selecciona la opción Lista y el origen será la primera celda de la lista de Productos encontrados.

Para que, automáticamente, la lista desplegable tome todos los valores del área de derrame, escribe el símbolo # justo después de la referencia de la celda.

buscador en lista desplegable

Para evitar que Excel muestre un error cuando cambiemos el texto de búsqueda, en la ventana de validación de datos selecciona la pestaña Mensaje de error y deshabilita la opción: Mostrar mensaje de error si se introducen datos no válidos.

Obtener datos a partir del elemento seleccionado

Si quieres obtener otros datos a partir del elemento seleccionado como en el ejemplo, solo tienes que utilizar la función FILTRAR.

Utilizamos la función siguiente para decirle a Excel que nos muestre el precio del producto cuyo nombre coincida con el que aparece en la celda A6, que es donde hemos insertado la lista desplegable y en caso de no encontrar coincidencia que no muestre nada.

=FILTRAR(Productos[Precio];Productos[Productos]=A6; “”)

buscador en lista desplegable

En el vídeo puedes ver paso a paso como realizar todo el proceso. Recuerda que necesitas Office 365 para poder utilizar algunas de las funciones que se emplean en este tutorial.