🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Función TEXTSPLIT en Excel — Dividir texto en una matriz viva que se derrama

|

Función TEXTSPLIT en Excel — Dividir texto en una matriz viva que se derrama

ResumenTEXTSPLIT es la versión en fórmula de Texto en columnas, con una gran diferencia: el resultado es una matriz viva que se vuelve a dividir en cuanto cambia el origen. Sintaxis: =TEXTSPLIT(texto; sep_columna; [sep_fila]; [ignorar_vacío]; [modo]; [rellenar_con]). El segundo argumento divide a lo ancho, en columnas; el tercero divide hacia abajo, en filas —los dos juntos convierten una cadena en una cuadrícula—. Dos tropiezos: el resultado se derrama, así que un rango bloqueado da #SPILL!; y para dividir por varios separadores necesitas una constante de matriz {","; ";"}, no la cadena ",;". Excel 365 y 2021+.

=TEXTSPLIT(A2, ",")
=TEXTSPLIT(A2, ",", ";")          ' columnas por coma, filas por punto y coma

Durante dos décadas, separar "Jones, Sara, Finanzas" en celdas distintas pasaba por el asistente Texto en columnas —un pegado único y destructivo que volvías a ejecutar a mano en cada cambio— o por un nido de IZQUIERDA, EXTRAE, ENCONTRAR que nadie releía un mes después. TEXTSPLIT lo hace en una fórmula, y como es una fórmula, la división se mantiene viva.

Nota: en una interfaz de Excel en español la función se llama DIVIDIRTEXTO. Relacionadas: TEXTJOIN = UNIRCADENAS, CONCAT = CONCAT. Las fórmulas de abajo usan los nombres en inglés; el comportamiento es idéntico.

Lo que aprenderás

  • Cómo sep_columna y sep_fila convierten una cadena en una cuadrícula 2D
  • Por qué varios separadores necesitan una constante de matriz {","; ";"}, no ",;"
  • Qué provoca #SPILL! y cómo solucionarlo
  • rellenar_con —el argumento que evita el #N/A en filas desiguales
  • Cuándo TEXTSPLIT jubila tu pila de IZQUIERDA/EXTRAE/ENCONTRAR y Texto en columnas

El modelo mental: Texto en columnas, pero vivo

Texto en columnas es una acción —la ejecutas, escribe valores una vez y se acabó; cambia el origen y la salida queda obsoleta—. TEXTSPLIT es una fórmula —describe la división y la recalcula para siempre—. En vez de «seleccionar el rango, abrir el asistente, elegir separador, pulsar Finalizar, repetir la semana que viene», tecleas una expresión y las celdas a la derecha (y abajo) se rellenan solas y se mantienen correctas:

' "Jones,Sara,Finanzas" en A2 se derrama en tres celdas:
=TEXTSPLIT(A2, ",")          ' -> Jones | Sara | Finanzas

La salida no se teclea en esas celdas —se derrama en ellas desde la celda de la fórmula, igual que FILTER y las demás funciones de matriz dinámica.

La regla que lo desbloquea todo: columna vs fila, y la matriz de separadores

TEXTSPLIT tiene dos ranuras de separador, y la que uses decide la forma de la salida. sep_columna (2.º arg) divide el texto de lado en columnas; sep_fila (3.er arg) lo divide hacia abajo en filas. Los dos juntos convierten una cadena empaquetada en una cuadrícula rectangular:

' "a,b;c,d"  ->  una cuadrícula 2x2: las comas hacen columnas, los punto y coma filas
=TEXTSPLIT(A2, ",", ";")

Y la trampa que más tiempo cuesta: para dividir por más de un separador, pasas una constante de matriz, no una cadena más larga. ",;" se lee como el único separador de dos caracteres «coma-luego-punto y coma» —que nunca coincide—, así que toda la cadena cae en una celda. La forma correcta:

=TEXTSPLIT(A2, {",", ";", " "})   ' dividir por coma O punto y coma O espacio
=TEXTSPLIT(A2, ",;")              ' MAL: busca el texto literal ",;"

#SPILL! va de los vecinos, no de la fórmula

