Extraer texto tras la última aparición de un carácter específico
Si tiene una lista de cadenas de texto complejas que contienen varios delimitadores (como en la siguiente captura de pantalla, donde aparecen guiones, comas y espacios dentro de los datos de una celda) y desea encontrar la posición de la última aparición del guion para extraer la subcadena que sigue a dicho guion, en este artículo presento algunas fórmulas para realizar esta tarea.

- Fórmula 1: Extraer la subcadena situada después de la última aparición de un delimitador específico
- Fórmula 2: Extraer la subcadena situada después de la última aparición de un delimitador específico
Fórmula 1: Extraer la subcadena situada después de la última aparición de un delimitador específico
En Excel, la función DERECHA, combinada con las funciones LARGO, HALLAR y SUSTITUIR, le permite crear una fórmula eficaz para resolver esta tarea.
1. Para extraer la subcadena situada después de la última aparición del guion, introduce o copia la siguiente fórmula en una celda vacía:
2. A continuación, arrastre el controlador de relleno hacia abajo hasta las celdas a las que quiera aplicar esta fórmula y obtendrá el resultado que se muestra en la siguiente captura de pantalla:

Explicación de la fórmula:
1. LARGO(A2)-LARGO(SUSTITUIR(A2,"-",«»)): Esta fórmula se utiliza para obtener el número de guiones en la celda A2.
- LARGO(A2): Esta función LARGO devuelve el número total de caracteres contenidos en la celda A2. El resultado será: 44.
- SUSTITUIR(A2,"-",«»): Esta función SUSTITUIR elimina todos los guiones, reemplazándolos por nada. Obtendrá el siguiente resultado: “InsertDeleterows, sheets, images, formulas”.
- LARGO(SUSTITUIR(A2,"-",«»): Obtiene la longitud total de la cadena de texto en la celda A2 eliminando los guiones.
- LARGO(A2)-LARGO(SUSTITUIR(A2,"-",«»)): Resta la longitud de la cadena sin guiones de la longitud total. Al filtrar por longitud de cadena, obtendrás el número de guiones, lo que dará como resultado 2.
2. SUSTITUIR(A2,"-",«#»,LARGO(A2)-LARGO(SUSTITUIR(A2,"-",«»))): Esta función SUSTITUIR reemplaza la última aparición del guion —calculada por la primera parte de la fórmula— por el carácter #, obteniendo el siguiente resultado: “Insert-Delete#rows, sheets, images, formulas”.

3. HALLAR(«#»,SUSTITUIR(A2,"-",«#»,LARGO(A2)-LARGO(SUSTITUIR(A2,"-",«»))))=HALLAR(«#», «Insert-Delete#rows, sheets, images, formulas»): Esta función HALLAR devuelve la posición del carácter «#» en la cadena de texto generada por la función SUSTITUIR. El resultado será el número 14.
4. LARGO(A2)-HALLAR(«#»,SUSTITUIR(A2,"-",«#»,LARGO(A2)-LARGO(SUSTITUIR(A2,"-",«»)))): Esta parte de la fórmula calcula cuántos caracteres hay después del último guion y obtendrá el número 30.
5. DERECHA(A2,LARGO(A2)-HALLAR(«#»,SUSTITUIR(A2,"-",«#»,LARGO(A2)-LARGO(SUSTITUIR(A2,"-",«»))))) = DERECHA(A2, 30): Por último, la función DERECHA extrae los 30 caracteres calculados en el paso 4 desde el extremo derecho de la cadena de texto ubicada en la celda A2.
Notas:
1. Si necesita extraer el texto tras la última aparición de otro delimitador, basta con reemplazar el guion por el delimitador deseado.
2. Si la cadena de texto no contiene el delimitador especificado, la fórmula anterior devolverá un valor de error, como se muestra en la siguiente captura de pantalla:

Para corregir este error, incluya la fórmula anterior dentro de la función SI.ERROR. Utilice la siguiente fórmula:

Fórmula 2: Extraer la subcadena situada después de la última aparición de un delimitador específico
A continuación se muestra otra fórmula sencilla, creada con las funciones ESPACIOS, DERECHA, SUSTITUIR, REPETIR y LARGO, que también le permite resolver esta tarea en Excel.
1. Copie o introduzca la siguiente fórmula en una celda vacía donde quiera obtener el resultado:
2. A continuación, arrastre el controlador de relleno hacia abajo hasta las celdas a las que desee aplicar esta fórmula; así, todas las subcadenas situadas tras los últimos guiones se extraerán automáticamente, tal como se muestra en la siguiente captura de pantalla:

Explicación de la fórmula:
1. LARGO(A2): La función LARGO devuelve el número total de caracteres contenidos en la celda A2. Este valor se utilizará como argumento núm_de_caracteres en la función DERECHA y devolverá: 44.
2. SUSTITUIR(A2,"-",REPETIR(« »,LARGO(A2))):
- REPETIR(« »,LARGO(A2)): Esta función REPETIR genera una secuencia de espacios cuya cantidad coincide con la longitud del contenido de la celda A2.
- SUSTITUIR(A2,"-",REPETIR(« »,LARGO(A2))): Esta fórmula utiliza la función SUSTITUIR para reemplazar los guiones en la celda A2 por una cadena de espacios generada con la función REPETIR.
Esta parte de la fórmula se utilizará como argumento de texto en la función DERECHA.
3. DERECHA(SUSTITUIR(A2,"-",REPETIR(« »,LARGO(A2))),LARGO(A2)): Esta función DERECHA extrae el texto desde el extremo derecho de la cadena generada por la función SUSTITUIR.
4. ESPACIOS(): La función ESPACIOS elimina todos los espacios sobrantes y deja solo un espacio entre palabras.
Funciones relacionadas utilizadas:
- RIGHT:
- La función DERECHA extrae un número determinado de caracteres desde el extremo derecho de una cadena de texto.
- SEARCH:
- La función HALLAR le permite localizar la posición de un carácter o subcadena específica dentro del texto proporcionado.
- LEN:
- La función LARGO devuelve el número de caracteres de una cadena de texto.
- SUBSTITUTE:
- La función SUSTITUIR de Microsoft Excel permite reemplazar texto o caracteres dentro de una cadena por otros textos o caracteres.
- TRIM:
- La función ESPACIOS elimina todos los espacios sobrantes del texto y deja únicamente un espacio sencillo entre palabras.
- REPT:
- La función REPETIR permite repetir un carácter o cadena de caracteres el número de veces que especifiques.
Más artículos:
- Extraer varias líneas de una celda
- Si tiene una lista de cadenas de texto separadas por saltos de línea (generados al pulsar Alt + Entrar al introducir el texto) y desea extraer cada línea en celdas independientes, como se muestra en la siguiente captura de pantalla, ¿cómo lo haría mediante una fórmula en Excel?
- Extraer la enésima palabra de una cadena de texto en Excel
- Si dispone de una lista de cadenas de texto o frases y desea extraer la enésima palabra de cada una, como se muestra en la siguiente captura de pantalla, a continuación le presentamos algunos métodos para lograrlo en Excel.
- Extraer texto entre paréntesis de una cadena de texto
- Si parte del texto está rodeada por paréntesis dentro de la cadena de texto y necesita extraer todas las cadenas comprendidas entre dichos paréntesis, tal como se muestra en la siguiente captura de pantalla, ¿cómo podría realizar esta tarea en Excel de forma rápida y sencilla?
- Extraer una subcadena de una cadena de texto en Excel
- Es posible que le resulte habitual tener que extraer subcadenas de cadenas de texto. Aunque Excel no incluye una función específica para ello, con las funciones IZQUIERDA, DERECHA, EXTRAE y HALLAR podrá obtener cualquier tipo de subcadena según sus necesidades.
Las mejores herramientas de productividad para Office
Kutools para Excel - Le ayuda a destacar entre la multitud
Kutools para Excel Cuenta con más de 300 funciones,asegurando que lo que necesita esté siempre a un clic...
Office Tab - Habilita la lectura y edición con pestañas en Microsoft Office (incluido Excel)
- ¡Alterne entre decenas de documentos abiertos en un segundo!
- Reduzca cientos de clics del ratón cada día y despídase del síndrome del ratón.
- Aumente su productividad en un 50 % al ver y editar varios documentos simultáneamente.
- Lleva una navegación eficiente con pestañas a Office (incluido Excel), al estilo de Chrome, Edge y Firefox.