¿Cómo concatenar filas en una celda según el grupo en Excel?
Aquí hay un rango de dos columnas, una es la lista de clases y la otra es la lista de nombres de estudiantes. Como puede ver, algunos estudiantes están en la misma clase, otros no. Ahora quiero concatenar a los estudiantes de la misma clase en una celda como se muestra a continuación, ¿cómo puedo manejarlo rápidamente en Excel?
Agrupar y concatenar con fórmulas y función de filtro
Agrupar y concatenar con código VBA
Agrupar y concatenar con filas combinadas avanzadas
Agrupar y concatenar con fórmulas y función de filtro
En Excel, puede aplicar fórmulas a filas concatenadas basadas en una columna y luego usar la función Filtro para mostrar solo el resultado.
Note: Debe ordenar sus datos por clase antes de seguir los pasos.
1. En una celda en blanco junto al rango de datos, por ejemplo, C13, escriba esta fórmula =IF(A13=A12,C12&", "&B13,B13), prensa Enter y llene la fórmula en las celdas arrastrando el controlador de relleno.
En la fórmula, A13 son los primeros datos en la columna "Clase", B13 son los primeros datos en la columna "Nombre", "," es el separador para delimitar los contenidos concatenados.
2. Luego, en la siguiente columna, D13, escriba esta fórmula =IF(A13<>A14,"Last","") y arrastre el controlador de relleno hacia abajo para aplicar la fórmula a las celdas que necesite.
3. Ahora seleccione todo el rango de datos, incluidas las fórmulas, y haga clic en Datos > Filter añadir Filter icons a los datos.
4. Haga clic en el Filter icon en el último encabezado de fórmula, verifique Last casilla de verificación solo en la lista desplegable y haga clic en OK.
Ahora el resultado se muestra a continuación, puede eliminar la última columna de ayuda si no la necesita nunca.
Agrupar y concatenar con código VBA
Aquí hay un código VBA que también puede manejar este trabajo.
1. Prensa Alt + F11 claves para habilitar el Microsoft Visual Basic for Applications ventana.
2. Luego, en la ventana, haga clic en Tools > References para permitir References diálogo y comprobar Microsoft Scripting Runtime. Ver captura de pantalla:
3. Hacer clic en OKY haga clic en Insert > Module en la ventana de VBA, y copie y pegue debajo del código de VBA en el Module guión. Ver captura de pantalla:
VBA: concatenar filas en una celda según el grupo
Sub ConcatenateCellsIfSameValues()
'UpdatebyExtendoffice20180201
Dim I As Long
Dim J As Long
Dim xRg As Range
Dim xRgKey As Range
Dim xRgVal As Range
Dim xStr As String
Dim xDic As New Dictionary
On Error Resume Next
Set xRg = Application.InputBox("Select data range", "KuTools for Excel", Selection.Address, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xRgKey = Application.InputBox("Select key column", "KuTools for Excel", xRg.Columns(1).Address, , , , , 8)
If xRgKey Is Nothing Then
MsgBox "Key column cannot be empty", vbInformation, "KuTools for Excel"
End If
Set xRgVal = xRg(1).Offset(, 1).Resize(xRg.Rows.Count, xRg.Columns.Count - 1)
For I = 1 To xRgKey.Count
If I > xRgKey.Count Then Exit For
xStr = ""
For J = 1 To xRgVal.Columns.Count
xStr = xStr & " " & xRgVal(I, J)
Next
If xDic.Exists(xRgKey(I).Text) Then
xDic(xRgKey(I).Text) = xDic(xRgKey(I).Text) & xStr
xRgKey(I).EntireRow.Delete
I = I - 1
Else
xDic.Add xRgKey(I).Text, xStr
End If
Next
For I = 1 To xRgVal.Count
xRgVal(I).Value = xDic(xRgKey(I).Text)
Next
End Sub
4. Prensa F5 y seleccione el rango de datos que utiliza en el cuadro de diálogo emergente.
5. Hacer clic en OK para seleccionar la columna clave en función de la cual desea agrupar.
6. Hacer clic en OK, ahora el resultado se muestra a continuación:
Agrupar y concatenar con filas combinadas avanzadas
Aquí hay una utilidad en Kutools for Excel, Advanced Combine filas, que puede combinar filas o realizar cálculos basados en una columna clave en Excel.
Kutools for Excel, con más de 300 funciones prácticas, facilita su trabajo. |
Después de instalar Kutools para Excel, haga lo siguiente:(¡Descarga gratis Kutools para Excel ahora!)
1. Seleccione el rango de datos que utiliza y haga clic Kutools > Fusionar y dividir > Filas combinadas avanzadas.
2. En el Advanced Combine Rows ventana, elija la columna en la que desea combinar filas y haga clic en Primary Key para configurarlo como columna clave.
3. Seleccione la columna que necesita combinar, haga clic Combiney elija un delimitador que utilice para separar los contenidos combinados.
4. Hacer clic en Ok. El resultado se muestra así:
Note: Antes de aplicar la utilidad, será mejor que tenga una copia de los datos originales.
De demostración
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!