dividir cadenas de texto por delimitador

Dividir cadenas de texto por delimitador: Domina el arte de la separación de datos

En un mundo donde la información fluye a raudales, la capacidad de organizar y manipular datos se ha vuelto esencial. Ya sea que estés trabajando con hojas de cálculo, bases de datos o simplemente limpiando un documento, saber cómo dividir cadenas de texto por delimitador puede transformar la manera en que gestionas la información. En este artículo, te llevaremos a través de técnicas y herramientas efectivas que te permitirán separar fácilmente los datos, facilitando su análisis y comprensión. Prepárate para desatar el verdadero potencial de tus textos y convertirte en un maestro de la organización de información. ¡Comencemos!

La división de cadenas de texto por un delimitador es una tarea común en programación y análisis de datos. ¿Alguna vez te has preguntado cómo separar una cadena en varias partes utilizando un carácter específico? Si es así, estás en el lugar correcto. En este artículo, exploraremos diferentes métodos y técnicas para dividir cadenas de texto por delimitador. ¡Prepárate para adentrarte en el fascinante mundo de la manipulación de cadenas de texto y descubrir cómo hacerlo de manera eficiente y efectiva!

El tutorial muestra cómo usar la nueva función TEXTSPLIT para dividir cadenas en Excel 365 por cualquier delimitador que especifique.

Puede haber varias situaciones en las que necesite dividir celdas en Excel. En versiones anteriores, ya estábamos equipados con una serie de instrumentos para realizar la tarea, como Texto a columnas y Relleno flash. Ahora, también tenemos una función especial para esto, TEXTSPLIT, que puede separar una cadena en múltiples celdas en columnas o filas según los parámetros que especifique.

Función DIVISIÓN DE TEXTOS de Excel

La función TEXTSPLIT en Excel divide cadenas de texto mediante un delimitador determinado en columnas o filas. El resultado es una matriz dinámica que se divide automáticamente en varias celdas.

La función toma hasta 6 argumentos, de los cuales solo se requieren los dos primeros.

TEXTSPLIT(texto, delimitador_columna, [row_delimiter], [ignore_empty], [match_mode], [pad_with])

Texto (obligatorio): el texto a dividir. Se puede proporcionar como una cadena o una referencia de celda.

delimitador_columna (obligatorio): carácter(es) que indican dónde dividir el texto en columnas. Si se omite, delimitador_fila debe ser definido.

delimitador_fila (opcional): caracteres que indican dónde dividir el texto en filas.

ignorar_vacío (opcional): especifica si se ignoran los valores vacíos o no:

  • FALSO (predeterminado): crea celdas vacías para delimitadores consecutivos sin un valor intermedio.
  • VERDADERO: ignore los valores vacíos, es decir, no cree celdas vacías para dos o más delimitadores consecutivos.

Modo_partido (opcional): determina la distinción entre mayúsculas y minúsculas para el delimitador. Habilitado de forma predeterminada.

  • 0 (predeterminado): distingue entre mayúsculas y minúsculas
  • 1 – no distingue entre mayúsculas y minúsculas

Pad_con (opcional): un valor para usar en lugar de los valores faltantes en matrices bidimensionales. El valor predeterminado es un error #N/A.

Por ejemplo, para dividir una cadena de texto en A2 en varias celdas usando una coma y un espacio como separador, la fórmula es:

=TEXTSPLIT(A2, «, «)dividir cadenas de texto por delimitador
>Disponibilidad de DIVISIÓN DE TEXTO

La función TEXTSPLIT solo está disponible en Excel para Microsoft 365 (Windows y Mac) y Excel para la web.

Consejos:

  • En las versiones de Excel donde la función TEXTSPLIT no está disponible (aparte de Excel 365), puede usar el asistente de Texto a columnas para dividir celdas.
  • Para realizar la tarea inversa, es decir, unir el contenido de varias celdas en una usando un determinado delimitador, TEXTJOIN es la función a utilizar.

