Inicio › Funciones de Excel › TEXTOANTES y TEXTODESPUES
TEXTOANTES y TEXTODESPUES en Excel
TEXTOANTES devuelve el texto anterior a un delimitador y TEXTODESPUES el texto posterior. Sustituyen las antiguas combinaciones de IZQUIERDA/ENCONTRAR y EXTRAE/ENCONTRAR por una sola función fácil de leer. En el Excel en inglés, las funciones se llaman TEXTBEFORE y TEXTAFTER.
En esta guía
Disponibilidad: Microsoft 365, Excel 2024 y Excel para la web. En versiones antiguas, usa IZQUIERDA y EXTRAE con ENCONTRAR.
Sintaxis
=TEXTOANTES(texto; delimitador; [núm_instancia]; [modo_coincidencia]; [coincidir_final]; [si_no_se_encuentra]) =TEXTODESPUES(texto; delimitador; [núm_instancia]; [modo_coincidencia]; [coincidir_final]; [si_no_se_encuentra])| Argumento | Qué significa |
|---|---|
| texto | El texto o la celda que quieres dividir. |
| delimitador | El carácter o texto por el que divides, como " " o "@". |
| núm_instancia | Qué aparición: 1 es la primera (por defecto), 2 la segunda, -1 la última. |
| modo_coincidencia | 0 = distingue mayúsculas (por defecto), 1 = no las distingue. |
| coincidir_final | Trata el final del texto como delimitador (rara vez hace falta). |
| si_no_se_encuentra | Qué devolver si el delimitador no está. Por defecto es #N/D. |
Ejemplos
| Objetivo | Fórmula (A2 = "ana.garcia@ejemplo.com") | Resultado |
|---|---|---|
| Usuario | =TEXTOANTES(A2; "@") | ana.garcia |
| Dominio | =TEXTODESPUES(A2; "@") | ejemplo.com |
| Nombre | =TEXTOANTES(A2; ".") | ana |
| Dominio de nivel superior | =TEXTODESPUES(A2; "."; -1) | com |
Practica TEXTOANTES y TEXTODESPUES: pruébalo tú mismo
Leer es una cosa y escribirlo es otra. Construye la fórmula de abajo paso a paso: las pistas te dicen qué escribir, y puedes hacer clic en las celdas o arrastrar sobre ellas para añadirlas, igual que en Excel.
Tarea: Saca la parte del correo electrónico antes de la @, en B2: =TEXTOANTES(A2;"@")
Nombre y apellidos
Con "Ana María de la Cruz" en A2:
=TEXTOANTES(A2; " ")devuelve Ana (antes del primer espacio).=TEXTODESPUES(A2; " ")devuelve María de la Cruz (después del primer espacio).=TEXTODESPUES(A2; " "; -1)devuelve Cruz (después del último espacio).
Cuando falta el delimitador
Un nombre sin espacio devuelve #N/D. Usa el último argumento para devolver otra cosa, como la celda entera:
=TEXTOANTES(A2; " "; ; ; ; A2)Dividir en varias celdas: DIVIDIRTEXTO
Para dividir un texto en todas sus partes a la vez, usa DIVIDIRTEXTO: =DIVIDIRTEXTO("P-104-ES"; "-") desborda P, 104 y ES en tres celdas. Lee también Texto en columnas y Relleno rápido.
Preguntas frecuentes
¿Por qué TEXTOANTES devuelve #N/D?
El delimitador no está en el texto. Añade un valor para si_no_se_encuentra, o revisa si sobran o faltan espacios.
¿Cómo obtengo la última palabra de una celda?
Usa =TEXTODESPUES(A2; " "; -1).
¿Puedo usar más de un delimitador?
Sí, pásale varios a la vez, por ejemplo un rango con "-" en D1 y "/" en D2: =TEXTOANTES(A2; D1:D2) divide por el que aparezca primero.
¿Está TEXTOANTES disponible en Excel 2021?
No. Está en Microsoft 365, Excel 2024 y Excel para la web.