Word a Excel

Cómo dividir texto en Excel con fórmulas: guía para empezar

octubre 12, 2026 Tuto Excel 15 min read
Cómo dividir texto en Excel con fórmulas: guía para empezar

Cuando tienes una celda con «Ana García López» y necesitas el nombre en una columna y los apellidos en otra, Excel te lo resuelve de dos formas: el asistente Texto en columnas, que parte el texto de golpe, y la función DIVIDIRTEXTO (en inglés TEXTSPLIT), que parte el texto con una fórmula que sigue viva si cambian los datos. Al terminar el artículo sabrás elegir entre los dos caminos, aplicarlos sobre nombres y códigos reales y limpiar los espacios sobrantes.

Nota: en este artículo las fórmulas usan punto y coma para separar argumentos. Si tu Excel está configurado con punto decimal (México, Estados Unidos), el separador es la coma.
Nota: la información de este tutorial se ha comprobado en octubre de 2026.

Qué es dividir texto en Excel y cuándo te ahorra trabajo

Imagina una hoja de altas de personal: en la columna A tienes nombres completos recibidos de un formulario («Ana García López», «Pedro Sánchez Ruiz»…) y necesitas una columna con el nombre y otra con los apellidos para poder ordenar por apellido o cruzar con otras hojas. Esa operación, partir una celda en varias a partir de un carácter concreto (un espacio, una coma, un guion), se llama dividir texto y es de las que más tiempo ahorran cuando llegan datos «pegados» desde un PDF, una web o un programa antiguo.

Tienes dos caminos. El asistente Texto en columnas, en la pestaña Datos, parte el texto de una vez y deja los trozos ya escritos en la hoja, así que sirve para importaciones puntuales que no van a cambiar. La función DIVIDIRTEXTO hace lo mismo con una fórmula: si el nombre de A2 se corrige a «Ana García López», los trozos de B2 y C2 se actualizan solos.

Elige el asistente cuando el trabajo sea de una sola vez sobre muchas filas y no esperas que cambien. Elige la fórmula cuando la celda original pueda modificarse y quieras que las derivadas se mantengan vivas.

Texto en columnas: el asistente de la cinta

El asistente vive en la cinta, dentro de Datos, y es la herramienta clásica para partir una columna en varias sin escribir una sola fórmula.

DatosHerramientas de datosTexto en columnas

Al pulsarlo se abre el Asistente para convertir texto en columnas, un cuadro con tres pasos. En el primero eliges el tipo de división. En el segundo marcas el carácter que sirve de corte. En el tercero decides dónde se escribe el resultado y el formato de cada columna nueva.

Elegir el tipo de división: delimitados o ancho fijo

El primer paso del asistente pregunta cómo está separado el texto.

Elige Delimitados cuando el texto se parte por un carácter concreto: una coma, un punto y coma, un espacio, una tabulación o cualquier otro símbolo que escribas en el cuadro Otro. Elige Ancho fijo cuando las partes están alineadas a una posición fija (por ejemplo, los tres primeros caracteres son el país y los cuatro siguientes el número); en ese caso dibujas las líneas de corte con un clic en la regla de la vista previa.

Tipo Cuándo usarlo Ejemplo
Delimitados El texto contiene un carácter separador «Ana,García,López» con coma
Ancho fijo Las partes están alineadas por columnas «ES 001MAD » con corte en 2, 5 y 8

La vista previa de datos antes de pasar a la hoja

El segundo paso muestra una vista previa que reacciona a lo que marcas: cada delimitador elegido pinta una línea vertical en la vista previa y el texto se reparte en columnas.

Si la vista previa no se parece a lo que esperabas, cambia de carácter separador o pasa al tipo Ancho fijo antes de seguir. Cuando se parece, pulsa Siguiente para ir al tercer paso, donde indicas la celda Destino (por defecto, la misma columna que vas a machacar) y el formato de cada columna nueva (General, Texto o Fecha).

DIVIDIRTEXTO: la fórmula que divide y se queda dinámica

DIVIDIRTEXTO es la función moderna para partir texto sin tocar el ratón: vive en la celda, se actualiza si cambia el origen y puede desbordarse a varias filas y columnas a la vez.

Su sintaxis es:

