Hoe rijen samen te voegen tot één cel op basis van een groep in Excel?
Hier is een reeks van twee kolommen: de ene is de klassenlijst en de andere is de lijst met leerlingnamen. Zoals u ziet, zitten sommige studenten in dezelfde klas, andere niet. Nu wil ik de studenten in dezelfde klas in één cel samenvoegen, zoals onderstaand screenshot laat zien, hoe kan ik dit snel in Excel afhandelen?
Groeperen en samenvoegen met formules en filterfunctie
Groepeer en voeg samen met VBA-code
Groepeer en voeg samen met Advanced Combine Rows
Groeperen en samenvoegen met formules en filterfunctie
In Excel kunt u formules toepassen op aaneengeschakelde rijen op basis van één kolom en vervolgens de filterfunctie gebruiken om alleen het resultaat weer te geven.
Note: U moet uw gegevens sorteren op klas voordat u de stappen volgt.
1. Typ deze formule in een lege cel naast het gegevensbereik, bijvoorbeeld C13 =IF(A13=A12,C12&", "&B13,B13), druk op Enter toets en vul de formule in cellen met de slepende vulgreep.
In de formule is A13 de eerste gegevens in de kolom "Klasse", B13 is de eerste gegevens in de kolom "Naam", "," is het scheidingsteken om de samengevoegde inhoud af te bakenen.
2. Typ deze formule vervolgens in de volgende kolom, D13 =IF(A13<>A14,"Last","") en sleep de vulgreep omlaag om de formule toe te passen op de cellen die u nodig hebt.
3. Selecteer nu alle gegevensreeksen inclusief formules en klik op Data > Filter toevoegen Filter icons naar de gegevens.
4. Klik op het Filter icon controleer in de laatste formulekop Last selectievakje alleen in de vervolgkeuzelijst en klik op OK.
Nu wordt het resultaat weergegeven zoals hieronder, u kunt de laatste hulpkolom verwijderen als u deze nooit nodig heeft.
Groepeer en voeg samen met VBA-code
Hier is een VBA-code die deze taak ook aankan.
1. druk op Alt + F11 toetsen om het Microsoft Visual Basic for Applications venster.
2. Klik vervolgens in het venster op Tools > References in staat te stellen References dialoogvenster en vink aan Microsoft Scripting Runtime. Zie screenshot:
3. klikken OKen klik Insert > Module in VBA-venster en kopieer en plak onder VBA-code naar het Module script. Zie screenshot:
VBA: rijen samenvoegen tot één cel op basis van groep
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. druk op F5 en selecteer het gegevensbereik dat u gebruikt in het popping-dialoogvenster.
5. klikken OK om de sleutelkolom te selecteren waarop u wilt groeperen.
6. klikken OK, nu wordt het resultaat weergegeven zoals hieronder:
Groepeer en voeg samen met Advanced Combine Rows
Hier is een hulpprogramma in Kutools for Excel, Advanced Combine Rijen, waarmee rijen kunnen worden gecombineerd of berekeningen kunnen worden uitgevoerd op basis van een sleutelkolom in Excel.
Kutools for Excel, met meer dan 300 handige functies, maakt uw werk eenvoudiger. |
Na het installeren van Kutools voor Excel, doe het als volgt:(Download nu Kutools voor Excel!)
1. Selecteer het gegevensbereik dat u gebruikt en klik Kutools > Samenvoegen en splitsen > Geavanceerd Combineer rijen.
2. In de Advanced Combine Rows venster, kies de kolom waarop u rijen wilt combineren op basis van en klik op Primary Key om deze in te stellen als sleutelkolom.
3. Selecteer de kolom die u wilt combineren en klik Combineen kies een scheidingsteken dat u gebruikt om de gecombineerde inhoud te scheiden.
4. klikken Ok. Het resultaat wordt als volgt weergegeven:
Note: Voordat u het hulpprogramma toepast, kunt u het beste een kopie van de originele gegevens hebben.
Demo
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!