Divide un texto por un delimitador y derrama las partes en columnas o en filas.
DIVIDIRTEXTO hace lo que hace Texto en columnas, pero como fórmula. Le das un texto y un delimitador y lo parte, derramando cada trozo en su propia celda. "Norte,Taladro,Vencida" se convierte en tres celdas.
La ventaja sobre Texto en columnas es que está viva. Texto en columnas es una operación puntual sobre una selección: la ejecutas y tienes que volver a ejecutarla la próxima vez que lleguen datos. DIVIDIRTEXTO vive en una celda y vuelve a dividir automáticamente cuando el texto de origen cambia, lo que la convierte en la herramienta adecuada para una hoja que recibe una exportación nueva cada semana.
Puede dividir en las dos direcciones a la vez. El primer argumento de delimitador reparte por columnas y el segundo reparte por filas, así que una sola fórmula puede convertir una celda con un bloque de texto delimitado en una tabla rectangular en condiciones.
=DIVIDIRTEXTO(texto; delimitador_col; [delimitador_fila]; [ignorar_vacío]; [modo_coincidencia]; [rellenar_con])textodelimitador_coldelimitador_filaignorar_vacíomodo_coincidenciarellenar_conUna cadena delimitada por fila, en A2:A4.
| A | |
|---|---|
| 1 | Registro |
| 2 | Norte,Taladro,Vencida |
| 3 | Sur,Alargador,Pagada |
| 4 | Norte,Gafas,Vencida |
=DIVIDIRTEXTO(A2; ",")Resultado: Norte | Taladro | Vencida
Tres trozos derramados en tres columnas.
=DIVIDIRTEXTO(A2; ; ",")Resultado: Norte, luego Taladro, luego Vencida, uno debajo de otro
Al omitir el delimitador de columna con un argumento vacío y pasar en su lugar uno de fila, la división se hace hacia abajo.
=DIVIDIRTEXTO("Alicia Moreau"; " ")Resultado: Alicia | Moreau
Dividir un nombre completo por el espacio: el uso de cada día, y en una línea en lugar de hacer malabares con IZQUIERDA y ENCONTRAR.
=DIVIDIRTEXTO(A2; {","\";"})Resultado: Norte | Taladro | Vencida
Una constante matricial divide por cualquiera de los dos delimitadores, lo que resuelve exportaciones que no son coherentes con el separador.
Leer sobre una fórmula no es lo mismo que escribirla. Abre el ejercicio de esta función y escríbela en una hoja real: recibirás comentarios inmediatos sobre qué celda está mal y por qué.
Por qué ocurre: Las celdas que necesitan los trozos no están vacías.
Cómo resolverlo: Vacía la fila a la derecha de la fórmula, o la columna de abajo si estás dividiendo en filas.
Por qué ocurre: Se están dividiendo varias filas a la vez y no todas tienen el mismo número de trozos. Las filas cortas se rellenan.
Cómo resolverlo: Usa el argumento rellenar_con: =DIVIDIRTEXTO(A2:A4; ","; ; ; ; "").
Por qué ocurre: Dos delimitadores seguidos en el origen producen un trozo vacío.
Cómo resolverlo: Pon VERDADERO en ignorar_vacío para omitirlos.
Por qué ocurre: DIVIDIRTEXTO es más reciente que el resto de la familia de matrices dinámicas: no llegó hasta 2022.
Cómo resolverlo: Necesita un Microsoft 365 actual. Excel 2021 tiene FILTRAR y UNICOS pero no DIVIDIRTEXTO; allí usa Texto en columnas o IZQUIERDA/EXTRAE/ENCONTRAR.
Texto en columnas es una acción puntual que sobrescribe celdas y hay que repetir cada vez que llegan datos nuevos. DIVIDIRTEXTO es una fórmula que se recalcula sola y deja el origen intacto. Para una importación semanal, significa configurarlo una vez en lugar de cada semana.
Sí. Pásale una constante matricial como delimitador: =DIVIDIRTEXTO(A2; {","\";"\"|"}) divide por cualquiera de los tres, algo útil con exportaciones desordenadas.
=DIVIDIRTEXTO(A2; " ") da las dos partes en celdas contiguas. Si solo quieres una, TEXTOANTES(A2; " ") y TEXTODESPUES(A2; " ") son más claras, y TEXTODESPUES gestiona mejor los nombres compuestos si le pasas -1 como número de instancia para tomar el último espacio.
Lecturas más largas donde esta función hace trabajo real en una hoja real.