=DIVIDIRTEXTO(texto; col_delimiter; [row_delimiter]; [ignore_empty]; [match_mode]; [pad_with])
  • texto: la celda o el literal entre comillas que contiene el texto a dividir.
  • col_delimiter (obligatorio): el carácter que separa las columnas, por ejemplo "," o " ".
  • row_delimiter (opcional): el carácter que separa las filas, por ejemplo ";". Si se omite, el resultado sale todo en una fila.
  • ignore_empty (opcional): VERDADERO para que los huecos entre dos delimitadores seguidos no generen celdas vacías; FALSO los mantiene.
  • match_mode (opcional): 0 distingue mayúsculas de minúsculas (por defecto); 1 no las distingue, así «y» e «Y» cuentan igual.
  • pad_with (opcional): el valor con el que se rellenan las celdas que se quedan cortas cuando las filas no son iguales; lo normal es "" para dejarlas vacías.

Disponible desde Excel 2024 y Microsoft 365. Si tu Excel es 2021 o anterior, esta función no existe y la celda mostrará #¿NOMBRE?; en su lugar usa el asistente Texto en columnas.

col_delimiter y row_delimiter: el carácter que parte el texto

El delimitador de columna parte hacia la derecha y el delimitador de fila parte hacia abajo. Si dejas el de columna vacío y rellenas solo el de fila, el resultado cae como lista en una sola columna.

=DIVIDIRTEXTO(A2;"-")
=DIVIDIRTEXTO(A2;;",";VERDADERO)
=DIVIDIRTEXTO(A2;",";";")
Fórmula Texto en A2 Resultado
=DIVIDIRTEXTO(A2;"-") «ES-MAD-001» ES, MAD, 001 en tres celdas a la derecha
=DIVIDIRTEXTO(A2;;",";VERDADERO) «rojo,verde,azul» rojo, verde, azul hacia abajo en B
=DIVIDIRTEXTO(A2;",";";") «a;b,c;d» dos filas: «a» y «b,c;d»

ignore_empty, match_mode y pad_with: vacíos, mayúsculas y errores

Los tres argumentos opcionales sirven para pulir el resultado.

  • ignore_empty=VERDADERO evita que dos delimitadores seguidos (por ejemplo dos comas) generen una celda vacía intermedia; muy útil cuando los datos vienen de exportaciones sucias.
  • match_mode=1 trata por igual las mayúsculas y las minúsculas del delimitador: «y» e «Y» cuentan como el mismo carácter.
  • pad_with="" rellena con cadena vacía las celdas que faltan cuando las filas no tienen la misma longitud, así no aparece el error #N/D.
Argumento Valor Efecto
ignore_empty FALSO (por defecto) Mantiene los huecos como celdas vacías
ignore_empty VERDADERO Borra los huecos y junta las partes
match_mode 0 (por defecto) Distingue mayúsculas y minúsculas
match_mode 1 Ignora la diferencia entre «a» y «A»
pad_with omitido Las celdas cortas muestran #N/D
pad_with "" Las celdas cortas quedan vacías

Separar nombre y apellido con Texto en columnas

Partimos de la hoja de altas: en A tienes nombres completos y quieres el nombre en A y los apellidos en B.

A2fxAna García López
A B
1 Nombre completo Apellidos
2 Ana García López
3 Pedro Sánchez Ruiz
4 Lucía Díaz Río
5 Javier Martín Soto
6 Sara Núñez Pino
Altas

Pasos para partir el texto:

  1. Selecciona A2:A6.
  2. Abre Datos > Herramientas de datos > Texto en columnas.
  3. En el paso 1, deja marcado Delimitados y pulsa Siguiente.
  4. En el paso 2, marca solo el separador Espacio y desmarca los demás. Verás que en la vista previa queda «Ana» en una columna y «García López» en otra. Pulsa Siguiente.
  5. En el paso 3, escribe B2 en el cuadro Destino para que la segunda parte se escriba a la derecha de la hoja sin tocar A. Pulsa Finalizar.
B2fxGarcía López
A B
1 Nombre completo Apellidos
2 Ana García López García López
3 Pedro Sánchez Ruiz Sánchez Ruiz
4 Lucía Díaz Río Díaz Río
5 Javier Martín Soto Martín Soto
6 Sara Núñez Pino Núñez Pino
Altas
Comprueba: la columna A sigue intacta con los nombres completos y la columna B contiene solo los dos apellidos. Si B2 muestra otra cosa, revisa que en el paso 3 el Destino sea B2 y no la celda activa original.