Fórmula básica TEXTSPLIT para dividir una celda en Excel

Para empezar, veamos cómo usar una fórmula TEXTSPLIT en su forma más simple para dividir una cadena de texto por un delimitador particular.

Dividir una celda horizontalmente en columnas

Para dividir el contenido de una celda determinada en varias columnas, proporcione una referencia a la celda que contiene la cadena original para la primera (texto) argumento y el delimitador que marca el punto donde debe ocurrir la división para el segundo (col_delimiter) argumento.

Por ejemplo, para separar la cadena en A2 horizontalmente por coma, la fórmula es:

=TEXTSPLIT(A2, «,»)

Para el delimitador, utilizamos una coma entre comillas dobles («,»).

Como resultado, cada elemento separado por una coma va a una columna individual:dividir cadenas de texto por delimitador
>

Dividir una celda verticalmente en filas

Para dividir texto en varias filas, el tercer argumento (delimitador_fila) es donde colocas el delimitador. El segundo argumento (col_delimiter) se omite en este caso.

Por ejemplo, para separar los valores de A2 en diferentes filas, la fórmula es:

=TEXTSPLIT(A2, ,»,»)dividir cadenas de texto por delimitador
>

Tenga en cuenta que, en ambos casos, la fórmula solo se ingresa en una celda (C2). En las celdas vecinas, los valores devueltos se derraman automáticamente. La matriz resultante (que se llama rango de derrame) está resaltada con un borde azul que indica que todo lo que contiene se calcula mediante la fórmula de la celda superior izquierda.

Dividir texto por subcadena

En muchos casos, los valores de la cadena de origen están separados por una secuencia de caracteres; un ejemplo típico es una coma y un espacio. Para manejar este escenario, use una subcadena para el delimitador.

Por ejemplo, para separar el texto en A2 en varias columnas mediante una coma y un espacio, utilice la cadena «, » para col_delimiter.

=TEXTSPLIT(A2, «, «)

Esta fórmula va a B2 y luego la copia en tantas celdas como sea necesario.dividir cadenas de texto por delimitador
>

Divida la cadena en columnas y filas a la vez

Para dividir una cadena de texto en filas y columnas a la vez, defina ambos delimitadores en su fórmula TEXTSPLIT.

Por ejemplo, para dividir la cadena de texto en A2 en columnas y filas, proporcionamos:

  • El signo igual («=») para col_delimiter
  • Una coma y un espacio («, «) para delimitador_fila

La fórmula completa toma esta forma:

=TEXTSPLIT(A2, «=», «, «)

El resultado es una matriz 2D que consta de 2 columnas y 3 filas:dividir cadenas de texto por delimitador
>

Separar celdas por múltiples delimitadores

Para manejar delimitadores múltiples o inconsistentes en la cadena de origen, use una constante de matriz como {«x»,»y»,»z»} para el argumento del delimitador.

En la captura de pantalla siguiente, el texto en A2 está delimitado por comas («,») y punto y coma («;») con y sin espacios. Para dividir la cadena verticalmente en filas según las 4 variaciones del delimitador, la fórmula es:

=TEXTSPLIT(A2, , {«,»,», «,»;»,»; «})

O puede incluir solo una coma («,») y un punto y coma («;») en la matriz y luego eliminar espacios adicionales con la ayuda de la función TRIM:

=TRIM(TEXTSPLIT(A2, , {«,»,»;»}))

dividir cadenas de texto por delimitador
>Dividir texto ignorando valores vacíos

Si la cadena contiene dos o más delimitadores consecutivos sin un valor entre ellos, puede elegir si desea ignorar dichos valores vacíos o no. Este comportamiento está controlado por el cuarto ignorar_vacío parámetro, cuyo valor predeterminado es FALSO.

De forma predeterminada, la función TEXTSPLIT no ignora los valores vacíos. El comportamiento predeterminado funciona bien para datos estructurados como en el siguiente ejemplo.

