Dividir cadenas de texto por delimitador en varias filas - 3 trucos rápidos
Normalmente, puedes usar la función Texto a Columnas para dividir el contenido de una celda en múltiples columnas mediante un delimitador específico, como coma, punto, punto y coma, barra diagonal, etc. Sin embargo, a veces puede que necesites dividir los contenidos de las celdas delimitadas en múltiples filas y repetir los datos de otras columnas, como se muestra en la captura de pantalla a continuación. ¿Tienes alguna buena manera de manejar esta tarea en Excel? Este tutorial presentará algunos métodos efectivos para completar este trabajo en Excel.

Método A: Dividir texto delimitado en múltiples filas mediante código VBA
En esta sección, te presentaré dos códigos VBA para ayudarte a dividir el contenido de las celdas que están separadas por un delimitador específico.
Dividir texto separado por coma, espacio, punto y coma, etc.
Para dividir las cadenas de texto que están separadas por algún delimitador común, como coma, espacio, punto y coma, barra diagonal, etc., el siguiente código puede ayudarte. Por favor, sigue los siguientes pasos:
Nota: Este código no admite Deshacer, es mejor que hagas una copia de seguridad de los datos antes de aplicar este código.
Paso 1: Abre el editor de módulos VBA y copia el código
1. Activa la hoja que deseas utilizar. Luego, presiona las teclas "Alt" + "F11" para abrir la ventana "Microsoft Visual Basic para Aplicaciones".
2. En la ventana abierta, haz clic en "Insertar" > "Módulo" para crear un nuevo módulo en blanco.
3. Luego, copia y pega el siguiente código en el módulo en blanco.
Código VBA: Dividir texto por un delimitador específico (coma, punto, espacio, etc.)
Sub SplitTextIntoRows()
'UpdatebyExtendoffice
Dim xSRg, xIptRg, xCrRg, xRg As Range
Dim xSplitChar As String
Dim xArr As Variant
Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
Dim xWSh As Worksheet
Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
If xSRg Is Nothing Then Exit Sub
xSplitChar = Application.InputBox("Type delimiter:", "Kutools for Excel", , , , , , 2)
If xSplitChar = "" Then Exit Sub
Application.ScreenUpdating = False
xRow = xSRg.Row
xColumn = xSRg.Column
Set xWSh = xSRg.Worksheet
For xFNum = xSRg.Rows.Count To 1 Step -1
Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
xArr = Split(xRg, xSplitChar)
xIndex = UBound(xArr)
For xFFNum = LBound(xArr) To UBound(xArr)
xRg.EntireRow.Copy
xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
xIndex = xIndex - 1
Next
xRg.EntireRow.Delete
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Paso 2: Ejecuta el código para obtener el resultado
1. Después de pegar el código, presiona la tecla "F5" para ejecutarlo. Luego, aparecerá un cuadro de diálogo para recordarte seleccionar las celdas que contienen el texto delimitado que deseas dividir, ver captura de pantalla:

2. Luego, haz clic en "Aceptar", otro cuadro de diálogo aparecerá para recordarte escribir el separador con el que deseas dividir los datos. Aquí, escribo una coma y un espacio (, ), ver captura de pantalla:

3. Por último, haz clic en el botón "Aceptar". Ahora, verás que las cadenas de texto seleccionadas se han dividido en filas según la coma y los datos de las columnas relacionadas se han repetido como se muestra en las capturas de pantalla a continuación:

