El poder de la comunidad es invaluable. Hace algunas semanas, publiqué un video en el que te enseñaba cómo hacer una búsqueda tipo Google en Excel. Este video recibió numerosos comentarios y muchas sugerencias alternativas para la fórmula que utilicé. Por eso, en este post vamos a retomar ese tema y veremos las soluciones que los seguidores de este canal nos dieron.
Búsqueda tipo Google en Excel: Revisando Soluciones que dieron los Seguidores de este Canal
Suscríbete para más tutoriales
Descarga el archivo para practicar
Escribe tu correo electrónico para recibir gratis el archivo para practicar.
*Al enviar mi correo electrónico, acepto recibir noticias y ofertas. Puedo darme de baja en cualquier momento.
Retomando el Video de Búsqueda tipo Google en Excel
Vamos a empezar revisando la solución que compartí en el video original. En la hoja uno, utilicé una fórmula que busca una palabra en cualquier celda de un rango y devuelve las filas donde se encuentra esa palabra. Por ejemplo, al buscar “Mazda”, la fórmula devuelve las filas donde “Mazda” aparece en cualquier columna del rango. Usé la función APILAR.V para apilar los resultados de varias funciones FILTRAR, asegurándome de devolver solo los valores que no son nulos.
Soluciones de la Comunidad
Ahora vamos a ver las soluciones creativas que compartieron algunos de nuestros suscriptores.
Solución de @RicardinhoL_5
Ricardín utilizó también la función FILTRAR, pero con un enfoque diferente. Concatenó las columnas de marca, modelo, color y descripción en lugar de apilar varias funciones FILTRAR. Usó las funciones ES.NÚMERO y HALLAR para buscar coincidencias en el texto concatenado. Esta solución es muy creativa y ofrece una alternativa eficiente a mi método.
=FILTRAR(Tabla2,ESNUMERO(HALLAR(A5,Tabla2[Marca]&Tabla2[Modelo]&Tabla2[Color]&Tabla2[Descripción])),"")
Solución de @Fredick.7
Fredic propuso una solución avanzada utilizando la función LET. Esta función nos permite reciclar valores como variables. Fredic asignó la tabla 3 a la variable “t”, y utilizó la función FILTRAR junto con la función MMULT para multiplicar matrices y buscar coincidencias en el rango. Aunque es una solución más avanzada, es muy interesante y efectiva. Además, Fredic compartió otra solución usando BYROW, una función de la familia LAMBDA que permite aplicar una función personalizada por fila.
=LET(t,Tabla3, FILTRAR(t, MMULT(ESNUMERO(HALLAR(A5, t))*1,ENCOL(COLUMNA(t)^0))))
y
=FILTRAR(Tabla4, BYROW(HALLAR(A5, Tabla1),LAMBDA(m, CONTAR(m))))
Solución de @JoseAntonioMorato
La solución de José Antonio Morato también es destacable. Utilizó la función LET para definir variables como “header” (encabezados) y “array” (matriz). Apiló las funciones FILTRAR dentro de la función LET y agregó los encabezados automáticamente. Esta solución es muy eficiente porque reutiliza variables en lugar de repetir código, lo que simplifica y optimiza la fórmula.
=LET(header,{"Marca","Modelo","Color","Descripción"},
array,APILARV(FILTRAR(Tabla5,ESNUMERO(HALLAR(A5,Tabla5[Marca])),0),
FILTRAR(Tabla5,ESNUMERO(HALLAR(A5,Tabla5[Modelo])),0),
FILTRAR(Tabla5,ESNUMERO(HALLAR(A5,Tabla5[Color])),0),
FILTRAR(Tabla5,ESNUMERO(HALLAR(A5,Tabla5[Descripción])),0)),
result,APILARV(header,FILTRAR(array,INDICE(array,,1)<>0)),result)
