Excel formula: Extract last two words from cell

Fórmula genérica

=EXTRAE(A1,ENCONTRAR("@",SUSTITUIR(A1," ","@",LARGO(A1)-LARGO(SUSTITUIR(A1," ",""))-1))+1,100)

Explicación

Para extraer las dos últimas palabras de una celda, puede usar una fórmula creada con varias funciones de Excel, incluidas EXTRAE, ENCONTRAR, SUSTITUIR y LARGO. En el ejemplo que se muestra, la fórmula en C5 es:
=EXTRAE(B5,ENCONTRAR("@",SUSTITUIR(B5," ","@",LARGO(B5)-LARGO(SUSTITUIR(B5," ",""))-1))+1,100)

Cómo funciona esta fórmula

En esencia, esta fórmula usa la función EXTRAE para extraer caracteres que comienzan en el penúltimo espacio. La función EXTRAE toma 3 argumentos: el texto para trabajar, la posición inicial y el número de caracteres para extraer.
El texto proviene de la columna B, y el número de caracteres puede ser cualquier número grande que garantice la extracción de las dos últimas palabras. El desafío es determinar la posición inicial, que es justo después del penúltimo espacio. El trabajo inteligente se realiza principalmente con la función SUSTITUIR, que tiene un argumento opcional llamado número de instancia. Esta característica se usa para reemplazar el penúltimo espacio en el texto con el carácter "@", que luego se encuentra con la función ENCONTRAR.
Trabajando de adentro hacia afuera, el fragmento a continuación calcula cuántos espacios hay en el total del texto, de los cuales 1 se resta.
LARGO(B5)-LARGO(SUSTITUIR(B5," ",""))-1
En el ejemplo que se muestra, hay 5 espacios en el texto, por lo que el código anterior devuelve 4. Este número se introduce en la función SUSTITUIR externa como número de instancia:
SUSTITUIR(B5," ","@",4)
Esto hace que SUSTITUIR reemplace el cuarto carácter de espacio con "@". La elección de @ es arbitraria. Puede usar cualquier carácter que no aparezca en el texto original.
A continuación, ENCONTRAR localiza el carácter "@" en el texto:
ENCONTRAR("@","A stitch in time@saves nine")
El resultado de ENCONTRAR es 17, al que se agrega 1 para obtener 18. Esta es la posición inicial, y entra en la función EXTRAE como segundo argumento. Para simplificar, el número de caracteres a extraer está codificado como 100. Este número es arbitrario y se puede ajustar para adaptarse a la situación.

Extrae las últimas N palabras de la celda

Esta fórmula se puede generalizar para extraer las últimas N palabras de una celda reemplazando el 1 codificado en el ejemplo con (N-1). Además, si extrae muchas palabras, es posible que desee reemplazar el argumento codificado en EXTRAE, 100, con un número mayor. Para garantizarle que el número es lo suficientemente grande, simplemente puede usar la función LARGO de la siguiente manera:
=EXTRAE(B5,ENCONTRAR("@",SUSTITUIR(B5," ","@",LARGO(B5)-LARGO(SUSTITUIR(B5," ",""))-(N-1)))+1,LARGO(B5))

Comentarios en Facebook


0 comentarios:

Copyright © 2021 TRUJILLOSOFT