Como buscar resultados con múltiples palabras parciales, de una tabla de datos en Excel?

Lo que busco es una forma de encontrar varios resultados de una tabla de datos utilizando alguna formula que funcione con palabras parciales(que no sea necesario escribir las palabras de la descripción completas)

Ejemplo para referencia de un programa de inventarios ("aux" en vez de "auxiliar", "ional" en vez de "nacional") arroja todos los datos que contienen las palabras de búsqueda parciales:

Respuesta
1

H o l a y bienvenida a TodoExpertos!

Puedes comentar en dónde exactamente tienes los datos (hoja, fila, columna).

En dónde vas a capturar los datos parciales (hoja, celda)

En dónde quieres los resultados (hoja, fila inicial, columnas)

¿Quieres el resultado con fórmulas o puede ser con una macro?

Hola Dante Amor

Tengo los datos en "Hoja1"  en la columna "A" tengo códigos y en la "B" las descripciones, son alrededor de 23,000 registros

Para capturar los datos en la "Hoja2" celda "B2"

Los resultados en la "Hoja2" desde "B3" hacia abajo 

Principalmente busco que sea alguna formula para poder utilizarlo en el celular, pero igual me gustaría una macro que haga la búsqueda 

Bien al mencionar que tienes 23,000 registros. Para hacerlo con fórmulas, tendrías 23,000 fórmulas matriciales en la hoja2, y eso haría lenta tu hoja.

Te pongo la siguiente macro.

Si escribes "far azul" funciona para los ejemplos que pusiste, pero si escribes "azul far" no encontrará ningún registro, es decir, las palabras parciales, deberán tener la misma secuencia como aparecen en la descripción.

Otro detalle a considerar en la celda B1 de la hoja2, deberás poner le mismo título que tienes en la celda B1 de la hoja1, como se muestra en la siguiente imagen:

La macro:

Sub Resultados()
  Dim des As String
  With Sheets("Hoja2")
    des = .Range("B2").Value
    .Range("B2").Value = "*" & Replace(des, " ", "*") & "*"
    Sheets("Hoja1").Range("A1:B" & Sheets("Hoja1").Range("B" & Rows.Count).End(3).Row).AdvancedFilter _
      2, .Range("B1:B2"), .Range("B3:C3")
    .Range("B2").Value = des
  End With
End Sub

Gracias!!

Aunque el que deba tener la misma secuencia limita la búsqueda, funciona bien, solo tuve que modificar el rango donde se mostraran los resultados a "B4:C4" porque me arrojaba error.

El que deba tener la misma secuencia limita la búsqueda

No mencionaste en tu pregunta original cómo quieres las búsquedas, solamente pusiste un ejemplo.

Pero me alegra saber que funciona para ti. ¡Gracias! Por comentar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas