Cómo extraer la última palabra de un texto en Excel

Por el equipo editorial de LogicExcelActualizado en junio de 20268 min de lectura1,422 palabras

Cómo extraer la última palabra de un texto en Excel

Si trabajas con Excel el tiempo suficiente, tarde o temprano te encontrarás con textos de longitudes distintas y querrás saber cómo extraer solo la última palabra, mida lo que mida el texto. Excel no tiene una función específica para eso, pero podemos combinar varias funciones en una fórmula que devuelva únicamente la última palabra. Vamos a construirla paso a paso, aunque, si tienes prisa, puedes saltar al final y copiar la fórmula completa.

Este artículo trata de extraer la última palabra; también tenemos otro sobre cómo extraer la primera palabra de un texto, que necesita un enfoque distinto.

> Los nombres de ejemplo se mantienen en inglés a propósito: la fórmula depende de cuántos caracteres tiene cada palabra y de dónde caen los espacios, y traducirlos cambiaría todos los números.

Para empezar

Imagina que tienes esta hoja con nombres de expresidentes y que quieres extraer solo el apellido de cada uno con una única fórmula de Excel.

Podemos desglosar la fórmula en varios pasos: primero identificamos las funciones que necesitamos y después las combinamos en una sola.

La función DERECHA

Empezamos por la función DERECHA. La función DERECHA de Excel devuelve un número determinado de caracteres del final de una cadena de texto. La necesitamos porque la última palabra de un texto es, precisamente, lo que está más a la derecha.

=DERECHA(texto; [núm_de_caracteres])

  • texto (obligatorio): el texto del que queremos extraer los caracteres de la derecha. Podemos escribirlo directamente entre paréntesis (y entre comillas) o poner una referencia a una celda que lo contenga. Este argumento es obligatorio.
  • núm\_de\_caracteres (obligatorio aquí): en realidad es opcional, aunque nosotros vamos a usarlo, e indica cuántos caracteres devolver desde el final del texto. Si pones 5, la fórmula devolverá los cinco últimos caracteres. Sin este argumento, la función devuelve solo el último carácter.
Para probarlo, haz doble clic en la celda D2 y escribe esta fórmula: =DERECHA(A2; 5)

La fórmula debería devolver "Trump".

Donald Trump .......54321

O sea, que la fórmula extrae la última palabra, pero solo si esa palabra tiene cinco caracteres. No funcionará con Clinton ni con ninguno de los dos Bush: devolvería "inton" para Clinton y " Bush" (con el espacio delante) para George W. Bush y George H. W. Bush. ¿Cómo averiguamos qué poner en núm_de_caracteres para que Excel extraiga solo la última palabra?

Ahí es donde entra la función ENCONTRAR.

La función ENCONTRAR

La función ENCONTRAR de Excel devuelve la posición del carácter o el texto que buscas dentro de una cadena más larga. Para extraer la última palabra necesitamos saber dónde están los espacios, porque son los espacios los que separan las palabras.

La función ENCONTRAR se usa así:

=ENCONTRAR(texto_buscado; texto)

  • texto\_buscado (obligatorio): el carácter o la cadena más corta (la subcadena) que estás buscando. En nuestro ejemplo, un espacio.
  • texto (obligatorio): la cadena más larga dentro de la cual buscamos ese texto_buscado.
Así que, para encontrar el espacio de "Bill Clinton", haz doble clic en la celda D5 de la hoja de ejemplo y escribe: =ENCONTRAR(" "; A5)

Excel devolverá 5, porque el espacio es el quinto carácter de "Bill Clinton".

Bill Clinton 12345

Ahora necesitamos saber cuántos caracteres tiene que devolver la función DERECHA, es decir: ¿cuánto mide la última palabra que queremos extraer?

Para eso nos hace falta también la función LARGO.

La función LARGO

La función LARGO de Excel devuelve la longitud de una cadena de texto en número de caracteres. Se usa así:

=LARGO(texto)

  • texto (obligatorio): el texto cuya longitud quieres. Así, la longitud de la última palabra es la longitud del texto entero menos la posición del espacio.
Para averiguar cuánto mide "Obama" dentro de "Barack Obama", usarías esta fórmula: =LARGO(A3)-ENCONTRAR(" "; A3)

"Barack Obama" mide 12 y el espacio está en la posición 7, así que el resultado es 12-7, es decir, 5, que es la longitud de la última palabra, "Obama".

Combinar las funciones para extraer la última palabra

Ya sabemos usar DERECHA para extraer los caracteres del final de un texto y podemos combinar LARGO y ENCONTRAR para averiguar cuánto mide la última palabra. Podemos juntarlas para extraer la última palabra de "Bill Clinton" con la fórmula de abajo. Haz doble clic en la celda D5 de la hoja de ejemplo y escribe:

=DERECHA(A5; LARGO(A5)-ENCONTRAR(" "; A5))

