Dividir cadenas de texto por delimitador en varias filas - 3 trucos rápidos
Normalmente, puede usar la función Texto a columna para dividir el contenido de la celda en varias columnas mediante un delimitador específico, como coma, punto, punto y coma, barra oblicua, etc. Pero, a veces, es posible que necesite dividir el contenido de la celda delimitada en varias filas y repita los datos de otras columnas como se muestra a continuación. ¿Tiene alguna buena manera de hacer frente a esta tarea en Excel? Este tutorial presentará algunos métodos efectivos para completar este trabajo en Excel.
Método A: dividir el texto delimitado en varias filas por código VBA
En esta sección, presentaré dos códigos VBA para ayudar a dividir el contenido de la celda que está separado por un determinado delimitador.
Divida el texto separado por coma, espacio, punto y coma, etc.
Para dividir las cadenas de texto que están separadas por algún delimitador normal, como coma, espacio, punto y coma, barra oblicua, etc., el siguiente código puede hacerte un favor. Siga los pasos a continuación:
Note: este código no se SOPORTE deshacer, será mejor que haga una copia de seguridad de los datos antes de aplicar este código.
Paso 1: abre el editor de módulos de VBA y copia el código
1. Active la hoja que desea utilizar. Y luego, presione Alt + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.
2. En la ventana abierta, haga clic en recuadro > Módulo para crear un nuevo módulo en blanco.
3. Luego, copie y pegue el siguiente código en el módulo en blanco.
Código VBA: dividir texto por 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: Ejecute el código para obtener el resultado
1. Después de pegar el código, presione F5 clave para ejecutar este código. Luego, aparecerá un cuadro emergente para recordarle que seleccione las celdas que contienen el texto delimitado que desea dividir, vea la captura de pantalla:
2. Luego, haga clic en OK, aparece otro cuadro emergente para recordarle que escriba el separador en el que desea dividir los datos. Aquí, escribo una coma y un espacio (,), mira la captura de pantalla:
3. Por fin, haga clic en OK botón. Ahora, verá que las cadenas de texto seleccionadas se dividen en filas según la coma y otros datos de columnas relativas se repiten como se muestra a continuación:
Dividir texto separado por salto de línea
Si el contenido de su celda está separado por saltos de línea, para dividirlos en varias filas, aquí hay otro código VBA que puede ayudarlo.
Note: este código no se SOPORTE deshacer será mejor que haga una copia de seguridad de los datos antes de aplicar este código.
Paso 1: abre el editor de módulos de VBA y copia el código
1. Prensa Alt + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.
2. En la ventana abierta, haga clic en recuadro > Módulo para crear un nuevo módulo en blanco.
3. Luego, copie y pegue el siguiente código en el módulo en blanco.
Código de 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: Ejecute el código para obtener el resultado
1. Después de pegar el código, presione F5 clave para ejecutar este código. En el cuadro emergente, seleccione las celdas que desea dividir, vea la captura de pantalla:
2. Luego, haga clic en OK botón, los datos en las celdas seleccionadas se dividen en filas como se muestra a continuación:
Método B: 10s para dividir texto delimitado en varias filas por Kutools para Excel
Si tienes instalado Kutools for Excel, Con su Dividir datos en filas característica, puede dividir las cadenas de texto en varias filas por cualquier delimitador que haya especificado. Por favor hazlo con los siguientes pasos:
Paso 1: seleccione la función Dividir datos en filas
Haga clic Kutools > Fusionar y dividir > Dividir datos en filas, ver captura de pantalla:
Paso 2: especifique las celdas de datos y el delimitador para dividir
En el cuadro de diálogo emergente, use las siguientes opciones:
- 1). Seleccione la lista de celdas que desea dividir de la Rango (columna única) caja de texto;
- 2). Luego, elija el delimitador que separa sus datos, aquí elegiré Otro y escriba una coma y un espacio (, ) en el cuadro de texto;
- 3). Por último, haz clic OK del botón.
Ahora, las celdas seleccionadas con cadenas de texto delimitadas se han convertido en varias filas según el separador específico, vea la captura de pantalla:
Tips: Si desea restaurar los datos originales, solo necesita presionar Ctrl + Z para deshacer.
¿Fácil de usar? Interesado en esta característica, por favor haga clic para descargar para obtener una prueba gratuita durante 30 días.
Método C: dividir el texto delimitado en varias filas Power Query
Si está ejecutando Office 365 o Excel 2016 y versiones posteriores, Power Query es una poderosa herramienta que puede ayudarlo a dividir texto delimitado en varias filas o columnas. Es útil si desea que los datos divididos se actualicen cuando cambien los datos originales. Por favor, siga los siguientes pasos para terminarlo:
Paso 1: ingrese la tabla de datos Power Query
1. Seleccione el rango de datos que desea usar, luego haga clic en Datos > De la mesa, ver captura de pantalla:
Tips: en Excel 2019 y Office 365, haga clic en Datos > Desde tabla/rango.
2. En el emergente Crear mesa cuadro de diálogo, haga clic en OK botón para crear una tabla, ver captura de pantalla:
3. Ahora el Power Query Editora se muestra una ventana con los datos, ver captura de pantalla:
Paso 2: Haz las transformaciones en Power Query
1. Seleccione la columna que desea dividir. Y luego, haga clic Inicio > Columna dividida > Por delimitador, ver captura de pantalla:
2. En el Dividir columna por delimitador caja de diálogo:
Para dividir las cadenas de texto por coma, espacio, punto y coma, etc., haga lo siguiente:
- 1). Elija el delimitador que separa sus datos del Seleccionar o introducir delimitador la lista desplegable;
- 2). Seleccione Cada aparición del delimitador del desplegable Dividir en sección;
- 3). Luego, haga clic en Opciones avanzadas para expandir la sección y seleccione filas bajo el Dividido en;
- 4). Por último, haz clic OK para cerrar este cuadro de diálogo.
Para dividir cadenas de texto en varias filas por ruptura de enlace, haga lo siguiente:
- 1). Escoger Personalizado del desplegable Seleccionar o introducir delimitador la lista desplegable;
- 2). Desde el Insertar caracteres especiales desplegable, haga clic en Linea de alimentación, y los personajes #(si) se insertará en el cuadro de texto debajo del Personalizado automáticamente;
- 3). Seleccione Cada aparición del delimitador de la sección Split at;
- 4). Luego, haga clic en Opciones avanzadas para expandir la sección y seleccione filas bajo el Dividido en;
- 5). Por último, haz clic OK para cerrar este cuadro de diálogo.
3. Ahora, los datos seleccionados se han dividido en varias filas como se muestra a continuación:
Paso 3: salida del Power Query a una tabla de Excel
1. Y luego, debe enviar los datos a su hoja de trabajo. Por favor haz click Inicio > Cerrar y cargar > Cerrar y cargar / Cerrar y cargar a, (aquí, haré clic Cerrar y cargar), vea la captura de pantalla:
Tips: Haga clic Cerrar y cargar enviará los datos a una nueva hoja de trabajo; Hacer clic Cerrar y cargar a opción, los datos se enviarán a cualquier otra hoja que necesite.
2. Finalmente, los datos se cargarán en una nueva hoja de trabajo, vea la captura de pantalla:
Tips: Si necesita actualizar sus datos en la tabla original con frecuencia, no se preocupe, solo tiene que hacer clic derecho en la tabla de resultados y hacer clic en Refrescar para obtener el nuevo resultado dinámicamente.
Artículos relacionados:
- Divida los valores de las celdas en varias columnas
- En Excel, cuando desea dividir una lista de valores de celda en varias columnas por ciertos delimitadores, como coma, espacio, punto, nueva línea, etc., normalmente, la función incorporada Texto a columnas puede ayudarlo a terminar este paso de trabajo Por paso. En este artículo, hablaré sobre algunos buenos trucos para dividir los valores de las celdas en varias columnas o filas de manera fácil y rápida.
- Dividir una celda en varias filas o columnas
- Supongamos que tiene una sola celda que contiene varios contenidos separados por un carácter específico, por ejemplo, punto y coma, y luego desea dividir esta celda larga en varias filas o columnas según el punto y coma, en este caso, ¿tiene alguna forma rápida resolverlo en Excel?
- Dividir cadena de texto por mayúsculas y minúsculas
- En Excel, generalmente dividimos el texto por ancho fijo o delimitador con la función Texto a columnas, pero ¿alguna vez ha intentado dividir el texto en mayúsculas y minúsculas? Por ejemplo, tiene una lista de datos y debe dividirlos en dos columnas según el caso: una columna contiene una cadena en minúsculas y la otra contiene una cadena en mayúsculas como se muestra a continuación. La función Text to Columns no admite esta operación, sin embargo, puedo introducir trucos para dividir rápidamente cadenas de texto por caso en Excel.
- Dividir el número en dígitos individuales
- Suponiendo que necesita dividir o dividir el número en dígitos individuales como se muestra a continuación, ¿qué puede hacer para lograrlo? Este artículo le proporcionará dos métodos.
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
Tabla de contenidos.
- Vídeo: dividir cadenas de texto por delimitador
- Método A: por código VBA
- Texto separado por coma, espacio, punto y coma, etc.
- Texto separado por salto de línea
- Método B: 10s por Kutools para Excel
- Método C: Por Power Query
- Artículos Relacionados
- Las mejores herramientas de productividad de oficina
- Comentarios