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.

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.

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; “”)

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.
para los que buscan cómo hacer que las listas funcionen en las filas continuas, es mucho mas sencillo de lo que pensaba, simplemente hay que copiar la celda donde crearon la primera lista validada, y en las siguientes deben hacer pegado especial y de las opciones que da, elegir la que dice “todo utilizando el tema de origen” y dar aceptar y listo
no lo he probado, pero se me ocurre que si quieren que todas las demas filas hacia abajo tomen la misma formula, es cosa de convertir esas filas en formato de tabla y se irá replicando la formula. Ya lo probaré y veré que tal resulta.
¿Lograron solventar como ejecutar la búsqueda en el resto de las filas de una tabla? Es decir, que el buscador esté en una misma columna de una tabla y pueda ejecutar la búsqueda en las diferentes filas de la misma.
Por favor me gustaría saber si esta misma formula la puedo aplicar en google sheets. Al momento de importar mi archivo a Google Sheets se desconfigura la formula y no se como arreglarla.
A mi también me gustaría saber como poder poner el buscador en las filas posteriores.
👍 Muy bueno…!!! muy bien explicado y suuuuper útil. Muchas gracias.!!!!!
Hola!! excelente tutorial. pero cómo puedo lograr lo mismo si mi excel no tiene la función filtrar? Gracias
Fantástico tutorial!!!! Muy bien explicado!!! el problema que tengo es como poder aplicar esa búsqueda en todas las celdas que estan de bajo de ella….¿es posible hacerlo?
A mi también me gustaría saber eso!!
Y a míÍ.!!!.😁