Extraiga una palabra completa de una cadena que contenga una letra o carácter específico

Extraiga una palabra completa de una cadena que contenga una letra o carácter específico

Me gustaría extraer sólo la palabra de una celda que contiene un carácter específico ("=") dentro del texto.

A2:  Dolly made me a homemade=cake and some muffins
A3:  we had cheese=cake for dinner
A4: Everyone loves how the bakery makes some awesome=cakes

Me gustaría que lo siguiente de la columna (A2:A4) proporcione los siguientes resultados en la columna (B2:B4).

B2:  homemade=cake
B3:  cheese=cake
B4:  awesome=cakes

Probé la siguiente solución con funciones de hoja de trabajo.

A2: Johnny made his own dinner=lastnight and then cleaned the kitchen

=TRIM(TRIM(IFERROR(RIGHT(SUBSTITUTE(LEFT(A2,SEARCH(" ",A2&" ",SEARCH("=",A2))-1)," ",REPT(" ",LEN(A2))),LEN(C246)),""))),""),

Esta fórmula no funciona como puedes ver, ya que solo extrae datos a la derecha del símbolo ("=") con los siguientes resultados. Mientras que estoy buscando una solución que extraiga la palabra completa (derecha e izquierda) de donde está el símbolo ("=").

Respuesta1

Prueba lo siguienteUd.serDrefinadoFunción(UDF)

Public Function Equals(inpt As String) As String
   Equals = ""
   ary = Split(Application.WorksheetFunction.Trim(inpt), " ")
   For Each a In ary
      If InStr(1, a, "=") > 0 Then
         Equals = a
         Exit Function
      End If
   Next a
End Function

ingrese la descripción de la imagen aquí

Las funciones definidas por el usuario (UDF) son muy fáciles de instalar y utilizar:

  1. ALT-F11 abre la ventana VBE
  2. ALT-I ALT-M abre un módulo nuevo
  3. pegue las cosas y cierre la ventana de VBE

Si guarda el libro de trabajo, la UDF se guardará con él. Si está utilizando una versión de Excel posterior a 2003, debe guardar el archivo como .xlsm en lugar de .xlsx.

Para eliminar la UDF:

  1. abrir la ventana VBE como arriba
  2. borrar el código
  3. cerrar la ventana VBE

Para utilizar la UDF desde Excel:

=es igual a(A1)

Para obtener más información sobre las macros en general, consulte:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

y

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

y para obtener detalles sobre las UDF, consulte:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

¡Las macros deben estar habilitadas para que esto funcione!

EDITAR #1:

Puedes hacer esto sinVba, utilizando la misma metodología. con datos enA1, enC1ingresar:

=TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),COLUMNS($A:A)*999-998,999))

y copiar. Luego enB1ingresar:

=INDEX(C1:IV1,MATCH("*=*",C1:IV1,0))

ingrese la descripción de la imagen aquí

Respuesta2

Excel tiene una serie de funciones de texto que pueden ayudarle a extraer una palabra o un texto de otra cadena de texto. Qué función o combinación de funciones utilizar depende de su situación. Ejemplo: Supongamos que la celda A1 tiene la cadena de texto: “La creatividad requiere el coraje de dejar de lado las certezas”

1. Para obtener los primeros 5 caracteres de la cadena, usamos la función IZQUIERDA: =IZQUIERDA(A1,5) El resultado es “Crear”

2. Para obtener los últimos 11 caracteres de la cadena, usamos la función DERECHA: =DERECHA(A1,11) El resultado es “certezas”

3. Para obtener 7 caracteres de la cadena que comienza en la posición 10, usamos la función MID: =MID(A1,10,7) El resultado es “y requi”.

4.Para obtener la primera palabra de la cadena, usamos las funciones IZQUIERDA y ENCONTRAR: =IZQUIERDA(A1,(ENCONTRAR(” “,A1)-1)) El resultado es “Creatividad”.

- Ver más en:http://www.exceldigest.com/myblog/2009/02/01/how-to-extract-text-from-another-text-string/#sthash.yNDHU7Xe.dpuf

información relacionada