Dividir texto separado por salto de línea
Si tus contenidos de celda están separados por saltos de línea, para dividirlos en múltiples filas, aquí hay otro código VBA que puede ayudarte.
Nota: Este código no admite Deshacer, es mejor que hagas una copia de seguridad de los datos antes de aplicar este código.
Paso 1: Abre el editor de módulos VBA y copia el código
1. Presiona las teclas "Alt" + "F11" para abrir la ventana "Microsoft Visual Basic para Aplicaciones".
2. En la ventana abierta, haz clic en "Insertar" > "Módulo" para crear un nuevo módulo en blanco.
3. Luego, copia y pega el siguiente código en el módulo en blanco.
Código VBA: Dividir texto por salto de línea
Sub SplitTextIntoRows()
'UpdatebyExtendoffice
Dim xSRg, xIptRg, xCrRg, xRg As Range
Dim xSplitChar As String
Dim xArr As Variant
Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
Dim xWSh As Worksheet
Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
If xSRg Is Nothing Then Exit Sub
xSplitChar = Chr(10)
Application.ScreenUpdating = False
xRow = xSRg.Row
xColumn = xSRg.Column
Set xWSh = xSRg.Worksheet
For xFNum = xSRg.Rows.Count To 1 Step -1
Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
xArr = Split(xRg, xSplitChar)
xIndex = UBound(xArr)
For xFFNum = LBound(xArr) To UBound(xArr)
xRg.EntireRow.Copy
xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
xIndex = xIndex - 1
Next
xRg.EntireRow.Delete
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Paso 2: Ejecuta el código para obtener el resultado
1. Después de pegar el código, presiona la tecla "F5" para ejecutarlo. En el cuadro emergente, selecciona las celdas que deseas dividir, ver captura de pantalla:

2. Luego, haz clic en el botón "Aceptar", los datos en las celdas seleccionadas se dividen en filas como se muestra en la captura de pantalla a continuación:

Método B: 10s para dividir texto delimitado en múltiples filas con Kutools para Excel
Si has instalado "Kutools para Excel", con su función "Dividir Datos en Filas", puedes dividir las cadenas de texto en múltiples filas por cualquier delimitador que especifiques. Por favor, sigue los siguientes pasos:
Paso 1: Selecciona la función Dividir Datos en Filas
Haz clic en "Kutools" > "Combinar y Dividir" > "Dividir Datos en Filas", ver captura de pantalla:

Paso 2: Especifica las celdas de datos y el delimitador para dividir
En el cuadro de diálogo emergente, utiliza las siguientes opciones:
- 1). Selecciona la lista de celdas que deseas dividir desde el cuadro de texto "Rango (una sola columna)";
- 2). Luego, elige el delimitador que separa tus datos, aquí, elegiré "Otro" y escribiré una coma y un espacio (, ) en el cuadro de texto;
- 3). Por último, haz clic en el botón "Aceptar".

Ahora, las celdas seleccionadas con cadenas de texto delimitadas se han convertido en múltiples filas basadas en el separador específico, ver captura de pantalla:

Consejos: Si deseas restaurar los datos originales, solo necesitas presionar Ctrl + Z para deshacer.
¿Fácil de usar? ¿Interesado en esta función? Por favor, haz clic para descargar y obtener una prueba gratuita durante 30 días.
Método C: Dividir texto delimitado en múltiples filas mediante Power Query
Si estás utilizando Office 365 o Excel 2016 y versiones posteriores, "Power Query" es una herramienta poderosa que puede ayudarte a dividir texto delimitado en múltiples filas o columnas. Es útil si deseas que los datos divididos se actualicen cuando cambien tus datos originales. Por favor, sigue los siguientes pasos para completarlo:
Paso 1: Obtén la tabla de datos en Power Query
1. Selecciona el rango de datos que deseas utilizar, luego haz clic en "Datos" > "Desde Tabla", ver captura de pantalla:
Consejos: En Excel 2019 y Office 365, haz clic en Datos > Desde Tabla/Rango.

2. En el cuadro de diálogo emergente "Crear Tabla", haz clic en el botón "Aceptar" para crear una tabla, ver captura de pantalla:

3. Ahora, se mostrará la ventana "Editor de Power Query" con los datos, ver captura de pantalla:

Paso 2: Realiza las transformaciones en Power Query
1. Selecciona la columna que deseas dividir. Luego, haz clic en "Inicio" > "Dividir Columna" > "Por Delimitador", ver captura de pantalla:

2. En el cuadro de diálogo "Dividir Columna por Delimitador":
Para dividir las cadenas de texto por coma, espacio, punto y coma, etc., por favor, haz lo siguiente:
- 1). Elige el delimitador por el que están separados tus datos desde la lista desplegable "Seleccionar o ingresar delimitador";
- 2). Selecciona "Cada ocurrencia del delimitador" desde la sección "Dividir en";
- 3). Luego, haz clic en "Opciones avanzadas" para expandir la sección, y selecciona "Filas" bajo "Dividir en";
- 4). Por último, haz clic en "Aceptar" para cerrar este cuadro de diálogo.

