Hogyan lehet összefűzni a sorokat egy cellába az Excel csoportja alapján?
Itt van két oszlop tartománya, az egyik az osztálylista, a másik pedig a diáknevek listája. Mint látja, néhány diák ugyanabban az osztályban van, van, aki nem. Most az ugyanazon osztály tanulóit szeretném összefűzni egy cellába, ahogy az alábbi képernyőképen látható. Hogyan tudom ezt gyorsan kezelni az Excelben?
Csoportosítsa és összefűzze képletekkel és a Szűrő funkcióval
Csoportosítsa és összefűzze a VBA kódot
Csoportosítsa és összefűzze az Advanced Combine Row-kat
Csoportosítsa és összefűzze képletekkel és a Szűrő funkcióval
Az Excelben képleteket alkalmazhat összefűzött sorokra egy oszlop alapján, majd a Szűrő funkcióval csak az eredményt jelenítheti meg.
Megjegyzések: A lépések végrehajtása előtt osztályozása szerint kell rendezni adatait.
1. Írja be ezt a képletet az adattartomány melletti üres cellába, például C13 =IF(A13=A12,C12&", "&B13,B13), nyomja meg Enter gombot, és töltse ki a képletet cellákra húzó kitöltő fogantyúval.
A képletben az A13 az első osztály az „Osztály” oszlopban, a B13 az első adat a „Név” oszlopban, a „,” az elválasztó az összefűzés tartalmának elhatárolására.
2. Ezután a következő D13 oszlopba írja be ezt a képletet =IF(A13<>A14,"Last","") , és húzza lefelé a kitöltő fogantyút, hogy a képletet alkalmazza a szükséges cellákra.
3. Most válassza ki az összes adattartományt, beleértve a képleteket, és kattintson dátum > Filter hozzáadni Filter icons az adatokhoz.
4. Kattintson a Filter icon az utolsó képletfejlécben ellenőrizze Last jelölőnégyzetet csak a legördülő listából, és kattintson a gombra OK.
Most az eredmény az alábbiak szerint jelenik meg, eltávolíthatja az utolsó segítő oszlopot, ha soha nincs szüksége rá.
Csoportosítsa és összefűzze a VBA kódot
Itt van egy VBA kód, amely szintén képes kezelni ezt a munkát.
1. nyomja meg Alt + F11 gombok a Microsoft Visual Basic for Applications ablak.
2. Ezután az ablakban kattintson a gombra Tools > References engedélyezni References párbeszédpanelt, és ellenőrizze Microsoft Scripting Runtime. Lásd a képernyőképet:
3. kettyenés OK, és kattintson a gombra Insert > Module a VBA ablakban, és másolja és illessze be a VBA kód alá a Module forgatókönyv. Lásd a képernyőképet:
VBA: A sorok összefűzése egy cellába csoport alapján
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. nyomja meg F5 gombot, és a felbukkanó párbeszédpanelen válassza ki a használt adattartományt.
5. kettyenés OK hogy kiválassza a kulcsoszlopot, amely alapján csoportosítani szeretne.
6. kettyenés OK, most az eredmény az alábbiak szerint jelenik meg:
Csoportosítsa és összefűzze az Advanced Combine Row-kat
Itt van egy segédprogram Kutools az Excel számára, Advanced Combine Sorok, amely egyesítheti a sorokat, vagy számításokat végezhet az Excel egyik kulcsoszlopa alapján.
Kutools az Excel számára, Több mint 300 a praktikus funkciók megkönnyítik a munkáját. |
Telepítése után Kutools for Excel, kérjük, tegye a következőket:(Töltse le ingyen a Kutools for Excel programot most!)
1. Válassza ki a használt adattartományt, majd kattintson a gombra Kutools > Egyesítés és felosztás > Haladó kombinált sorok.
2. Ban,-ben Advanced Combine Rows ablakban válassza ki azt az oszlopot, amely alapján össze akarja vonni a sorokat, majd kattintson a Primary Key hogy kulcsoszlopként állítsa be.
3. Válassza ki az összekapcsolandó oszlopot, kattintson a gombra Combine, és válasszon egy elválasztót, amelyet az egyesített tartalmak elválasztásához használ.
4. kettyenés Ok. Az eredmény a következő:
Megjegyzések: A segédprogram alkalmazása előtt jobb, ha rendelkezik az eredeti adatok másolatával.
Demó
A legjobb irodai hatékonyságnövelő eszközök
Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz. Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...
Az Office lap füles felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját
- Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
- Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
- 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!