En esta tabla de ejemplo, faltan las puntuaciones en algunas cadenas. La fórmula TEXTSPLIT con el ignorar_vacío El argumento omitido o establecido en FALSO maneja este caso perfectamente, creando una celda vacía para cada valor vacío.

=TEXTSPLIT(A2, «, «)

O

=TEXTSPLIT(A2, «, «, FALSE)

Como resultado, todos los valores aparecen en las columnas correspondientes.dividir cadenas de texto por delimitador
>

En caso de que sus cadenas contengan datos homogéneos, puede ser razonable ignorar los valores vacíos. Para esto, configure el ignorar_vacío argumento a VERDADERO o 1.

Por ejemplo, para dividir las siguientes cadenas colocando cada habilidad en una celda separada sin espacios, la fórmula es:

=TEXTSPLIT(A2, «, «, ,TRUE)

En este caso, los valores faltantes entre delimitadores consecutivos se ignoran por completo:dividir cadenas de texto por delimitador
>

División de celda que distingue entre mayúsculas y minúsculas o no distingue entre mayúsculas y minúsculas

Para controlar la distinción entre mayúsculas y minúsculas del delimitador, utilice el quinto argumento, modo_partido.

Por defecto, modo_partido se establece en 0, lo que hace que TEXTSPLIT distingue mayúsculas y minúsculas.

En este ejemplo, los números están separados por letras «x» minúscula y «X» mayúscula.

La fórmula con la distinción entre mayúsculas y minúsculas predeterminada solo acepta la «x» minúscula como delimitador:

=TEXTSPLIT(A2, » x «)

Preste atención a que el delimitador tenga un espacio a ambos lados de la letra » x » para evitar espacios iniciales y finales en los resultados.dividir cadenas de texto por delimitador
>

Para desactivar la distinción entre mayúsculas y minúsculas, proporcione 1 para modo_partido para forzar que la fórmula TEXTSPLIT ignore las mayúsculas y minúsculas:

=TEXTSPLIT(A2, » x «, , ,1)

Ahora, todas las cadenas están divididas correctamente por cualquiera de los delimitadores:dividir cadenas de texto por delimitador
>

Rellenar los valores faltantes en la matriz 2D

El último argumento de la función TEXTSPLIT, pad_con, resulta útil en caso de que falten uno o más valores en la cadena de origen. Cuando una cadena de este tipo se divide en columnas y filas, de forma predeterminada, Excel devuelve errores #N/A en lugar de los valores faltantes para no alterar la estructura de una matriz bidimensional.

En la siguiente cadena, no hay «=» (col_delimiter) después de «Puntuación». Para mantener la integridad de la matriz resultante, TEXTSPLIT genera #N/A junto a «Puntuación».dividir cadenas de texto por delimitador
>

Para que el resultado sea más fácil de usar, puede reemplazar el error #N/A con cualquier valor que desee. Simplemente, escriba el valor deseado en el pad_con argumento.

En nuestro caso, podría ser un guión («-«):

=TEXTSPLIT(A2, «=», «, «, , ,»-«)dividir cadenas de texto por delimitador
>

O una cadena vacía («»):

=TEXTSPLIT(A2, «=», «, «, , ,»»)dividir cadenas de texto por delimitador
>

Ahora que ha aprendido los usos prácticos de cada argumento de la función TEXTSPLIT, analicemos un par de ejemplos avanzados que pueden ayudarle a afrontar desafíos no triviales en sus hojas de cálculo de Excel.

Dividir fechas en día, mes y año.

Para dividir una fecha en unidades individuales, primero debe convertir la fecha en texto porque la función TEXTSPLIT trata con cadenas de texto, mientras que las fechas de Excel son números.

La forma más sencilla de convertir un valor numérico en texto es mediante la función TEXTO. Solo asegúrese de proporcionar un código de formato apropiado para su fecha.

En nuestro caso la fórmula es:

=TEXT(A2, «m/d/yyyy»)