Para dividir cadenas de texto en múltiples filas por salto de línea, por favor, haz lo siguiente:
- 1). Elige "Personalizado" desde la lista desplegable "Seleccionar o ingresar delimitador";
- 2). Desde la lista desplegable "Insertar caracteres especiales", haz clic en "Salto de Línea", y los caracteres "#(lf)" se insertarán automáticamente en el cuadro de texto bajo "Personalizado";
- 3). Selecciona "Cada ocurrencia del delimitador" desde la sección "Dividir en";
- 4). Luego, haz clic en "Opciones avanzadas" para expandir la sección, y selecciona "Filas" bajo "Dividir en";
- 5). Por último, haz clic en "Aceptar" para cerrar este cuadro de diálogo.

3. Ahora, los datos seleccionados se han dividido en múltiples filas como se muestra en la captura de pantalla a continuación:

Paso 3: Exporta la consulta de Power Query a una tabla de Excel
1. Y luego, debes exportar los datos a tu hoja de cálculo. Haz clic en "Inicio" > "Cerrar y Cargar" > "Cerrar y Cargar / Cerrar y Cargar En", (aquí, haré clic en "Cerrar y Cargar"), ver captura de pantalla:

Consejos: Hacer clic en Cerrar y Cargar exportará los datos a una nueva hoja de cálculo; Hacer clic en Cerrar y Cargar En permitirá exportar los datos a cualquier otra hoja que necesites.
2. Finalmente, los datos se cargarán en una nueva hoja de cálculo, ver captura de pantalla:

Consejos: Si necesitas actualizar tus datos en la tabla original con frecuencia, no te preocupes, solo necesitas hacer clic derecho en la tabla de resultados y hacer clic en "Actualizar" para obtener el nuevo resultado dinámicamente.
Artículos Relacionados:
- Dividir valores de celda en múltiples columnas
- En Excel, cuando deseas dividir una lista de valores de celda en múltiples columnas por ciertos delimitadores, como coma, espacio, punto, nueva línea, etc., normalmente, la función integrada Texto a Columnas puede ayudarte a completar este trabajo paso a paso. En este artículo, hablaré sobre algunos buenos trucos para dividir fácil y rápidamente los valores de celda en múltiples columnas o filas.
- Dividir una celda en múltiples filas o columnas
- Supongamos que tienes una sola celda que contiene múltiples contenidos separados por un carácter específico, por ejemplo, punto y coma, y luego deseas dividir esta celda larga en múltiples filas o columnas basadas en el punto y coma, en este caso, ¿tienes alguna forma rápida de resolverlo en Excel?
- Dividir cadena de texto por mayúsculas y minúsculas
- En Excel, generalmente dividimos texto por ancho fijo o delimitador con la función Texto a Columnas, pero ¿alguna vez has intentado dividir texto por mayúsculas y minúsculas? Por ejemplo, tienes una lista de datos, y necesitas dividirlos en dos columnas basadas en el caso: una columna contiene la cadena en minúsculas, y la otra contiene la cadena en mayúsculas como se muestra en la captura de pantalla a continuación. La función Texto a Columnas no admite esta operación, sin embargo, puedo introducir un truco para dividir rápidamente cadenas de texto por mayúsculas y minúsculas en Excel.
- Dividir número en dígitos individuales
- Supongamos que necesitas romper o dividir un número en dígitos individuales como se muestra en la captura de pantalla a continuación, ¿qué puedes hacer para lograrlo? Este artículo proporcionará dos métodos para ti.
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!
Tabla de contenido
- Video: Dividir cadenas de texto por delimitador
- Método A: Mediante código VBA
- Texto separado por coma, espacio, punto y coma, etc.
- Texto separado por salto de línea
- Método B: 10s con Kutools para Excel
- Método C: Mediante Power Query
- Artículos Relacionados
- Las Mejores Herramientas de Productividad para Oficina
- Comentarios