Texto

Separar texto en Excel: fórmulas para dividir nombres y datos

octubre 26, 2026 Tuto Excel 16 min read
Separar texto en Excel: fórmulas para dividir nombres y datos

Separar texto en Excel es trocear el contenido de una celda en varias: el nombre y el apellido en columnas distintas, la calle y el número de una dirección, los colores de una lista separados por comas. En este tutorial partimos de un libro de direcciones que va creciendo: empezamos con dos funciones muy cortas (IZQUIERDA y DERECHA) y acabamos partiendo la dirección completa con cuatro fórmulas a la vez y, si tienes Excel 2024 o Microsoft 365, usando DIVIDIRTEXTO, que lo hace de un solo paso. Todo lo que necesitas es Excel 2007 o posterior; las funciones más nuevas (DIVIDIRTEXTO) solo aparecen a partir de 2024.

Nota: En este artículo las fórmulas usan el punto y coma como separador de argumentos, que es como viene Excel por defecto en los países donde el decimal se escribe con coma. Si tu Excel está configurado con punto decimal (México, Estados Unidos), cambia el punto y coma por coma.

Por qué separar texto con fórmula y no solo «a ojo»

Imagina una hoja con mil direcciones como «Calle Mayor 12, 28013 Madrid», todas juntas en la columna A. Si las partes a mano, tardas una mañana y, cuando llegue una dirección nueva, tienes que repetirlo. Con una fórmula, Excel lo hace por ti en una columna entera en un segundo, y si mañana cambias una calle, el resultado se actualiza solo. Hay tres caminos para hacerlo:

  • Funciones de texto (IZQUIERDA, DERECHA, EXTRAE, HALLAR, LARGO): la dirección original se queda donde está y el resultado va en columnas nuevas. Si tocas la celda de origen, las demás se recalculan solas.
  • Asistente Texto en columnas: parte de golpe la columna de origen y la deja troceada en su sitio. Es rápido pero no se actualiza si luego editas la dirección original.
  • DIVIDIRTEXTO (TEXTSPLIT): una sola función que rompe la cadena por el separador que le indiques y vuelca el resultado en columnas dinámicas. Solo en Excel 2024 y Microsoft 365.

Elige funciones cuando los datos pueden cambiar; usa Texto en columnas cuando los datos son definitivos y solo quieres partirlos una vez.

Las funciones que trocean una cadena: IZQUIERDA, DERECHA, EXTRAE, HALLAR y LARGO

Estas cinco funciones son la base de todo lo que verás después. Cada una hace una cosa y la combinación de varias es lo que permite partir una dirección completa.

  • IZQUIERDA (LEFT) devuelve los primeros caracteres de un texto: =IZQUIERDA(texto; núm_caracteres). Ejemplo: =IZQUIERDA("Calle Mayor";5) da «Calle».
  • DERECHA (RIGHT) devuelve los últimos caracteres: =DERECHA(texto; núm_caracteres). Ejemplo: =DERECHA("Calle Mayor";5) da «Mayor».
  • EXTRAE (MID) saca un trozo por la posición de inicio y el número de caracteres: =EXTRAE(texto; posición_inicial; núm_caracteres). Ejemplo: =EXTRAE("Calle Mayor";7;5) da «Mayor».
  • HALLAR (SEARCH) busca un carácter o texto dentro de otro y dice en qué posición está: =HALLAR(texto_buscado; dentro_del_texto; [núm_inicial]). Si no lo encuentra, devuelve #N/D. No distingue mayúsculas de minúsculas.
  • LARGO (LEN) cuenta cuántos caracteres tiene un texto: =LARGO(texto). Sirve para que DERECHA o EXTRAE sepan cuántos caracteres tomar desde el final.

La idea clave: HALLAR te dice «dónde está el espacio», LARGO te dice «cuánto mide todo», y con esos dos números IZQUIERDA, DERECHA y EXTRAE cortan la cadena.

Trocear «Juan Saavedra» en nombre y apellido con IZQUIERDA y DERECHA

Empezamos con el caso más sencillo: una celda con nombre y apellido separados por un espacio. Queremos el nombre en B y el apellido en C.

