Hur sammanfogar du rader till en cell baserat på grupp i Excel?
Här är ett intervall med två kolumner, en är klasslistan och den andra är studentnamnlistan. Som ni ser är vissa elever i samma klass, andra inte. Nu vill jag sammanfoga eleverna i samma klass till en cell som visas nedan, hur kan jag snabbt hantera det i Excel?
Gruppera och sammanfoga med formler och filterfunktion
Gruppera och sammanfoga med VBA-kod
Gruppera och sammanfoga med Advanced Combine Rows
Gruppera och sammanfoga med formler och filterfunktion
I Excel kan du tillämpa formler på sammanhängande rader baserat på en kolumn och sedan använda filterfunktionen för att endast visa resultatet.
Anmärkningar: Du måste sortera dina data efter klassen innan du följer stegen.
1. Skriv en formel i en tom cell bredvid dataområdet, till exempel C13 =IF(A13=A12,C12&", "&B13,B13), Tryck Enter -knappen och fyll i formeln till celler med att dra fyllningshanteringen.
I formeln är A13 de första uppgifterna i kolumnen "Klass", B13 är den första informationen i kolumnen "Namn", "," är avgränsaren för att avgränsa sammanhängande innehåll.
2. Skriv sedan denna formel i nästa kolumn, D13 =IF(A13<>A14,"Last","") och dra ner fyllningshandtaget för att tillämpa formeln på celler du behöver.
3. Välj nu alla dataintervall inklusive formler och klicka Data > Filter att lägga Filter icons till uppgifterna.
4. Klicka på Filter icon i sista formelhuvudet, kontrollera Last kryssrutan endast från listrutan och klicka OK.
Nu visas resultatet som nedan, du kan ta bort den sista hjälpkolumnen om du inte behöver det någonsin.
Gruppera och sammanfoga med VBA-kod
Här är en VBA-kod som också kan hantera detta jobb.
1. Tryck Alt + F11 för att aktivera Microsoft Visual Basic for Applications fönster.
2. Klicka sedan på i fönstret Tools > References att möjliggöra References dialogrutan och kontrollera Microsoft Scripting Runtime. Se skärmdump:
3. klick OK, och klicka Insert > Module i VBA-fönstret och kopiera och klistra in under VBA-koden till Module manus. Se skärmdump:
VBA: Sammanfoga rader i en cell baserat på grupp
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. Tryck F5 och välj det dataintervall du använder i popup-dialogrutan.
5. klick OK för att välja nyckelkolumnen du vill gruppera baserat på.
6. klick OK, nu visas resultatet som nedan:
Gruppera och sammanfoga med Advanced Combine Rows
Här finns ett verktyg i Kutools för Excel, Advanced Combine rader, som kan kombinera rader eller göra beräkningar baserat på en nyckelkolumn i Excel.
När du har installerat Kutools för Excel, gör så här:(Gratis nedladdning Kutools för Excel nu!)
1. Välj det dataintervall du använder och klicka Kutools > Slå ihop och dela > Avancerade kombinera rader.
2. I Advanced Combine Rows fönster, välj den kolumn som du vill kombinera rader baserat på och klicka Primary Key för att ställa in den som nyckelkolumn.
3. Välj den kolumn du vill kombinera, klicka Combine, och välj en avgränsare du använder för att separera det kombinerade innehållet.
4. klick Ok. Resultatet visas så här:
Anmärkningar: Innan du använder verktyget bör du ha en kopia av originaldata.
demo
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!