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


3

Me gustaría extraer solo 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

He intentado la siguiente solución con funciones de hoja de cálculo.

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 puede 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 toda la palabra (derecha e izquierda) de donde aparece el símbolo ("=").


C3: o B4: `? Tu pregunta es inconsistente.
DavidPostill

2
sed -r 's/.*\b([^ \t]+=[^ \t]+)\b.*/\1/' .. lo siento, no pude resistir.
Peter Schneider

Respuestas:


1

Intenta lo siguiente U ser re efined F unció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

enter image description here

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

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

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

Para eliminar el UDF:

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

Para usar el UDF de 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 detalles específicos sobre UDF, ver:

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

¡Las macros deben estar habilitadas para que esto funcione!

EDITAR # 1:

Puedes hacer esto sin VBA , utilizando la misma metodología. Con datos en A1 en C1 entrar:

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

y copia a través. Entonces en B1 entrar:

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

enter image description here


-1

Excel tiene varias funciones de texto que pueden ayudarlo 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 ir las certezas”

1. Para obtener los primeros 5 caracteres de la cadena, usamos la función IZQUIERDA: = IZQUIERDA (A1,5) El resultado es "Creat". 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 comienzan con 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 FINAL: = IZQUIERDA (A1, (FIND ("", 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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.