Esta fórmula devuelve "Clinton" correctamente y se puede copiar a otras celdas. Pero quizá te hayas fijado en que también devuelve "W. Bush" y "H. W. Bush", porque ENCONTRAR localiza el primer espacio y devuelve todo lo que hay a su derecha. Dicho de otro modo, la fórmula funciona cuando el texto tiene un solo espacio.

Si queremos extraer la última palabra de textos de longitud variable, tenemos que devolver todo lo que hay a la derecha del último espacio, no del primero.

La función SUSTITUIR

Para localizar el último espacio necesitamos otra función más. La función SUSTITUIR de Excel hace justo lo que su nombre indica: cambia un texto por otro. Se usa así:

=SUSTITUIR(texto; texto_original; texto_nuevo; [núm_de_ocurrencia])

  • texto (obligatorio): el texto dentro del cual buscaremos el texto_original que hay que reemplazar.
  • texto\_original (obligatorio): el texto que queremos reemplazar.
  • texto\_nuevo (obligatorio): el texto por el que queremos reemplazarlo.
  • núm\_de\_ocurrencia (opcional): indica qué aparición de texto_original queremos reemplazar cuando aparece más de una vez.
Para saber cuántos espacios hay en total, podemos restar a la longitud del texto la longitud de ese mismo texto sin espacios. ¿Cómo? Con esta fórmula: =LARGO(A2)-LARGO(SUSTITUIR(A2;" ";""))

Esta fórmula dice: (longitud del texto de A2) menos (longitud del texto de A2 si sustituyéramos los espacios por nada).

Una vez que sabemos cuántos espacios hay, queremos reemplazar el último por algo que podamos localizar después:

=SUSTITUIR(A1;" ";"REEMPLAZAME";LARGO(A2)-LARGO(SUSTITUIR(A2;" ";"")))

Esta fórmula reemplaza el último espacio por el texto "REEMPLAZAME" (por supuesto, si por lo que sea tu texto contiene esa palabra, elige otra cosa).

=ENCONTRAR("REEMPLAZAME"; SUSTITUIR(A2;" ";"REEMPLAZAME";LARGO(A2)-LARGO(SUSTITUIR(A2;" ";""))))

Prueba a copiar esta fórmula en la hoja de arriba: devolverá la posición del último espacio de cualquier texto de la celda a la que apunte. ¡Ya casi estamos!

Ahora solo falta devolver los caracteres que van desde el último espacio hasta el final del texto.

Juntarlo todo para extraer la última palabra en Excel

Ya conocemos la función DERECHA y sabemos obtener la posición del último espacio, así que solo necesitamos los caracteres finales de longitud (longitud total) menos (posición del último espacio).

=DERECHA(A2; (LARGO(A2) - ENCONTRAR("REEMPLAZAME"; SUSTITUIR(A2;" ";"REEMPLAZAME";LARGO(A2)-LARGO(SUSTITUIR(A2;" ";""))))))

Espero que sigas por aquí. Puedes copiar esta fórmula y pegarla con un doble clic en la hoja de arriba: devolverá la última palabra de cualquier texto.

Error \#¡VALOR! si el texto no tiene ningún espacio

Solo queda un problema: si apuntas a una celda cuyo texto no tiene ningún espacio, obtendrás un error, porque la función ENCONTRAR está buscando precisamente un espacio. Queda un último paso para arreglarlo.

La función SI.ERROR de Excel nos permite escribir una fórmula y devolver otro valor si esa fórmula acaba en error. Se usa así:

=SI.ERROR(intenta_esto; haz_esto_si_hay_error)

El argumento intenta_esto es la fórmula que quieres probar, y haz_esto_si_hay_error es lo que devuelve la función si la primera falla.

Si nuestra fórmula da error porque el texto no tiene espacios, eso significa que solo hay una palabra, y esa palabra es también la última. Así que queremos probar la fórmula sobre el texto de la celda y devolver simplemente ese texto si no contiene ningún espacio.

Combinarlo todo para extraer la última palabra

Ya sabemos tratar textos de longitud variable y manejar los errores. Vamos a meter la fórmula dentro de un SI.ERROR para que funcione con cualquier texto.

Esta es la fórmula a prueba de errores para extraer la última palabra de un texto en Excel, donde A2 es la celda que contiene el texto:

=SI.ERROR(DERECHA(A2; (LARGO(A2) - ENCONTRAR("REEMPLAZAME"; SUSTITUIR(A2;" ";"REEMPLAZAME";LARGO(A2)-LARGO(SUSTITUIR(A2;" ";"")))))); A2)

Le dice a Excel que devuelva los caracteres finales de cualquier texto, desde el último espacio hasta el final. Es una fórmula larga y pesada, y la mejor forma de entenderla es trastear con ella en una hoja de verdad y mancharse las manos con unos cuantos ejercicios.

Para practicar más con Excel, echa un vistazo a Logic Excel.

¡Sigue con los ejercicios de práctica de la función IZQUIERDA! →

Imágenes referenciadas

  • https://excelexercises.com/logo2.png
  • https://excelexercises.com/excel-functions/excelImages/logoGreenWhite.png

Enlaces internos a otros artículos

Sigue adelante

Te indica qué leer a continuación.