B2fx=IZQUIERDA(A2;HALLAR(" ";A2;1)-1)
A B C
1 Nombre completo Nombre Apellido
2 Juan Saavedra Juan Saavedra
3 Ana Belen Lopez Ana Belen Lopez
4 Pedro Pedro
Direcciones
  1. En la celda A2 escribe «Juan Saavedra» y complétala hacia abajo con tres nombres más: «Ana Belen Lopez» y «Pedro».
  2. Selecciona B2 y escribe la fórmula para sacar el nombre: =IZQUIERDA(A2;HALLAR(" ";A2;1)-1). La barra de fórmulas muestra esa misma fórmula. La celda B2 ahora muestra «Juan».
  3. Selecciona C2 y escribe la del apellido: =DERECHA(A2;LARGO(A2)-HALLAR(" ";A2;1)). C2 muestra «Saavedra».
  4. Arrastra el controlador de relleno de B2:C2 hacia abajo hasta la fila 4 para copiar las fórmulas.
Comprueba: En B2 ves «Juan», en C2 «Saavedra», en B3 «Ana», en C3 «Belen Lopez», y en B4 «Pedro» con C4 en blanco (Pedro no tiene apellido y la fórmula devuelve cadena vacía porque HALLAR devuelve #N/D y la operación se propaga; lo arreglaremos más adelante con SI.ERROR).

Sacar la inicial y el segundo nombre con EXTRAE

Para la inicial del segundo nombre la fórmula anterior no vale, porque IZQUIERDA solo cuenta desde el principio. Aquí entra EXTRAE, que parte de una posición concreta.

B4fx=EXTRAE(A4;HALLAR(" ";A4;1)+1;1)
A B C
1 Nombre completo Inicial 2º Resto
4 Janaina B. G. Bueno B . G. Bueno
Direcciones
  1. En A4 escribe «Janaina B. G. Bueno».
  2. En B4 escribe =EXTRAE(A4;HALLAR(" ";A4;1)+1;1). El +1 es para saltarse el espacio y empezar a leer justo después.
  3. La celda B4 muestra «B». La barra de fórmulas sigue mostrando la fórmula, no la letra.
Comprueba: B4 vale «B» y en la barra de fórmulas ves =EXTRAE(A4;HALLAR(" ";A4;1)+1;1). Si cambias A4 por otro nombre con espacio, la inicial se actualiza sola.
Cuidado: EXTRAE no entiende «busca la palabra X y devuélvela»: necesita un número de posición y un número de caracteres. Para encontrar la posición se combina con HALLAR, como aquí.

Partir «Calle Mayor 12, 28013 Madrid» en cuatro columnas

Ahora el libro crece: la misma hoja de direcciones guarda la dirección completa en A2 y queremos calle en B, número en C, código postal en D y ciudad en E. La estrategia es la misma: HALLAR nos da la posición de cada delimitador (primer espacio, coma, segundo espacio) y con esos números IZQUIERDA, EXTRAE y DERECHA cortan.

B2fx=IZQUIERDA(A2;HALLAR(" ";A2;1)-1)
A B C D E
1 Dirección Calle Número CP Ciudad
2 Calle Mayor 12, 28013 Madrid Calle 12 28013 Madrid
Direcciones
  1. En A2 escribe «Calle Mayor 12, 28013 Madrid».
  2. En B2 escribe la fórmula de la calle: =IZQUIERDA(A2;HALLAR(" ";A2;1)-1). B2 muestra «Calle».
  3. En C2, el número, va entre el primer espacio y la coma. La fórmula es: =EXTRAE(A2;HALLAR(" ";A2;1)+1;HALLAR(",";A2;1)-HALLAR(" ";A2;1)-1). C2 muestra «12».
  4. En D2, el código postal, va entre la coma+1 y el segundo espacio: =EXTRAE(A2;HALLAR(",";A2;1)+2;HALLAR(" ";A2;HALLAR(",";A2;1)+1)-HALLAR(",";A2;1)-2). D2 muestra «28013».
  5. En E2, la ciudad, va del segundo espacio+1 hasta el final: =DERECHA(A2;LARGO(A2)-HALLAR(" ";A2;HALLAR(",";A2;1)+1)). E2 muestra «Madrid».
Comprueba: Las cuatro celdas muestran los cuatro trozos y si cambias A2 por «Plaza España 5, 28008 Madrid», las cuatro celdas se recalculan solas.
Consejo: Si te lías con tantos HALLAR anidados, selecciona D2 y pulsa Fórmulas > Auditoría de fórmulas > Evaluar fórmula para ver el cálculo paso a paso.

El asistente Texto en columnas para partir de golpe

Cuando los datos son definitivos y solo necesitas partirlos una vez, el asistente Texto en columnas es más rápido que escribir cuatro fórmulas.

DatosHerramientas de datosTexto en columnas
  1. En la hoja Direcciones, escribe en A2:A6 las direcciones: «Calle Mayor 12, 28013 Madrid», «Plaza España 5, 28008 Madrid», «Avenida Paz 100, 28009 Madrid», «Calle Sol 3, 28010 Madrid» y «Gran Via 50, 28013 Madrid».
  2. Selecciona el rango A2:A6.
  3. Abre el asistente con la ruta Datos > Herramientas de datos > Texto en columnas. Aparece el primer paso del cuadro de diálogo.
  1. Marca «Delimitados» y pulsa Siguiente.
  1. Marca «Coma» y «Espacio» y observa la vista previa: cada dirección se parte en cuatro columnas (calle, número, CP, ciudad). Pulsa Siguiente y, en el paso 3, deja el destino en $A$2 y pulsa Finalizar.
  2. La hoja queda con la dirección original en A, la calle en B, el número en C, el CP en D y la ciudad en E.
Comprueba: La columna A ya no tiene la dirección completa; las cinco direcciones están repartidas en cinco columnas empezando en A2. Si ahora editas A2, las demás columnas NO se actualizan: el asistente sobrescribe los datos, no deja fórmulas.

Texto en columnas frente a una fórmula

Modo Qué hace Dónde queda el resultado Se actualiza al editar el origen
Delimitado (coma y espacio) Parte por los caracteres que marques En la misma columna y las de al lado, sin fórmula No
Ancho fijo Parte contando caracteres en posiciones concretas Igual No
Fórmula (IZQUIERDA, EXTRAE, DERECHA) Trocea con funciones en columnas nuevas Al lado, con fórmula Sí

DIVIDIRTEXTO: partir por coma y dejar el resultado en columnas dinámicas

Cuando tienes Excel 2024 o Microsoft 365, la función DIVIDIRTEXTO (TEXTSPLIT) hace lo mismo que Texto en columnas pero con una sola fórmula y dejando el resultado en columnas dinámicas que se recalculan solas.

B2fx=DIVIDIRTEXTO(A2;",")
A B C D
1 Lista
2 rojo,verde,azul rojo verde azul
Colores
  1. Crea una hoja nueva llamada «Colores». En A2 escribe «rojo,verde,azul».
  2. En B2 escribe =DIVIDIRTEXTO(A2;","). Excel derrama el resultado en B2, C2 y D2 automáticamente.
  3. B2 muestra «rojo», C2 «verde» y D2 «azul». La barra de fórmulas de B2 muestra la fórmula, y la de C2 y D2 está en blanco porque el contenido viene del derrame.
Nota: DIVIDIRTEXTO solo existe en Excel 2024 y Microsoft 365. Si tu Excel es 2019, 2016 o anterior, B2 mostrará #¿NOMBRE? y tendrás que usar el asistente Texto en columnas descrito antes.
Comprueba: Cambia A2 por «blanco,negro,gris,marron» y verás cómo B2:E2 se rellena con los cuatro colores en un segundo, sin tocar la fórmula.

Múltiples separadores y errores con #N/D

DIVIDIRTEXTO admite varios separadores a la vez usando una constante de matriz entre llaves, y permite rellenar los huecos cuando las filas no tienen el mismo número de trozos.

B2fx=DIVIDIRTEXTO("a/b,c";{",";"/"})
A B C D
2 a/b,c a b c
Colores
  1. En B4 escribe =DIVIDIRTEXTO("a/b,c";{",";"/"}). La constante {",";"/"} le dice a Excel que parta primero por la coma y, lo que quede, por la barra. B4 muestra «a», C4 «b», D4 «c».
  2. Para evitar #N/D cuando una fila tiene menos trozos que otra, añade un cuarto argumento: =DIVIDIRTEXTO("a,b";{",";"/"};FALSO;"-"). Si la celda de origen se quedara corta, el hueco se rellena con «-» en vez del error.
Comprueba: B4 vale «a», C4 «b», D4 «c». Si cambias la primera cadena por «x/y» (sin coma) y vuelves a entrar, Excel parte solo por la barra y rellena con «-» donde no llega.

Por qué la fórmula devuelve #¿NOMBRE!, #¡VALOR! o un cero inesperado

Cuando una fórmula no funciona, casi siempre es por una de estas cuatro causas.

  • La función está mal escrita o no existe en tu versión: =IZQUIRDA(...) con una sola R da #¿NOMBRE?. DIVIDIRTEXTO en Excel 2019 también da #¿NOMBRE? porque no existe en esa versión.
  • Operar con texto como si fuera número: IZQUIERDA devuelve texto. =IZQUIERDA(A2;2)+1 da #¡VALOR! porque no se puede sumar texto.
  • HALLAR no encuentra el delimitador y devuelve #N/D: cualquier operación con #N/D propaga el error a toda la fórmula.
  • El destino de Texto en columnas pisa datos de al lado: si no se elige bien la celda de destino, el asistente sobrescribe las columnas contiguas.

#¿NOMBRE? al escribir IZQUIERDA o DIVIDIRTEXTO

=IZQUIRDA(A2;5) da #¿NOMBRE? porque la función está mal escrita (es IZQUIERDA, con dos R). Lo mismo pasa si pegas una fórmula de internet escrita en inglés: =LEFT(A2,5) en un Excel en español da #¿NOMBRE? porque LEFT no existe aquí; tienes que traducirla a =IZQUIERDA(A2;5).

Con =DIVIDIRTEXTO(A2;","), el error #¿NOMBRE? significa que tu versión de Excel no la trae. La función existe solo desde Excel 2024 y Microsoft 365. Si tienes Excel 2021, 2019, 2016 o anterior, usa el asistente Datos > Herramientas de datos > Texto en columnas.

Cuidado: Si copias una fórmula de un tutorial en inglés, casi siempre viene con coma como separador (=LEFT(A2,5)). En un Excel en español con decimal coma, eso da #¿NOMBRE? o resultado extraño. Cámbiala a punto y coma: =IZQUIERDA(A2;5).

#¡VALOR! al operar con el resultado de IZQUIERDA

IZQUIERDA, DERECHA y EXTRAE siempre devuelven texto, aunque el contenido parezca un número. =IZQUIERDA("28013";2)+1 da #¡VALOR! porque Excel no suma una cadena. Para usar el resultado como número, envuélvelo en la función VALOR:

=VALOR(IZQUIERDA(A2;2))

Con «28013» en A2, esta fórmula da 28 como número, y ya puedes sumarlo o multiplicarlo.

La fórmula devuelve una celda vacía o un cero

Cuando HALLAR no encuentra el delimitador (por ejemplo, el nombre «Pedro» no tiene espacio), devuelve #N/D. Cualquier cálculo con #N/D propaga el error. Para que la celda quede en blanco en vez de mostrar el error, envuelve la fórmula en SI.ERROR:

=SI.ERROR(DERECHA(A2;LARGO(A2)-HALLAR(" ";A2;1));"")

En el caso de «Pedro» (sin espacio), la fórmula devuelve cadena vacía en vez de #N/D. En otros casos, SI.ERROR deja la fórmula original y solo cambia el resultado cuando hay error.

Cuidado: SI.ERROR esconde el error pero no lo arregla. Si la fórmula debería dar un resultado y ahora siempre devuelve cadena vacía, el problema está en la fórmula de dentro.

El resultado de Texto en columnas machaca datos de al lado

El asistente escribe el resultado en la misma columna de origen y las de al lado. Si tenías datos en B, C o D, los pierdes. Para evitarlo:

  1. Antes de abrir el asistente, inserta columnas vacías a la derecha del rango seleccionado. Inicio > Celdas > Insertar > Insertar columnas de hoja, una por cada columna nueva que vayas a generar.
  2. O bien, en el paso 3 del asistente, cambia el campo «Destino» a una celda con hueco, por ejemplo $F$2$, y pulsa Finalizar.
Cuidado: El paso 3 tiene un campo «Destino» con la primera celda de origen por defecto. Si no lo tocas, el resultado se escribe en esa misma celda y en las contiguas, pisando lo que hubiera.

Lo que ya sabes hacer con las fórmulas para separar texto

  • Trocear una cadena por la izquierda o por la derecha con IZQUIERDA y DERECHA, fijándote en la posición de un separador con HALLAR y la longitud total con LARGO.
  • Sacar un trozo intermedio con EXTRAE, indicando posición de inicio y número de caracteres.
  • Partir una dirección completa en varias columnas combinando IZQUIERDA, EXTRAE y DERECHA con HALLAR anidados.
  • Usar el asistente Datos > Herramientas de datos > Texto en columnas para partir una columna de golpe, eligiendo delimitadores y columna de destino.
  • Partir una cadena por coma o por varios separadores a la vez con DIVIDIRTEXTO, dejando el resultado en columnas dinámicas que se actualizan solas (Excel 2024 y Microsoft 365).
  • Envolver las fórmulas en SI.ERROR y VALOR para tratar los casos en los que el delimitador no aparece o el resultado se va a usar como número.

El siguiente paso es justo el inverso: ahora que sabes partir, aprende a juntar texto a la inversa con &, CONCAT y UNIRCADENAS para recombinar celdas en una sola cadena.

Datos comprobados en octubre de 2026.

Dudas al separar texto con fórmulas en Excel

1. ¿Cómo dividir texto en columnas de Excel usando una fórmula?

Excel no parte el texto en varias columnas con una sola fórmula, pero DERECHA, IZQUIERDA y EXTRAE sí recortan cada trozo dentro de la misma celda. Para repartirlo en columnas independientes lo habitual es Texto en columnas (Datos > Herramientas de datos > Texto en columnas) y, si necesitas que sea automático, las funciones matriciales de Microsoft 365 como TEXTODIVISO y BUSCARX.

2. ¿Qué fórmula sirve para separar un texto en partes?

Usa IZQUIERDA(texto;posiciones) para el primer trozo, DERECHA(texto;posiciones) para el último y EXTRAE(texto;desde;largo) para los del medio. Si lo que cambia es el separador, combínalas con ENCONTRAR(" ";A2) o con la familia *SI.CONJUNTO para detectar comas, guiones o espacios y que la fórmula se adapte sola.

3. ¿Cómo separar un texto en Excel sin partirlo en varias celdas?

La forma más limpia es anidar IZQUIERDA, DERECHA y EXTRAE con ENCONTRAR para que cada trozo quede en una columna aparte de la misma fila. Si prefieres mantener todo dentro de una sola celda, usa UNIRCADENAS (TEXTJOIN) o la función matricial TEXTODIVISO (TEXTSPLIT) en Microsoft 365, que devuelve el resultado como un grupo de valores que puedes unir de nuevo.

4. ¿Cómo se escriben en inglés las fórmulas para separar texto en Excel?

Las equivalentes en inglés son LEFT, RIGHT y MID para recortar, FIND para localizar el separador y, en Microsoft 365, TEXTBEFORE, TEXTAFTER y TEXTSPLIT como reemplazo moderno de las anteriores. Recuerda que VBA exige los nombres en inglés y con comas como separador, mientras que la hoja de cálculo los usa en español con punto y coma.

5. ¿Qué fórmula uso para separar nombres y apellidos en celdas distintas?

Si el nombre y el apellido están separados por un solo espacio, =IZQUIERDA(A2;ENCONTRAR(" ";A2)-1) devuelve el nombre y =EXTRAE(A2;ENCONTRAR(" ";A2)+1;LARGO(A2)) el apellido. Cuando hay segundo apellido o partículas, mejor =TEXTOANTES(A2;" ") y =TEXTODESPUES(A2;" ",2) en Microsoft 365, que controlan exactamente qué separador y qué ocurrencia quieres.

6. ¿Por qué no me aparece la función para dividir texto en Excel?

No existe una función llamada Dividir texto: lo que parte cadenas en celdas distintas es la herramienta Texto en columnas (Datos > Herramientas de datos > Texto en columnas). En Microsoft 365 además tienes TEXTODIVISO (TEXTSPLIT), TEXTOANTES (TEXTBEFORE) y TEXTODESPUES (TEXTAFTER), que sí parten el texto con una fórmula y solo aparecen si tu versión está actualizada.

7. ¿Cómo se usa la opción Separar texto en columnas de Excel?

Selecciona el rango, ve a Datos > Herramientas de datos > Texto en columnas y elige Delimitado si las partes se distinguen por un carácter (coma, punto y coma, espacio) o De ancho fijo si cada trozo ocupa un número concreto de caracteres. Marca los separadores en el paso 2, define el formato de cada columna en el paso 3 y pulsa Finalizar para repartir el contenido en columnas nuevas.

8. ¿Qué fórmula separa los números que vienen mezclados con letras?

Si los números están al principio, =VALOR(IZQUIERDA(A2;LARGO(A2)-1)) o, en Microsoft 365, =VALOR(TEXTOANTES(A2;LETRA)). Cuando la parte numérica no siempre está en la misma posición, una alternativa fiable es la versión matricial de 365: =EXTRAE(A2;1;MIN(SI.ERROR(ENCONTRAR(" ";A2);999))-1)*1, que extrae el primer bloque de dígitos antes del primer espacio.

Fuentes

  1. MicrosoftDividir texto en diferentes columnas con el Asistente para convertir …consultado el 07/10/2026
  2. MicrosoftTEXTO — documentación oficialconsultado el 07/10/2026
  3. MicrosoftDIVIDIRTEXTO — documentación oficialconsultado el 07/10/2026
  4. MicrosoftFORMULATEXTO — documentación oficialconsultado el 07/10/2026
  5. MicrosoftUna celda vacía en una fórmula — documentación oficialconsultado el 07/10/2026