Dividir un código con tres partes usando DIVIDIRTEXTO

La hoja de códigos de producto guarda el país, la ciudad y el número de serie pegados con guiones. Vamos a partirlos con una fórmula para que, si cambia el código, las tres partes se actualicen solas.

A2fxES-MAD-001
A
1 Producto
2 ES-MAD-001
3 MX-CDM-014
4 AR-BUE-027
5 CL-SCL-042
6 PE-LIM-068
Códigos

En B2 escribe:

=DIVIDIRTEXTO(A2;"-")

Excel derrama el resultado a la derecha: B2 toma «ES», C2 toma «MAD» y D2 toma «001». Selecciona B2 y copia la fórmula hacia abajo hasta B6; como la fórmula apunta a A2 y no usa referencias absolutas, al arrastrar se convierte en =DIVIDIRTEXTO(A3;"-"), =DIVIDIRTEXTO(A4;"-") y así.

B2fx=DIVIDIRTEXTO(A2;"-")
A B C D
1 Producto País Ciudad Número
2 ES-MAD-001 ES MAD 001
3 MX-CDM-014 MX CDM 014
4 AR-BUE-027 AR BUE 027
5 CL-SCL-042 CL SCL 042
6 PE-LIM-068 PE LIM 068
Códigos
Comprueba: las tres celdas a la derecha de cada código muestran país, ciudad y número por separado, sin guiones. Si ves un solo valor, asegúrate de que la celda de la derecha está vacía antes de escribir la fórmula.

Varios delimitadores a la vez con llaves

En la realidad los datos mezclan separadores: el primer código usa guion, otro usa barra, otro mezcla ambos. Para partir por cualquiera de ellos a la vez, DIVIDIRTEXTO admite una matriz de delimitadores entre llaves.

A2fxES-MAD-001
A
1 Producto
2 ES-MAD-001
3 ES/MAD 001
4 ES.MAD-001
5 ES MAD 001
6 ES/MAD-001
Códigos

En B2 escribe:

=DIVIDIRTEXTO(A2;{"-";"/";" ";"."})

Excel parte cada código por guion, barra, espacio o punto, lo que aparezca primero, y devuelve país, ciudad y número en B2, C2 y D2.

B2fx=DIVIDIRTEXTO(A2;{"-";"/";" ";"."})
A B C D
1 Producto
2 ES-MAD-001 ES MAD 001
3 ES/MAD 001 ES MAD 001
4 ES.MAD-001 ES MAD 001
5 ES MAD 001 ES MAD 001
6 ES/MAD-001 ES MAD 001
Códigos
Comprueba: las cuatro filas «raras» se han partido igual que la primera, con tres valores limpios en cada una. Si una celda queda vacía, añade su delimitador a las llaves.

Convertir una línea en una lista vertical

Cuando el delimitador útil es el de fila y no el de columna, deja el primer argumento de DIVIDIRTEXTO en blanco y rellena solo el de fila.

A2fxrojo;verde;azul;blanco
A
1 Catálogo
2 rojo;verde;azul;blanco
Colores

En B2 escribe:

=DIVIDIRTEXTO(A2;;";")

El resultado cae en B2, B3, B4 y B5, una lista vertical de cuatro colores.

B2fx=DIVIDIRTEXTO(A2;;";")
A B
1 Catálogo Color
2 rojo;verde;azul;blanco rojo
3 verde
4 azul
5 blanco
Colores
Comprueba: debajo de la celda original aparece un color por celda, hacia abajo. Si solo sale el primero, revisa que el segundo argumento (delimitador de columna) está vacío y que el tercero (delimitador de fila) lleva el carácter correcto.

Limpiar los espacios de más que deja la división

Cuando el nombre original trae dos espacios seguidos o un espacio al final, DIVIDIRTEXTO y Texto en columnas los respetan y dejan huecos molestos. La función ESPACIOS recorta los espacios sobrantes: los del principio, los del final y los sobrantes entre palabras, dejando uno solo.

A2fxAna García López
A B
1 Nombre completo Apellidos limpios
2 Ana García López García López
3 Pedro Sánchez Ruiz Sánchez Ruiz
Altas

En C2 escribe:

=ESPACIOS(DIVIDIRTEXTO(A2;" ";" ";VERDADERO))

VERDADERO en ignore_empty ignora los huecos que deja el doble espacio, y ESPACIOS por fuera se encarga de dejar uno solo entre «García» y «López».

C2fx=ESPACIOS(DIVIDIRTEXTO(A2;" ";" ";VERDADERO))
A B C
1 Nombre completo Apellidos brutos Apellidos limpios
2 Ana García López García López García López
3 Pedro Sánchez Ruiz Sánchez Ruiz Sánchez Ruiz
4 Lucía Díaz Río Díaz Río Díaz Río
Altas
Comprueba: en la columna C los nombres y apellidos van separados por un solo espacio, sin huecos al principio ni al final. Si la columna B tenía un solo espacio, ESPACIOS no la modifica, así que puedes comparar ambas columnas para ver la diferencia.

Por qué Texto en columnas «machaca» los datos de al lado

El asistente Texto en columnas escribe su resultado a partir de la celda de Destino sin pedir confirmación: si esa columna tiene datos importantes, los pisa sin avisar. La solución está en el tercer paso del asistente, en el cuadro Destino: escribir manualmente la celda donde quieres que empiece el resultado (por ejemplo, B2 en lugar de A2) hace que el resultado se coloque en una zona libre. Si no hay zona libre, copia primero la columna a otra hoja antes de lanzar el asistente.

Con DIVIDIRTEXTO no pasa: la fórmula solo escribe en las celdas vacías que necesita para desbordarse, y si la celda siguiente ya tiene un valor, muestra el error #¡DESBORDAMIENTO!.

DIVIDIRTEXTO muestra #N/D en las filas desiguales

Cuando los datos no son uniformes, DIVIDIRTEXTO rellena las celdas que faltan con #N/D, un error que indica «aquí no hay dato» y que las hojas que tiren de estas celdas propagarán.

A2fxES-MAD-001
A
1 Producto
2 ES-MAD-001
3 MX 014
Códigos

Con =DIVIDIRTEXTO(A2;{"-";" "};" ") el segundo código solo tiene dos partes; la celda D3 mostrará #N/D. Para evitarlo, añade el argumento pad_with:

=DIVIDIRTEXTO(A2;{"-";" "};" ";FALSO;0;"")
B3fx=DIVIDIRTEXTO(A3;{"-";" "};" ";FALSO;0;"")
A B C D
1 Producto
2 ES-MAD-001 ES MAD 001
3 MX 014 MX 014
Códigos

Ahora D3 queda vacío en lugar de mostrar #N/D, y el resto de la hoja puede operar sobre esa columna sin propagar errores.

Comprueba: la fila corta termina con una celda vacía y no con #N/D. Si sigue saliendo el error, revisa que pad_with lleva dos comillas seguidas ("") y no un espacio.

DIVIDIRTEXTO da #¿NOMBRE? en versiones viejas

DIVIDIRTEXTO solo existe en Excel 2024 y en Microsoft 365. Si la escribes en Excel 2021, 2019, 2016 o cualquier versión anterior, la celda mostrará #¿NOMBRE?, que significa que Excel no reconoce esa función.

Cuidado: el error #¿NOMBRE? aparece también cuando el nombre de la función está mal escrito o en otro idioma, así que antes de cambiar de versión comprueba que la fórmula dice exactamente =DIVIDIRTEXTO(...) y que usas punto y coma como separador.

En esas versiones la alternativa es el asistente Texto en columnas que vimos antes: abre la herramienta, marca el delimitador y deja que Excel haga el trabajo. La diferencia es que el resultado queda como valores fijos, no como fórmula viva.

Lo que ya sabes hacer al dividir texto en Excel

  • En Excel hay dos caminos para partir una celda: el asistente Texto en columnas (Datos > Herramientas de datos > Texto en columnas) para trabajos puntuales, y la función DIVIDIRTEXTO para datos que pueden cambiar.
  • El asistente pide el tipo (Delimitados o Ancho fijo), el carácter separador y el destino del resultado; si el destino tiene datos, los borra sin avisar.
  • DIVIDIRTEXTO usa col_delimiter para partir a la derecha y row_delimiter para partir hacia abajo; con llaves se aceptan varios delimitadores a la vez.
  • Los argumentos opcionales ignore_empty, match_mode y pad_with controlan huecos, mayúsculas y errores; este último evita el #N/D de las filas desiguales.
  • ESPACIOS por fuera de la división limpia los dobles espacios que dejan los datos sucios.

