=TEXTBEFORE(A2," ") devuelve todo lo que hay antes del primer espacio, así que Ana Silva da Ana, y =TEXTAFTER(A2," ") devuelve todo lo que hay después, Silva. En Excel en español son TEXTOANTES (TEXTBEFORE en inglés) y TEXTODESPUES (TEXTAFTER en inglés), y la tabla también acepta las fórmulas escritas en español, con punto y coma (o con comas, como en México): =TEXTOANTES(A2;" "). Copia las dos fórmulas hacia abajo y cada nombre completo queda separado en dos columnas.
| A | B | C | |
|---|---|---|---|
| 1 | Full name | First | Last |
| 2 | Ana Silva | Ana | Silva |
| 3 | Ben Okafor | Ben | Okafor |
| 4 | Chen Wu | Chen | Wu |
| 5 | Dara Kelly | Dara | Kelly |
| 6 | Eli Novak | Eli | Novak |
=TEXTOANTES(A2;" ")Cambia un nombre de la columna A y las dos columnas lo siguen. TEXTOANTES, TEXTODESPUES y DIVIDIRTEXTO necesitan Microsoft 365 o Excel 2024. Para Excel 2021 y anteriores, la versión con IZQUIERDA y ENCONTRAR está más abajo.
DIVIDIRTEXTO: separar una celda en columnas
=DIVIDIRTEXTO(A2;" ") (TEXTSPLIT en inglés) corta el texto en cada espacio y derrama cada pieza en su propia celda. Una sola fórmula llena tantas columnas como piezas haya:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Text | ||||
| 2 | Ana Maria Silva | Ana | Maria | Silva | |
| 3 | Paris, Lyon, Nice | Paris | Lyon | Nice |
=DIVIDIRTEXTO(A2;" ")- El delimitador puede tener más de un carácter:
", "separa en una coma seguida de un espacio, así que las piezas no empiezan con espacio. - Deja sitio para el resultado. Si una celda de la derecha no está vacía, la fórmula muestra #SPILL! (la tabla muestra los nombres de error en inglés).
- Las piezas son siempre texto, dígitos incluidos, así que SUMA las ignora. Pon dos signos menos delante,
=--DIVIDIRTEXTO(A2;","), cuando necesites números.
El tercer argumento es un delimitador de fila. Con los dos, DIVIDIRTEXTO construye una tablita a partir de una celda: las comas separan las columnas y los puntos y coma las filas.
| A | B | |
|---|---|---|
| 1 | Teams | |
| 2 | Ana,Red;Ben,Blue;Chen,Green | |
| 3 | ||
| 4 | Ana | Red |
| 5 | Ben | Blue |
| 6 | Chen | Green |
=DIVIDIRTEXTO(A2;",";";")Dos formas más que funcionan en Excel, mostradas aquí como texto:
=TEXTSPLIT(A2,,", ") one piece per row: the column delimiter is left out
=TEXTSPLIT(A2,{";",","}) several delimiters in braces: splits at ; or ,
En Excel en español, la primera es =DIVIDIRTEXTO(A2;;", "); la segunda lleva una constante matricial entre llaves y aquí está en su forma inglesa.
La primera convierte excel, formulas, text en una columna de tres celdas, que es como se pasa a filas una lista escrita en una sola celda. La segunda convierte red;green,blue en red, green, blue.
Segundos nombres y "Apellido, Nombre"
TEXTODESPUES(A2;" ") devuelve todo lo que hay después del primer espacio, así que para Ana Maria Silva devuelve Maria Silva. Para obtener la última palabra, cuenta desde el final con un número de instancia -1. Para nombres escritos como Silva, Ana, separa en la coma y el espacio:
| A | B | C | |
|---|---|---|---|
| 1 | Full name | First | Last |
| 2 | Ana Maria Silva | Ana | Silva |
| 3 | Ben Okafor | Ben | Okafor |
| 4 | Chen Li Wu | Chen | Wu |
| 5 | Cher | Cher | |
| 6 | |||
| 7 | Last, First | First | Last |
| 8 | Silva, Ana | Ana | Silva |
=TEXTODESPUES(A2;" ";-1)Cuando falta el delimitador, TEXTOANTES y TEXTODESPUES devuelven #N/A, y un nombre de una sola palabra como Cher no tiene espacio. La fila 5 usa el sexto argumento, el valor que se devuelve en su lugar: =TEXTOANTES(A5;" ";;;;A5) devuelve el nombre entero y TEXTODESPUES(...;"") devuelve una celda vacía.
| A | B | C | |
|---|---|---|---|
| 1 | User | Domain | |
| 2 | ana.silva@coddy.tech | ana.silva |
Tu turno: En C2, devuelve el dominio de la dirección de correo de A2: todo lo que va después de la @.
Separar nombres en Excel antiguo
Sin TEXTOANTES ni TEXTODESPUES, encuentra la posición del espacio con ENCONTRAR (FIND en inglés) y corta alrededor de ella con IZQUIERDA, EXTRAE y DERECHA (LEFT, MID y RIGHT en inglés):
| A | B | C | |
|---|---|---|---|
| 1 | Full name | First | Last |
| 2 | Ana Silva | Ana | Silva |
| 3 | Ben Okafor | Ben | Okafor |
| 4 | Chen Wu | Chen | Wu |
=IZQUIERDA(A2;ENCONTRAR(" ";A2)-1)ENCONTRAR(" ";A2)es la posición del espacio: 4 enAna Silva.IZQUIERDA(A2;4-1)toma los 3 caracteres anteriores.EXTRAE(A2;4+1;100)toma hasta 100 caracteres a partir de después del espacio. 100 solo significa "más que cualquier nombre";=DERECHA(A2;LARGO(A2)-ENCONTRAR(" ";A2))da el mismo resultado con una longitud exacta.
Estas fórmulas devuelven #¡VALOR! (#VALUE! en inglés) cuando no hay espacio. Envuélvelas en SI.ERROR (IFERROR en inglés), =SI.ERROR(IZQUIERDA(A2;ENCONTRAR(" ";A2)-1);A2), para devolver la celda entera.
| A | B | |
|---|---|---|
| 1 | Code | Prefix |
| 2 | KT-1043-BLUE |
Tu turno: Devuelve la parte del código de producto anterior al primer guion en B2, con IZQUIERDA y ENCONTRAR.
Texto en columnas y Relleno rápido
Para separar una columna una sola vez, sin fórmulas:
- Selecciona la columna de nombres completos. Comprueba que las columnas de su derecha estén vacías, porque Texto en columnas las sobrescribe.
- Datos > Texto en columnas.
- Elige Delimitados, haz clic en Siguiente, marca Espacio (o Coma, o escribe otro carácter en Otro) y haz clic en Siguiente.
- La primera pieza sustituye a los nombres completos. Para conservarlos, pon en Destino la celda vacía de su derecha y haz clic en Finalizar.
El Relleno rápido es más rápido para un patrón: escribe Ana junto a Ana Silva, pulsa Entrar y luego Ctrl+E o Datos > Relleno rápido, y Excel completa los nombres de las demás filas. Las dos herramientas escriben valores fijos. Si los nombres cambian más tarde, la separación no cambia; una fórmula sí.
Preguntas frecuentes
¿Cómo separo nombre y apellido en Excel?
Con un nombre como Ana Silva en A2, =TEXTOANTES(A2;" ") da Ana y =TEXTODESPUES(A2;" ";-1) da Silva, aunque haya un segundo nombre. En Excel 2021 y anteriores usa =IZQUIERDA(A2;ENCONTRAR(" ";A2)-1) para el nombre.
¿Qué versiones de Excel tienen DIVIDIRTEXTO?
DIVIDIRTEXTO, TEXTOANTES y TEXTODESPUES están en Microsoft 365, Excel para la web y Excel 2024. Excel 2021 y anteriores muestran #¿NOMBRE?; ahí usa IZQUIERDA, EXTRAE, DERECHA y ENCONTRAR, o Datos > Texto en columnas.
¿Cómo divido una celda por una coma en Excel?
=DIVIDIRTEXTO(A2;", ") derrama cada pieza en su propia columna. Para poner las piezas en filas, deja vacío el delimitador de columna: =DIVIDIRTEXTO(A2;;", ").
¿Por qué TEXTOANTES devuelve #N/A?
El delimitador no está en la celda, por ejemplo un nombre solo sin espacio. Da un valor para ese caso en el sexto argumento: =TEXTOANTES(A2;" ";;;;A2) devuelve la celda entera cuando no hay espacio.