Crear función para extraer palabra o numero de celda en excel

He tratado de buscar la formar de hacer los siguiente:

En una celda tengo: A1: todos los días hay 47 gatos rápidos

En otra columna tengo el rango: C1:C3 con los lo siguientes datos: gato, días, 47

En la celda B1 quiero extraer la primera palabra o numero que llegue a hallar del rango anterior "C1:C3", el resultado seria extraer : días, ya que es la primera coincidencia que encontró

Para realizar esto tendría que ser una función creada por una macro, y que recorra el rango C1:C3 y lo evalúe con la celda A1 y encuentre la primera conencidencia y la extraiga, más o menos así

=extraerconencidencia(TEXTO "celda donde esta la frase o oracion" ; COMPARARTEXTO "rango donde esta el listado de palabras a extraer" )

2 Respuestas

Respuesta
2

H o l a:

Te anexo la función

Function extraerconencidencia(texto As Range, comparartexto As Range)
'Por.Dante Amor
    wmin = Len(texto.Value) + 1
    wtext = ""
    For Each c In comparartexto
        x = InStr(1, texto.Value, c.Value)
        If x < wmin And x > 0 Then
            wmin = x
            wtext = c.Value
        End If
    Next
    If wtext <> "" Then
        extraerconencidencia = wtext
    Else
        extraerconencidencia = "no hay coincidencias"
    End If
End Function

' : )
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
' : )
Respuesta
1

Si he entendido el problema, no parece necesario recurrir a VBA. Prueba con:

=INDICE(C:C;COINCIDIR(VERDADERO;ESNUMERO(HALLAR(C1:C3&" ";A1&" "));0))

teniendo en cuenta que:

1) Se trata de una fórmula matricial, por lo que ha de ser introducida pulsando mayúsculas control entrada al mismo tiempo.

2) Quizás haya que sustituir los puntos y comas por el separador de listas que esté establecido en la configuración regional del equipo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas