Saltar al contenido

Buscar palabras dentro de un texto


alvaroballes

Recommended Posts

publicado

Buenos días a todos.

Tengo una duda a cerca de la búsqueda de palabras en un texto. Valiéndome de un hilo de 2016 he conseguido sacar una parte de lo que necesito, pero otra no.

Imaginemos que tenemos una celda con el texto "La estufa está en el aparador" pues necesito que en la celda adyacente ponga estufa. Hasta ahí todo bien pero mi problema reside en saber qué formula usar si mi frase contiene más de una palabra de las que quiero extraer.

Por ejemplo: "la estufa está en el aparador" y quiero extraer estufa, aparador.

¿Alguien podría ayudarme?

Muchas gracias de antemano y adjunto el archivo con el que estoy trabajando para que sea más fácil de entender.

Duda excel.xlsx

publicado

¡Hola, @alvaroballes!

En el adjunto, dejo dos opciones: 

1. Con la función UNIRCADENAS - útil en Excel 2019 y/o Office 365 - :

=UNIRCADENAS(", ";;SI(ESNUMERO(HALLAR(Tabla1[Terminos];B12));Tabla1[Terminos];""))

2. Con la función definida por el usuario (UDF: User Defined Function) programada en VBA llamada PalabrasCoincidentes.

Function PalabrasCoincidentes$(Terminos As Range, Celda As Range, Optional Sep = ", ")
  Dim i&, C As Range
  ReDim a(1 To 1)
  
  For Each C In Terminos
    If InStr(1, Celda, C) Then
      i = 1 + i: ReDim Preserve a(1 To i)
      a(i) = C
    End If
  Next C
  
  PalabrasCoincidentes = Join(a, Sep)
  Set C = Nothing
End Function

Cuyo uso puedes dar, así:

=PalabrasCoincidentes(Tabla1[Terminos];B12)

Revisa el adjunto, con detenimiento.  ¡Bendiciones!

Duda excel.xlsb

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.