Como el resultado se expande a tantas piezas como tenga el texto, TEXTSPLIT necesita celdas vacías donde derramarse. Si un valor, una etiqueta o una celda combinada ocupa el rango que el resultado quiere, Excel no puede colocarlo y devuelve #SPILL!. La fórmula está bien; lo bloqueado es el destino. Pulsa la celda para ver el rango de derrame resaltado, despéjalo y la división aparece. Hábito práctico: pon un TEXTSPLIT donde pueda crecer a la derecha y hacia abajo —no junto a una columna de datos existentes—.

rellenar_con: la solución para filas desiguales

Cuando divides muchas filas que no tienen todas el mismo número de piezas —una dirección tiene línea de complemento y otra no— las filas cortas vuelven rellenas de #N/A. El último argumento, rellenar_con, las sustituye por el valor que elijas:

=TEXTSPLIT(A2, ",", ";", , , "")    ' rellenar las celdas que faltan con "" en vez de #N/A

Los dos argumentos saltados son ignorar_vacío (fundir separadores consecutivos) y modo (poner 1 para ignorar mayúsculas/minúsculas). Rara vez los tocas, pero conocer el orden de las ranuras mantiene los punto y coma en su sitio.

El criterio: cuándo TEXTSPLIT sustituye a las viejas herramientas

Si anidas IZQUIERDA/EXTRAE/DERECHA con ENCONTRAR solo para cortar una cadena por sus separadores, para —ese patrón es frágil, y TEXTSPLIT lo hace de una y se mantiene vivo—. Si tiras de Datos ▸ Texto en columnas sobre datos que cambian, te comprometes a reejecutarlo para siempre; una fórmula TEXTSPLIT se actualiza sola. La excepción honesta es la misma que para toda función de matriz dinámica: para una importación única de cientos de miles de filas, Power Query es más ligero. Para todo lo que deba mantenerse al día, TEXTSPLIT gana. (Dividir es lo inverso de unir —véase TEXTJOIN—.)

Cómo ayuda ExcelMaster

Las divisiones reales rara vez son limpias: separa el nombre completo en nombre y apellido, pero solo en el primer espacio; mantén junto el resto de la dirección. ExcelMaster escribe el TEXTSPLIT —con la matriz de separadores correcta, rellenar_con y un sitio de derrame claro— a partir de una petición en lenguaje natural, y te avisa si el rango de destino choca. Tú describes la forma que quieres; él se encarga de la mecánica de los separadores.

Preguntas frecuentes

¿Cómo divido texto en columnas con una fórmula?

Usa =TEXTSPLIT(A2; ",") para dividir a lo ancho en columnas por coma. El resultado se derrama en las celdas a la derecha de la fórmula y se actualiza en cuanto cambia A2 —sin asistente, sin reejecutar—.

¿Cómo uso varios separadores en TEXTSPLIT?

Pásalos como constante de matriz entre llaves: =TEXTSPLIT(A2; {","; ";"; " "}). Escribir ",; " como cadena falla, porque Excel lo trata como un único separador de varios caracteres en vez de tres distintos.

¿Por qué TEXTSPLIT muestra #SPILL!?

Algo bloquea las celdas hacia las que el resultado debe expandirse —un valor, una etiqueta o una celda combinada—. Pulsa la celda de la fórmula para ver el rango de derrame, despéjalo y el resultado aparece.

TEXTSPLIT frente a Texto en columnas, ¿cuál uso?

TEXTSPLIT es una fórmula viva que se vuelve a dividir cuando cambia el origen; Texto en columnas es una acción única que escribe valores estáticos y debes reejecutar a mano. Para datos que cambian, usa TEXTSPLIT. Para una sola importación masiva, Texto en columnas o Power Query sirven.

¿Funciona TEXTSPLIT en Excel 2016 o 2019?

No. TEXTSPLIT exige Excel 365 o Excel 2021+. En versiones anteriores usa Texto en columnas o una fórmula con IZQUIERDA/EXTRAE/ENCONTRAR.

Probado en

Probado en: Excel 365 (Windows 11) — última verificación 17-06-2026.

Guías relacionadas: Excel TEXTJOIN · Excel CONCAT · Excel FILTER · VBA Split