El siguiente paso es anidar la función anterior en el primer argumento de TEXTSPLIT e ingresar el delimitador correspondiente para el segundo o tercer argumento, dependiendo de si está dividiendo en columnas o filas. En este ejemplo, las unidades de fecha están delimitadas con barras, por lo que usamos «https://www.ablebits.com/» para las col_delimiter argumento:

=TEXTSPLIT(TEXT(A2, «m/d/yyyy»), «https://www.ablebits.com/»)dividir cadenas de texto por delimitador
>

Dividir celdas y eliminar ciertos caracteres.

Imagínese esto: ha dividido una cadena larga en partes, pero la matriz resultante todavía contiene algunos caracteres no deseados, como los paréntesis en la siguiente captura de pantalla:

=TEXTSPLIT(A2, » «, «; «)dividir cadenas de texto por delimitador
>

Para eliminar los paréntesis de apertura y cierre a la vez, anide dos funciones SUSTITUIR una dentro de otra (cada una reemplazando un paréntesis con una cadena vacía) y use la fórmula TEXTSPLIT para el texto argumento del SUSTITUTO interno:

=SUBSTITUTE(SUBSTITUTE(TEXTSPLIT(A2, » «, «; «), «(«, «»), «)», «»)dividir cadenas de texto por delimitador
>

Consejo. Si la matriz final contiene demasiados caracteres adicionales, puede eliminarlos utilizando uno de los métodos descritos en este artículo: Cómo eliminar caracteres no deseados en Excel.

Dividir cadenas omitiendo ciertos valores

Supongamos que desea separar las siguientes cadenas en 4 columnas: Nombre de pila, Apellido, Puntajey Resultado. El problema es que algunas cadenas contienen el título «Sr.» o «Sra.», por lo que todos los resultados son incorrectos:dividir cadenas de texto por delimitador
>

La solución no es obvia pero sí bastante simple 🙂

Además de los delimitadores existentes, que son un espacio (» «) y una coma y un espacio («, «), incluye las cadenas «Sr. » y «Sra. » en el col_delimiter constante de matriz, de modo que la función utiliza los títulos mismos para separar el texto. A ignorar valores vacíosconfiguras el ignorar_vacío argumento a VERDADERO.

=TEXTSPLIT(A2, {» «,», «,»Mr. «,»Ms. «}, ,TRUE)

¡Ahora los resultados son absolutamente perfectos!dividir cadenas de texto por delimitador
>

Alternativas a TEXT SPLIT

En las versiones de Excel donde no se admite la función TEXTSPLIT, puede dividir cadenas usando diferentes combinaciones de la función BUSCAR/ENCONTRAR con IZQUIERDA, DERECHA y MEDIO. En particular:

  • BÚSQUEDA que no distingue entre mayúsculas y minúsculas o ENCONTRAR que distingue entre mayúsculas y minúsculas determina la posición del delimitador dentro de una cadena, y
  • Las funciones IZQUIERDA, DERECHA y MEDIA extraen una subcadena antes, después o entre dos instancias del delimitador.

En nuestro caso, para dividir los valores separados por una coma y un espaciolas fórmulas son las siguientes.

Para extraer el nombre:

=LEFT(A2, SEARCH(«,», A2, 1) -1)

Para sacar la puntuación:

=MID(A2, SEARCH(«,», A2) + 2, SEARCH(«,», A2, SEARCH(«,»,A2)+1) – SEARCH(«,», A2) – 2)

Para obtener el resultado:

=RIGHT(A2, LEN(A2) – SEARCH(«,»,  A2, SEARCH(«,»,  A2) + 1)-1)

Para obtener una explicación detallada de la lógica de las fórmulas, consulte Cómo dividir cadenas por carácter o máscara.

Tenga en cuenta que, a diferencia de la función TEXTSPLIT de matriz dinámica, estas fórmulas siguen el enfoque tradicional de una fórmula, una celda. Ingresa la fórmula en la primera celda y luego la arrastra hacia abajo en la columna para copiarla a las celdas siguientes.

La siguiente captura de pantalla muestra los resultados:dividir cadenas de texto por delimitador
>

Así es como se dividen celdas en Excel 365 usando TEXTSPLIT o soluciones alternativas en versiones anteriores. ¡Te agradezco por leer y espero verte en nuestro blog la próxima semana!

Libro de práctica para descargar.

Función TEXTSPLIT para dividir cadenas: ejemplos de fórmulas (archivo .xlsx)

Usted también podría estar interesado en

Macro para dividir cadenas con delimitador

En este caso afirmo enfáticamente que esta herramienta (Texto en columnas) no sólo puede usarse cuando queremos importar …

Preguntas frecuentes sobre cómo dividir cadenas de texto por delimitador

Preguntas frecuentes sobre cómo dividir cadenas de texto por delimitador

Si te has encontrado con la necesidad de dividir cadenas de texto por un delimitador específico, seguramente has tenido algunas dudas al respecto. En este artículo, responderemos a las preguntas más frecuentes sobre este tema y te proporcionaremos algunos consejos útiles.

1. ¿Qué significa «dividir cadenas de texto por delimitador»?

Cuando hablamos de dividir cadenas de texto por delimitador, nos referimos a separar una cadena de texto más larga en partes más pequeñas utilizando un carácter específico como punto de separación. Esta técnica es útil cuando necesitamos extraer información específica de una cadena de texto.

2. ¿Cuál es la forma más común de dividir cadenas de texto en la programación?

En la programación, la forma más común de dividir cadenas de texto es utilizando la función «split». Esta función permite dividir una cadena de texto en elementos más pequeños con base en un delimitador determinado. Por ejemplo:

var cadena = «ejemplo1,ejemplo2,ejemplo3»;var partes = cadena.split(«,»);console.log(partes); // [«ejemplo1», «ejemplo2», «ejemplo3»]

3. ¿Existen otras formas de dividir cadenas de texto en diferentes lenguajes de programación?

Sí, existen varias formas de dividir cadenas de texto en diferentes lenguajes de programación. Por ejemplo, en Python podemos utilizar el método «split» de una cadena de texto para lograr el mismo resultado:

cadena = «ejemplo1,ejemplo2,ejemplo3″partes = cadena.split(«,»)print(partes) # [«ejemplo1», «ejemplo2», «ejemplo3»]

Recuerda que cada lenguaje de programación puede tener sus propias funciones o métodos para dividir cadenas de texto. Te recomendamos consultar la documentación oficial del lenguaje que estés utilizando para obtener más información al respecto.

4. ¿Qué debo hacer si mi cadena de texto no tiene un delimitador claro?

Si tu cadena de texto no tiene un delimitador claro, puede resultar más complicado dividirla en partes. En este caso, puedes explorar diferentes técnicas como el uso de expresiones regulares para identificar patrones específicos en la cadena.

5. ¿Dónde puedo encontrar más información sobre cómo dividir cadenas de texto por delimitador?

Si deseas obtener más información o explorar diferentes formas de dividir cadenas de texto por delimitador en varios lenguajes de programación, te recomendamos visitar los siguientes enlaces:

  • W3Schools – JavaScript Split() Method
  • GeeksforGeeks – Python String split()
  • Microsoft Docs – Split Method (System.String)
  • Esperamos que estas referencias te sean útiles y te ayuden a comprender mejor cómo dividir cadenas de texto por delimitador en diferentes contextos.

    Recuerda practicar y experimentar con diferentes métodos para encontrar el enfoque que mejor se adapte a tus necesidades.

    [automatic_youtube_gallery type=»search» search=»dividir cadenas de texto por delimitador» limit=»1″]
    Se refiere⁣ a la utilización de un delimitador, que es un‌ carácter o⁤ una secuencia de caracteres que actúan como separadores en una cadena de texto. En Excel, se puede utilizar la función TEXTSPLIT para dividir cadenas ⁣de texto basándose en determinados delimitadores.

    Conceptos Clave

    1. Delimitador: Un carácter⁢ o una combinación que indica dónde dividir el texto.
    2. Ignorar Valores Vacíos: La ⁣opción para no incluir celdas en blanco resultantes de delimitadores consecutivos.
    3. Distinción entre Mayúsculas ‍y Minúsculas: Controlar si el delimitador debe ser tratado como sensible a las mayúsculas.
    4. Relleno de Valores Faltantes: Especificar cómo manejar celdas vacías en la⁢ matriz resultante.

    Ejemplos Prácticos

    1. Dividir por un solo delimitador:

    ‍ – =TEXTSPLIT(A2, ",") ⁤separa una cadena en A2 cada vez que encuentra una coma.

    1. Dividir por‌ un delimitador compuesto:

    =TEXTSPLIT(A2, ", ") separa por coma y espacio.

    1. Dividir en‍ filas y columnas:

    =TEXTSPLIT(A2, "=", ", ") ⁤separa la cadena en función⁢ de un⁢ signo igual‌ en‍ columnas y de comas en filas.

    1. Ignorar valores vacíos:

    =TEXTSPLIT(A2, ", ", TRUE) omite los valores vacíos entre los delimitadores.

    1. Usar múltiples delimitadores:

    =TEXTSPLIT(A2, , {",", "; "}) separa el⁢ texto en función de comas y punto y coma.

    1. Dividir‍ ignorando mayúsculas:

    ⁣ – =TEXTSPLIT(A2, " x ", , , 1) separa sin considerar si la letra es mayúscula o minúscula.

    1. Rellenar celdas vacías:

    ​ – ⁢ =TEXTSPLIT(A2, "=", ", ", , , "-") reemplaza los errores con un guion.

    Soluciones para Versiones Anteriores de Excel

    Si TEXTSPLIT ⁤no está⁣ disponible, se pueden usar funciones como SEARCH, LEFT, RIGHT ⁤ y MID para dividir cadenas de texto manualmente. Por ejemplo:

    • Para extraer nombres o puntajes, se pueden construir fórmulas utilizando SEARCH para localizar delimitadores y‌ LEFT, RIGHT o MID para obtener las subcadenas deseadas.

    Conclusión

    La función TEXTSPLIT ⁢ de Excel ofrece una manera versátil de gestionar y dividir cadenas de‍ texto basadas en diferentes criterios de delimitación, y puede ser adaptada para diferentes necesidades dependiendo de los datos y su estructura.

    Si tienes dudas específicas sobre cómo aplicar estas funciones o ​necesitas más ejemplos, no dudes⁣ en preguntar.

    3 comentarios en «dividir cadenas de texto por delimitador»

    1. Gumersindo: ¡Excelente artículo! La verdad es que cada vez que necesito dividir cadenas de texto en mis proyectos, me paso un buen rato buscando el mejor método. Una vez, para un pequeño proyecto de análisis de datos, utilicé un delimitador raro y casi me vuelvo loco tratando de descifrar cómo hacerlo. Gracias por compartir estos tips, definitivamente me serán útiles para la próxima vez.

    2. Llibert: ¡Qué buena onda el artículo! Yo también he pasado por eso, la última vez que intenté dividir una cadena con un delimitador que no sabía muy bien cómo usar, terminé metiéndome en un lío con errores y más errores. Es genial tener esta info a la mano, así que gracias por el aporte, ¡me va a salvar en futuras ocaciones!

    3. Nageleefdu: ¡Totalmente de acuerdo, Gumersindo! A mí también me ha pasado, en un proyecto de programación quise dividir una cadena por un delimitador que nunca había usado antes y terminé frustrado. Estos consejos son oro puro, siempre es bueno tener un recordatorio de las diferentes opciones que hay. ¡Gracias por el artículo!

    Deja un comentario