Como siguiente paso, una vez que tienes los trozos separados, lo natural es volver a unirlos: la función UNIRCADENAS (en inglés TEXTJOIN) hace lo contrario, juntar varias celdas en una sola eligiendo el separador.

Dudas al dividir texto en Excel

1. ¿Qué fórmulas de Excel sirven para separar un texto en partes?

Las tres funciones clave son EXTRAE (MID), que corta desde una posición; IZQUIERDA (LEFT) y DERECHA (RIGHT), que toman un número fijo de caracteres; y HALLAR (SEARCH) o ENCONTRAR (FIND) para localizar la separación. Para casos más complejos, la función TEXTOFRAGMENTAR (TEXTSPLIT), disponible desde Excel 2021 y Microsoft 365, divide el texto en varias celdas indicando solo el delimitador.

2. ¿Por qué no encuentro la función para dividir texto en mi Excel?

Si tu versión es anterior a Excel 2021, no tendrás TEXTOFRAGMENTAR (TEXTSPLIT) ni las matrices dinámicas. En ese caso la solución clásica es usar Datos > Herramientas de datos > Texto en columnas, que divide el contenido sin fórmulas, o combinar IZQUIERDA, DERECHA, EXTRAE y HALLAR para hacerlo manualmente.

3. ¿Se puede separar un texto dentro de la misma celda, en varias líneas?

Sí, usando la función CARACTER (CHAR) con el número 10, que es el salto de línea en Excel. Por ejemplo: =A1&CARACTER(10)&A2 une dos textos y los muestra en líneas distintas dentro de la misma celda. Recuerda activar la opción Ajustar texto en Inicio > Alineación para que se vean los saltos.

4. ¿Cómo se escribe la fórmula para separar texto en Excel en inglés?

Las equivalencias son: EXTRAE = MID, IZQUIERDA = LEFT, DERECHA = RIGHT, HALLAR = SEARCH, ENCONTRAR = FIND, LARGO = LEN y TEXTOFRAGMENTAR = TEXTSPLIT. En código VBA con la propiedad .Formula se escriben en inglés y con comas, por ejemplo: .Range("B1").Formula = "LEFT(A1,5)".

5. ¿Cómo paso el texto de una celda a varias filas en Excel?

Con la función TEXTOFRAGMENTAR (TEXTSPLIT) y el segundo argumento como VERDADERO escribe cada fragmento en una fila distinta, en la misma columna. Por ejemplo: =TEXTOFRAGMENTAR(A1;",";VERDADERO) convierte "Ana,Juan,Luisa" en tres filas con un nombre cada una, sin necesidad de copiar y pegar.

6. ¿Cómo separo un texto en varias columnas en Excel?

La forma más rápida es seleccionar la columna, ir a Datos > Herramientas de datos > Texto en columnas y elegir Delimitado (por comas, espacios, punto y coma, etc.). Si prefieres fórmulas, TEXTOFRAGMENTAR (TEXTSPLIT) en Excel 2021 o Microsoft 365 lo hace en una sola celda: =TEXTOFRAGMENTAR(A1;" ") reparte cada palabra en una columna.

7. ¿Cómo uno textos de varias columnas en una sola en Excel?

Con la función CONCAT (CONCATENAR en versiones antiguas) o, mejor aún, UNIRCADENAS (TEXTJOIN), que permite elegir un separador y si ignora celdas vacías. Por ejemplo: =UNIRCADENAS(", ";VERDADERO;A1:C1) une el contenido de A1, B1 y C1 con coma y espacio, descartando huecos en blanco.

Fuentes

  1. MicrosoftTEXTO — documentación oficialconsultado el 05/10/2026
  2. MicrosoftDIVIDIRTEXTO — documentación oficialconsultado el 05/10/2026
  3. MicrosoftFORMULATEXTO — documentación oficialconsultado el 05/10/2026
  4. MicrosoftUna celda vacía en una fórmula — documentación oficialconsultado el 05/10/2026
  5. MicrosoftReferencias relativas, absolutas y mixtas — documentación oficialconsultado el 05/10/2026